From 1d4a64fa6df138e77bce4e5d8cde8ca1389a02e5 Mon Sep 17 00:00:00 2001 From: Nick Johnson Date: Wed, 12 Feb 2020 11:30:26 +1300 Subject: [PATCH] Update with ENS address [ci skip] --- .bootstraprc | 106 - .gitattributes | 1 - .npmignore | 1 - .soliumignore | 1 - .soliumrc.json | 9 - .travis.yml | 20 - ...ng => 4f666bb87dc00f514a1c6bebc31ddbfe.png | Bin CNAME | 1 + LICENSE | 25 - README.md | 92 - app.js | 67287 ++++++++++++++++ app/css/app.css | 33 - app/index.html | 201 - app/js/app.js | 209 - app/js/domains.json | 44 - app/open-iconic/.gitignore | 1 - app/open-iconic/FONT-LICENSE | 86 - app/open-iconic/ICON-LICENSE | 21 - app/open-iconic/README.md | 114 - app/open-iconic/bower.json | 21 - .../font/css/open-iconic-bootstrap.css | 952 - .../font/css/open-iconic-bootstrap.less | 960 - .../font/css/open-iconic-bootstrap.min.css | 1 - .../font/css/open-iconic-bootstrap.scss | 958 - .../font/css/open-iconic-bootstrap.styl | 954 - .../font/css/open-iconic-foundation.css | 1395 - .../font/css/open-iconic-foundation.less | 1397 - .../font/css/open-iconic-foundation.min.css | 1 - .../font/css/open-iconic-foundation.scss | 1398 - .../font/css/open-iconic-foundation.styl | 1392 - app/open-iconic/font/css/open-iconic.css | 511 - app/open-iconic/font/css/open-iconic.less | 962 - app/open-iconic/font/css/open-iconic.min.css | 1 - app/open-iconic/font/css/open-iconic.scss | 963 - app/open-iconic/font/css/open-iconic.styl | 733 - app/open-iconic/package.json | 36 - app/open-iconic/png/account-login-2x.png | Bin 191 -> 0 bytes app/open-iconic/png/account-login-3x.png | Bin 217 -> 0 bytes app/open-iconic/png/account-login-4x.png | Bin 246 -> 0 bytes app/open-iconic/png/account-login-6x.png | Bin 310 -> 0 bytes app/open-iconic/png/account-login-8x.png | Bin 391 -> 0 bytes app/open-iconic/png/account-login.png | Bin 140 -> 0 bytes app/open-iconic/png/account-logout-2x.png | Bin 186 -> 0 bytes app/open-iconic/png/account-logout-3x.png | Bin 211 -> 0 bytes app/open-iconic/png/account-logout-4x.png | Bin 234 -> 0 bytes app/open-iconic/png/account-logout-6x.png | Bin 296 -> 0 bytes app/open-iconic/png/account-logout-8x.png | Bin 378 -> 0 bytes app/open-iconic/png/account-logout.png | Bin 140 -> 0 bytes app/open-iconic/png/action-redo-2x.png | Bin 247 -> 0 bytes app/open-iconic/png/action-redo-3x.png | Bin 338 -> 0 bytes app/open-iconic/png/action-redo-4x.png | Bin 417 -> 0 bytes app/open-iconic/png/action-redo-6x.png | Bin 582 -> 0 bytes app/open-iconic/png/action-redo-8x.png | Bin 779 -> 0 bytes app/open-iconic/png/action-redo.png | Bin 180 -> 0 bytes app/open-iconic/png/action-undo-2x.png | Bin 238 -> 0 bytes app/open-iconic/png/action-undo-3x.png | Bin 322 -> 0 bytes app/open-iconic/png/action-undo-4x.png | Bin 414 -> 0 bytes app/open-iconic/png/action-undo-6x.png | Bin 572 -> 0 bytes app/open-iconic/png/action-undo-8x.png | Bin 760 -> 0 bytes app/open-iconic/png/action-undo.png | Bin 173 -> 0 bytes app/open-iconic/png/align-center-2x.png | Bin 134 -> 0 bytes app/open-iconic/png/align-center-3x.png | Bin 147 -> 0 bytes app/open-iconic/png/align-center-4x.png | Bin 154 -> 0 bytes app/open-iconic/png/align-center-6x.png | Bin 179 -> 0 bytes app/open-iconic/png/align-center-8x.png | Bin 218 -> 0 bytes app/open-iconic/png/align-center.png | Bin 123 -> 0 bytes app/open-iconic/png/align-left-2x.png | Bin 134 -> 0 bytes app/open-iconic/png/align-left-3x.png | Bin 148 -> 0 bytes app/open-iconic/png/align-left-4x.png | Bin 154 -> 0 bytes app/open-iconic/png/align-left-6x.png | Bin 179 -> 0 bytes app/open-iconic/png/align-left-8x.png | Bin 214 -> 0 bytes app/open-iconic/png/align-left.png | Bin 119 -> 0 bytes app/open-iconic/png/align-right-2x.png | Bin 132 -> 0 bytes app/open-iconic/png/align-right-3x.png | Bin 145 -> 0 bytes app/open-iconic/png/align-right-4x.png | Bin 152 -> 0 bytes app/open-iconic/png/align-right-6x.png | Bin 175 -> 0 bytes app/open-iconic/png/align-right-8x.png | Bin 212 -> 0 bytes app/open-iconic/png/align-right.png | Bin 119 -> 0 bytes app/open-iconic/png/aperture-2x.png | Bin 405 -> 0 bytes app/open-iconic/png/aperture-3x.png | Bin 556 -> 0 bytes app/open-iconic/png/aperture-4x.png | Bin 723 -> 0 bytes app/open-iconic/png/aperture-6x.png | Bin 1076 -> 0 bytes app/open-iconic/png/aperture-8x.png | Bin 1412 -> 0 bytes app/open-iconic/png/aperture.png | Bin 219 -> 0 bytes app/open-iconic/png/arrow-bottom-2x.png | Bin 215 -> 0 bytes app/open-iconic/png/arrow-bottom-3x.png | Bin 256 -> 0 bytes app/open-iconic/png/arrow-bottom-4x.png | Bin 297 -> 0 bytes app/open-iconic/png/arrow-bottom-6x.png | Bin 407 -> 0 bytes app/open-iconic/png/arrow-bottom-8x.png | Bin 524 -> 0 bytes app/open-iconic/png/arrow-bottom.png | Bin 149 -> 0 bytes .../png/arrow-circle-bottom-2x.png | Bin 301 -> 0 bytes .../png/arrow-circle-bottom-3x.png | Bin 430 -> 0 bytes .../png/arrow-circle-bottom-4x.png | Bin 547 -> 0 bytes .../png/arrow-circle-bottom-6x.png | Bin 780 -> 0 bytes .../png/arrow-circle-bottom-8x.png | Bin 1033 -> 0 bytes app/open-iconic/png/arrow-circle-bottom.png | Bin 190 -> 0 bytes app/open-iconic/png/arrow-circle-left-2x.png | Bin 275 -> 0 bytes app/open-iconic/png/arrow-circle-left-3x.png | Bin 395 -> 0 bytes app/open-iconic/png/arrow-circle-left-4x.png | Bin 503 -> 0 bytes app/open-iconic/png/arrow-circle-left-6x.png | Bin 743 -> 0 bytes app/open-iconic/png/arrow-circle-left-8x.png | Bin 992 -> 0 bytes app/open-iconic/png/arrow-circle-left.png | Bin 181 -> 0 bytes app/open-iconic/png/arrow-circle-right-2x.png | Bin 277 -> 0 bytes app/open-iconic/png/arrow-circle-right-3x.png | Bin 394 -> 0 bytes app/open-iconic/png/arrow-circle-right-4x.png | Bin 506 -> 0 bytes app/open-iconic/png/arrow-circle-right-6x.png | Bin 743 -> 0 bytes app/open-iconic/png/arrow-circle-right-8x.png | Bin 985 -> 0 bytes app/open-iconic/png/arrow-circle-right.png | Bin 182 -> 0 bytes app/open-iconic/png/arrow-circle-top-2x.png | Bin 286 -> 0 bytes app/open-iconic/png/arrow-circle-top-3x.png | Bin 394 -> 0 bytes app/open-iconic/png/arrow-circle-top-4x.png | Bin 516 -> 0 bytes app/open-iconic/png/arrow-circle-top-6x.png | Bin 758 -> 0 bytes app/open-iconic/png/arrow-circle-top-8x.png | Bin 1015 -> 0 bytes app/open-iconic/png/arrow-circle-top.png | Bin 189 -> 0 bytes app/open-iconic/png/arrow-left-2x.png | Bin 199 -> 0 bytes app/open-iconic/png/arrow-left-3x.png | Bin 235 -> 0 bytes app/open-iconic/png/arrow-left-4x.png | Bin 282 -> 0 bytes app/open-iconic/png/arrow-left-6x.png | Bin 370 -> 0 bytes app/open-iconic/png/arrow-left-8x.png | Bin 467 -> 0 bytes app/open-iconic/png/arrow-left.png | Bin 145 -> 0 bytes app/open-iconic/png/arrow-right-2x.png | Bin 199 -> 0 bytes app/open-iconic/png/arrow-right-3x.png | Bin 239 -> 0 bytes app/open-iconic/png/arrow-right-4x.png | Bin 286 -> 0 bytes app/open-iconic/png/arrow-right-6x.png | Bin 415 -> 0 bytes app/open-iconic/png/arrow-right-8x.png | Bin 522 -> 0 bytes app/open-iconic/png/arrow-right.png | Bin 147 -> 0 bytes app/open-iconic/png/arrow-thick-bottom-2x.png | Bin 176 -> 0 bytes app/open-iconic/png/arrow-thick-bottom-3x.png | Bin 213 -> 0 bytes app/open-iconic/png/arrow-thick-bottom-4x.png | Bin 253 -> 0 bytes app/open-iconic/png/arrow-thick-bottom-6x.png | Bin 353 -> 0 bytes app/open-iconic/png/arrow-thick-bottom-8x.png | Bin 485 -> 0 bytes app/open-iconic/png/arrow-thick-bottom.png | Bin 142 -> 0 bytes app/open-iconic/png/arrow-thick-left-2x.png | Bin 178 -> 0 bytes app/open-iconic/png/arrow-thick-left-3x.png | Bin 212 -> 0 bytes app/open-iconic/png/arrow-thick-left-4x.png | Bin 244 -> 0 bytes app/open-iconic/png/arrow-thick-left-6x.png | Bin 344 -> 0 bytes app/open-iconic/png/arrow-thick-left-8x.png | Bin 444 -> 0 bytes app/open-iconic/png/arrow-thick-left.png | Bin 138 -> 0 bytes app/open-iconic/png/arrow-thick-right-2x.png | Bin 187 -> 0 bytes app/open-iconic/png/arrow-thick-right-3x.png | Bin 216 -> 0 bytes app/open-iconic/png/arrow-thick-right-4x.png | Bin 266 -> 0 bytes app/open-iconic/png/arrow-thick-right-6x.png | Bin 398 -> 0 bytes app/open-iconic/png/arrow-thick-right-8x.png | Bin 508 -> 0 bytes app/open-iconic/png/arrow-thick-right.png | Bin 143 -> 0 bytes app/open-iconic/png/arrow-thick-top-2x.png | Bin 183 -> 0 bytes app/open-iconic/png/arrow-thick-top-3x.png | Bin 215 -> 0 bytes app/open-iconic/png/arrow-thick-top-4x.png | Bin 253 -> 0 bytes app/open-iconic/png/arrow-thick-top-6x.png | Bin 372 -> 0 bytes app/open-iconic/png/arrow-thick-top-8x.png | Bin 518 -> 0 bytes app/open-iconic/png/arrow-thick-top.png | Bin 144 -> 0 bytes app/open-iconic/png/arrow-top-2x.png | Bin 205 -> 0 bytes app/open-iconic/png/arrow-top-3x.png | Bin 242 -> 0 bytes app/open-iconic/png/arrow-top-4x.png | Bin 292 -> 0 bytes app/open-iconic/png/arrow-top-6x.png | Bin 401 -> 0 bytes app/open-iconic/png/arrow-top-8x.png | Bin 545 -> 0 bytes app/open-iconic/png/arrow-top.png | Bin 155 -> 0 bytes app/open-iconic/png/audio-2x.png | Bin 341 -> 0 bytes app/open-iconic/png/audio-3x.png | Bin 493 -> 0 bytes app/open-iconic/png/audio-4x.png | Bin 628 -> 0 bytes app/open-iconic/png/audio-6x.png | Bin 893 -> 0 bytes app/open-iconic/png/audio-8x.png | Bin 1264 -> 0 bytes app/open-iconic/png/audio-spectrum-2x.png | Bin 160 -> 0 bytes app/open-iconic/png/audio-spectrum-3x.png | Bin 174 -> 0 bytes app/open-iconic/png/audio-spectrum-4x.png | Bin 192 -> 0 bytes app/open-iconic/png/audio-spectrum-6x.png | Bin 225 -> 0 bytes app/open-iconic/png/audio-spectrum-8x.png | Bin 293 -> 0 bytes app/open-iconic/png/audio-spectrum.png | Bin 132 -> 0 bytes app/open-iconic/png/audio.png | Bin 199 -> 0 bytes app/open-iconic/png/badge-2x.png | Bin 226 -> 0 bytes app/open-iconic/png/badge-3x.png | Bin 289 -> 0 bytes app/open-iconic/png/badge-4x.png | Bin 376 -> 0 bytes app/open-iconic/png/badge-6x.png | Bin 545 -> 0 bytes app/open-iconic/png/badge-8x.png | Bin 724 -> 0 bytes app/open-iconic/png/badge.png | Bin 169 -> 0 bytes app/open-iconic/png/ban-2x.png | Bin 357 -> 0 bytes app/open-iconic/png/ban-3x.png | Bin 509 -> 0 bytes app/open-iconic/png/ban-4x.png | Bin 687 -> 0 bytes app/open-iconic/png/ban-6x.png | Bin 991 -> 0 bytes app/open-iconic/png/ban-8x.png | Bin 1386 -> 0 bytes app/open-iconic/png/ban.png | Bin 210 -> 0 bytes app/open-iconic/png/bar-chart-2x.png | Bin 157 -> 0 bytes app/open-iconic/png/bar-chart-3x.png | Bin 165 -> 0 bytes app/open-iconic/png/bar-chart-4x.png | Bin 174 -> 0 bytes app/open-iconic/png/bar-chart-6x.png | Bin 207 -> 0 bytes app/open-iconic/png/bar-chart-8x.png | Bin 271 -> 0 bytes app/open-iconic/png/bar-chart.png | Bin 137 -> 0 bytes app/open-iconic/png/basket-2x.png | Bin 273 -> 0 bytes app/open-iconic/png/basket-3x.png | Bin 362 -> 0 bytes app/open-iconic/png/basket-4x.png | Bin 451 -> 0 bytes app/open-iconic/png/basket-6x.png | Bin 628 -> 0 bytes app/open-iconic/png/basket-8x.png | Bin 827 -> 0 bytes app/open-iconic/png/basket.png | Bin 181 -> 0 bytes app/open-iconic/png/battery-empty-2x.png | Bin 201 -> 0 bytes app/open-iconic/png/battery-empty-3x.png | Bin 219 -> 0 bytes app/open-iconic/png/battery-empty-4x.png | Bin 245 -> 0 bytes app/open-iconic/png/battery-empty-6x.png | Bin 281 -> 0 bytes app/open-iconic/png/battery-empty-8x.png | Bin 336 -> 0 bytes app/open-iconic/png/battery-empty.png | Bin 155 -> 0 bytes app/open-iconic/png/battery-full-2x.png | Bin 184 -> 0 bytes app/open-iconic/png/battery-full-3x.png | Bin 202 -> 0 bytes app/open-iconic/png/battery-full-4x.png | Bin 215 -> 0 bytes app/open-iconic/png/battery-full-6x.png | Bin 255 -> 0 bytes app/open-iconic/png/battery-full-8x.png | Bin 311 -> 0 bytes app/open-iconic/png/battery-full.png | Bin 156 -> 0 bytes app/open-iconic/png/beaker-2x.png | Bin 304 -> 0 bytes app/open-iconic/png/beaker-3x.png | Bin 393 -> 0 bytes app/open-iconic/png/beaker-4x.png | Bin 505 -> 0 bytes app/open-iconic/png/beaker-6x.png | Bin 713 -> 0 bytes app/open-iconic/png/beaker-8x.png | Bin 955 -> 0 bytes app/open-iconic/png/beaker.png | Bin 206 -> 0 bytes app/open-iconic/png/bell-2x.png | Bin 254 -> 0 bytes app/open-iconic/png/bell-3x.png | Bin 334 -> 0 bytes app/open-iconic/png/bell-4x.png | Bin 431 -> 0 bytes app/open-iconic/png/bell-6x.png | Bin 594 -> 0 bytes app/open-iconic/png/bell-8x.png | Bin 804 -> 0 bytes app/open-iconic/png/bell.png | Bin 176 -> 0 bytes app/open-iconic/png/bluetooth-2x.png | Bin 286 -> 0 bytes app/open-iconic/png/bluetooth-3x.png | Bin 423 -> 0 bytes app/open-iconic/png/bluetooth-4x.png | Bin 431 -> 0 bytes app/open-iconic/png/bluetooth-6x.png | Bin 636 -> 0 bytes app/open-iconic/png/bluetooth-8x.png | Bin 822 -> 0 bytes app/open-iconic/png/bluetooth.png | Bin 207 -> 0 bytes app/open-iconic/png/bold-2x.png | Bin 268 -> 0 bytes app/open-iconic/png/bold-3x.png | Bin 367 -> 0 bytes app/open-iconic/png/bold-4x.png | Bin 443 -> 0 bytes app/open-iconic/png/bold-6x.png | Bin 661 -> 0 bytes app/open-iconic/png/bold-8x.png | Bin 892 -> 0 bytes app/open-iconic/png/bold.png | Bin 184 -> 0 bytes app/open-iconic/png/bolt-2x.png | Bin 204 -> 0 bytes app/open-iconic/png/bolt-3x.png | Bin 238 -> 0 bytes app/open-iconic/png/bolt-4x.png | Bin 275 -> 0 bytes app/open-iconic/png/bolt-6x.png | Bin 335 -> 0 bytes app/open-iconic/png/bolt-8x.png | Bin 420 -> 0 bytes app/open-iconic/png/bolt.png | Bin 163 -> 0 bytes app/open-iconic/png/book-2x.png | Bin 205 -> 0 bytes app/open-iconic/png/book-3x.png | Bin 260 -> 0 bytes app/open-iconic/png/book-4x.png | Bin 305 -> 0 bytes app/open-iconic/png/book-6x.png | Bin 425 -> 0 bytes app/open-iconic/png/book-8x.png | Bin 554 -> 0 bytes app/open-iconic/png/book.png | Bin 165 -> 0 bytes app/open-iconic/png/bookmark-2x.png | Bin 152 -> 0 bytes app/open-iconic/png/bookmark-3x.png | Bin 174 -> 0 bytes app/open-iconic/png/bookmark-4x.png | Bin 196 -> 0 bytes app/open-iconic/png/bookmark-6x.png | Bin 253 -> 0 bytes app/open-iconic/png/bookmark-8x.png | Bin 343 -> 0 bytes app/open-iconic/png/bookmark.png | Bin 131 -> 0 bytes app/open-iconic/png/box-2x.png | Bin 157 -> 0 bytes app/open-iconic/png/box-3x.png | Bin 170 -> 0 bytes app/open-iconic/png/box-4x.png | Bin 184 -> 0 bytes app/open-iconic/png/box-6x.png | Bin 216 -> 0 bytes app/open-iconic/png/box-8x.png | Bin 283 -> 0 bytes app/open-iconic/png/box.png | Bin 141 -> 0 bytes app/open-iconic/png/briefcase-2x.png | Bin 193 -> 0 bytes app/open-iconic/png/briefcase-3x.png | Bin 230 -> 0 bytes app/open-iconic/png/briefcase-4x.png | Bin 262 -> 0 bytes app/open-iconic/png/briefcase-6x.png | Bin 352 -> 0 bytes app/open-iconic/png/briefcase-8x.png | Bin 462 -> 0 bytes app/open-iconic/png/briefcase.png | Bin 151 -> 0 bytes app/open-iconic/png/british-pound-2x.png | Bin 275 -> 0 bytes app/open-iconic/png/british-pound-3x.png | Bin 359 -> 0 bytes app/open-iconic/png/british-pound-4x.png | Bin 462 -> 0 bytes app/open-iconic/png/british-pound-6x.png | Bin 675 -> 0 bytes app/open-iconic/png/british-pound-8x.png | Bin 861 -> 0 bytes app/open-iconic/png/british-pound.png | Bin 179 -> 0 bytes app/open-iconic/png/browser-2x.png | Bin 174 -> 0 bytes app/open-iconic/png/browser-3x.png | Bin 236 -> 0 bytes app/open-iconic/png/browser-4x.png | Bin 260 -> 0 bytes app/open-iconic/png/browser-6x.png | Bin 375 -> 0 bytes app/open-iconic/png/browser-8x.png | Bin 518 -> 0 bytes app/open-iconic/png/browser.png | Bin 150 -> 0 bytes app/open-iconic/png/brush-2x.png | Bin 316 -> 0 bytes app/open-iconic/png/brush-3x.png | Bin 398 -> 0 bytes app/open-iconic/png/brush-4x.png | Bin 513 -> 0 bytes app/open-iconic/png/brush-6x.png | Bin 758 -> 0 bytes app/open-iconic/png/brush-8x.png | Bin 975 -> 0 bytes app/open-iconic/png/brush.png | Bin 186 -> 0 bytes app/open-iconic/png/bug-2x.png | Bin 352 -> 0 bytes app/open-iconic/png/bug-3x.png | Bin 508 -> 0 bytes app/open-iconic/png/bug-4x.png | Bin 658 -> 0 bytes app/open-iconic/png/bug-6x.png | Bin 955 -> 0 bytes app/open-iconic/png/bug-8x.png | Bin 1275 -> 0 bytes app/open-iconic/png/bug.png | Bin 204 -> 0 bytes app/open-iconic/png/bullhorn-2x.png | Bin 253 -> 0 bytes app/open-iconic/png/bullhorn-3x.png | Bin 308 -> 0 bytes app/open-iconic/png/bullhorn-4x.png | Bin 387 -> 0 bytes app/open-iconic/png/bullhorn-6x.png | Bin 524 -> 0 bytes app/open-iconic/png/bullhorn-8x.png | Bin 683 -> 0 bytes app/open-iconic/png/bullhorn.png | Bin 175 -> 0 bytes app/open-iconic/png/calculator-2x.png | Bin 189 -> 0 bytes app/open-iconic/png/calculator-3x.png | Bin 205 -> 0 bytes app/open-iconic/png/calculator-4x.png | Bin 220 -> 0 bytes app/open-iconic/png/calculator-6x.png | Bin 260 -> 0 bytes app/open-iconic/png/calculator-8x.png | Bin 329 -> 0 bytes app/open-iconic/png/calculator.png | Bin 154 -> 0 bytes app/open-iconic/png/calendar-2x.png | Bin 176 -> 0 bytes app/open-iconic/png/calendar-3x.png | Bin 187 -> 0 bytes app/open-iconic/png/calendar-4x.png | Bin 204 -> 0 bytes app/open-iconic/png/calendar-6x.png | Bin 238 -> 0 bytes app/open-iconic/png/calendar-8x.png | Bin 299 -> 0 bytes app/open-iconic/png/calendar.png | Bin 145 -> 0 bytes app/open-iconic/png/camera-slr-2x.png | Bin 325 -> 0 bytes app/open-iconic/png/camera-slr-3x.png | Bin 424 -> 0 bytes app/open-iconic/png/camera-slr-4x.png | Bin 558 -> 0 bytes app/open-iconic/png/camera-slr-6x.png | Bin 844 -> 0 bytes app/open-iconic/png/camera-slr-8x.png | Bin 1134 -> 0 bytes app/open-iconic/png/camera-slr.png | Bin 195 -> 0 bytes app/open-iconic/png/caret-bottom-2x.png | Bin 152 -> 0 bytes app/open-iconic/png/caret-bottom-3x.png | Bin 172 -> 0 bytes app/open-iconic/png/caret-bottom-4x.png | Bin 191 -> 0 bytes app/open-iconic/png/caret-bottom-6x.png | Bin 232 -> 0 bytes app/open-iconic/png/caret-bottom-8x.png | Bin 270 -> 0 bytes app/open-iconic/png/caret-bottom.png | Bin 129 -> 0 bytes app/open-iconic/png/caret-left-2x.png | Bin 167 -> 0 bytes app/open-iconic/png/caret-left-3x.png | Bin 199 -> 0 bytes app/open-iconic/png/caret-left-4x.png | Bin 231 -> 0 bytes app/open-iconic/png/caret-left-6x.png | Bin 326 -> 0 bytes app/open-iconic/png/caret-left-8x.png | Bin 408 -> 0 bytes app/open-iconic/png/caret-left.png | Bin 135 -> 0 bytes app/open-iconic/png/caret-right-2x.png | Bin 169 -> 0 bytes app/open-iconic/png/caret-right-3x.png | Bin 199 -> 0 bytes app/open-iconic/png/caret-right-4x.png | Bin 234 -> 0 bytes app/open-iconic/png/caret-right-6x.png | Bin 283 -> 0 bytes app/open-iconic/png/caret-right-8x.png | Bin 337 -> 0 bytes app/open-iconic/png/caret-right.png | Bin 130 -> 0 bytes app/open-iconic/png/caret-top-2x.png | Bin 148 -> 0 bytes app/open-iconic/png/caret-top-3x.png | Bin 173 -> 0 bytes app/open-iconic/png/caret-top-4x.png | Bin 193 -> 0 bytes app/open-iconic/png/caret-top-6x.png | Bin 245 -> 0 bytes app/open-iconic/png/caret-top-8x.png | Bin 302 -> 0 bytes app/open-iconic/png/caret-top.png | Bin 126 -> 0 bytes app/open-iconic/png/cart-2x.png | Bin 215 -> 0 bytes app/open-iconic/png/cart-3x.png | Bin 277 -> 0 bytes app/open-iconic/png/cart-4x.png | Bin 336 -> 0 bytes app/open-iconic/png/cart-6x.png | Bin 479 -> 0 bytes app/open-iconic/png/cart-8x.png | Bin 632 -> 0 bytes app/open-iconic/png/cart.png | Bin 160 -> 0 bytes app/open-iconic/png/chat-2x.png | Bin 173 -> 0 bytes app/open-iconic/png/chat-3x.png | Bin 192 -> 0 bytes app/open-iconic/png/chat-4x.png | Bin 220 -> 0 bytes app/open-iconic/png/chat-6x.png | Bin 274 -> 0 bytes app/open-iconic/png/chat-8x.png | Bin 352 -> 0 bytes app/open-iconic/png/chat.png | Bin 141 -> 0 bytes app/open-iconic/png/check-2x.png | Bin 220 -> 0 bytes app/open-iconic/png/check-3x.png | Bin 257 -> 0 bytes app/open-iconic/png/check-4x.png | Bin 314 -> 0 bytes app/open-iconic/png/check-6x.png | Bin 430 -> 0 bytes app/open-iconic/png/check-8x.png | Bin 557 -> 0 bytes app/open-iconic/png/check.png | Bin 169 -> 0 bytes app/open-iconic/png/chevron-bottom-2x.png | Bin 175 -> 0 bytes app/open-iconic/png/chevron-bottom-3x.png | Bin 213 -> 0 bytes app/open-iconic/png/chevron-bottom-4x.png | Bin 238 -> 0 bytes app/open-iconic/png/chevron-bottom-6x.png | Bin 301 -> 0 bytes app/open-iconic/png/chevron-bottom-8x.png | Bin 372 -> 0 bytes app/open-iconic/png/chevron-bottom.png | Bin 153 -> 0 bytes app/open-iconic/png/chevron-left-2x.png | Bin 192 -> 0 bytes app/open-iconic/png/chevron-left-3x.png | Bin 211 -> 0 bytes app/open-iconic/png/chevron-left-4x.png | Bin 250 -> 0 bytes app/open-iconic/png/chevron-left-6x.png | Bin 351 -> 0 bytes app/open-iconic/png/chevron-left-8x.png | Bin 423 -> 0 bytes app/open-iconic/png/chevron-left.png | Bin 142 -> 0 bytes app/open-iconic/png/chevron-right-2x.png | Bin 192 -> 0 bytes app/open-iconic/png/chevron-right-3x.png | Bin 191 -> 0 bytes app/open-iconic/png/chevron-right-4x.png | Bin 248 -> 0 bytes app/open-iconic/png/chevron-right-6x.png | Bin 346 -> 0 bytes app/open-iconic/png/chevron-right-8x.png | Bin 419 -> 0 bytes app/open-iconic/png/chevron-right.png | Bin 142 -> 0 bytes app/open-iconic/png/chevron-top-2x.png | Bin 170 -> 0 bytes app/open-iconic/png/chevron-top-3x.png | Bin 204 -> 0 bytes app/open-iconic/png/chevron-top-4x.png | Bin 229 -> 0 bytes app/open-iconic/png/chevron-top-6x.png | Bin 306 -> 0 bytes app/open-iconic/png/chevron-top-8x.png | Bin 397 -> 0 bytes app/open-iconic/png/chevron-top.png | Bin 140 -> 0 bytes app/open-iconic/png/circle-check-2x.png | Bin 328 -> 0 bytes app/open-iconic/png/circle-check-3x.png | Bin 455 -> 0 bytes app/open-iconic/png/circle-check-4x.png | Bin 568 -> 0 bytes app/open-iconic/png/circle-check-6x.png | Bin 824 -> 0 bytes app/open-iconic/png/circle-check-8x.png | Bin 1062 -> 0 bytes app/open-iconic/png/circle-check.png | Bin 216 -> 0 bytes app/open-iconic/png/circle-x-2x.png | Bin 319 -> 0 bytes app/open-iconic/png/circle-x-3x.png | Bin 444 -> 0 bytes app/open-iconic/png/circle-x-4x.png | Bin 564 -> 0 bytes app/open-iconic/png/circle-x-6x.png | Bin 819 -> 0 bytes app/open-iconic/png/circle-x-8x.png | Bin 1069 -> 0 bytes app/open-iconic/png/circle-x.png | Bin 200 -> 0 bytes app/open-iconic/png/clipboard-2x.png | Bin 178 -> 0 bytes app/open-iconic/png/clipboard-3x.png | Bin 209 -> 0 bytes app/open-iconic/png/clipboard-4x.png | Bin 229 -> 0 bytes app/open-iconic/png/clipboard-6x.png | Bin 307 -> 0 bytes app/open-iconic/png/clipboard-8x.png | Bin 391 -> 0 bytes app/open-iconic/png/clipboard.png | Bin 145 -> 0 bytes app/open-iconic/png/clock-2x.png | Bin 378 -> 0 bytes app/open-iconic/png/clock-3x.png | Bin 559 -> 0 bytes app/open-iconic/png/clock-4x.png | Bin 734 -> 0 bytes app/open-iconic/png/clock-6x.png | Bin 1078 -> 0 bytes app/open-iconic/png/clock-8x.png | Bin 1460 -> 0 bytes app/open-iconic/png/clock.png | Bin 217 -> 0 bytes app/open-iconic/png/cloud-2x.png | Bin 240 -> 0 bytes app/open-iconic/png/cloud-3x.png | Bin 320 -> 0 bytes app/open-iconic/png/cloud-4x.png | Bin 386 -> 0 bytes app/open-iconic/png/cloud-6x.png | Bin 581 -> 0 bytes app/open-iconic/png/cloud-8x.png | Bin 776 -> 0 bytes app/open-iconic/png/cloud-download-2x.png | Bin 269 -> 0 bytes app/open-iconic/png/cloud-download-3x.png | Bin 383 -> 0 bytes app/open-iconic/png/cloud-download-4x.png | Bin 471 -> 0 bytes app/open-iconic/png/cloud-download-6x.png | Bin 681 -> 0 bytes app/open-iconic/png/cloud-download-8x.png | Bin 908 -> 0 bytes app/open-iconic/png/cloud-download.png | Bin 192 -> 0 bytes app/open-iconic/png/cloud-upload-2x.png | Bin 251 -> 0 bytes app/open-iconic/png/cloud-upload-3x.png | Bin 355 -> 0 bytes app/open-iconic/png/cloud-upload-4x.png | Bin 416 -> 0 bytes app/open-iconic/png/cloud-upload-6x.png | Bin 606 -> 0 bytes app/open-iconic/png/cloud-upload-8x.png | Bin 822 -> 0 bytes app/open-iconic/png/cloud-upload.png | Bin 185 -> 0 bytes app/open-iconic/png/cloud.png | Bin 180 -> 0 bytes app/open-iconic/png/cloudy-2x.png | Bin 302 -> 0 bytes app/open-iconic/png/cloudy-3x.png | Bin 415 -> 0 bytes app/open-iconic/png/cloudy-4x.png | Bin 538 -> 0 bytes app/open-iconic/png/cloudy-6x.png | Bin 813 -> 0 bytes app/open-iconic/png/cloudy-8x.png | Bin 1089 -> 0 bytes app/open-iconic/png/cloudy.png | Bin 199 -> 0 bytes app/open-iconic/png/code-2x.png | Bin 179 -> 0 bytes app/open-iconic/png/code-3x.png | Bin 228 -> 0 bytes app/open-iconic/png/code-4x.png | Bin 267 -> 0 bytes app/open-iconic/png/code-6x.png | Bin 373 -> 0 bytes app/open-iconic/png/code-8x.png | Bin 474 -> 0 bytes app/open-iconic/png/code.png | Bin 141 -> 0 bytes app/open-iconic/png/cog-2x.png | Bin 338 -> 0 bytes app/open-iconic/png/cog-3x.png | Bin 477 -> 0 bytes app/open-iconic/png/cog-4x.png | Bin 625 -> 0 bytes app/open-iconic/png/cog-6x.png | Bin 918 -> 0 bytes app/open-iconic/png/cog-8x.png | Bin 1225 -> 0 bytes app/open-iconic/png/cog.png | Bin 187 -> 0 bytes app/open-iconic/png/collapse-down-2x.png | Bin 147 -> 0 bytes app/open-iconic/png/collapse-down-3x.png | Bin 166 -> 0 bytes app/open-iconic/png/collapse-down-4x.png | Bin 179 -> 0 bytes app/open-iconic/png/collapse-down-6x.png | Bin 213 -> 0 bytes app/open-iconic/png/collapse-down-8x.png | Bin 255 -> 0 bytes app/open-iconic/png/collapse-down.png | Bin 131 -> 0 bytes app/open-iconic/png/collapse-left-2x.png | Bin 181 -> 0 bytes app/open-iconic/png/collapse-left-3x.png | Bin 202 -> 0 bytes app/open-iconic/png/collapse-left-4x.png | Bin 224 -> 0 bytes app/open-iconic/png/collapse-left-6x.png | Bin 287 -> 0 bytes app/open-iconic/png/collapse-left-8x.png | Bin 389 -> 0 bytes app/open-iconic/png/collapse-left.png | Bin 143 -> 0 bytes app/open-iconic/png/collapse-right-2x.png | Bin 176 -> 0 bytes app/open-iconic/png/collapse-right-3x.png | Bin 198 -> 0 bytes app/open-iconic/png/collapse-right-4x.png | Bin 221 -> 0 bytes app/open-iconic/png/collapse-right-6x.png | Bin 281 -> 0 bytes app/open-iconic/png/collapse-right-8x.png | Bin 395 -> 0 bytes app/open-iconic/png/collapse-right.png | Bin 141 -> 0 bytes app/open-iconic/png/collapse-up-2x.png | Bin 146 -> 0 bytes app/open-iconic/png/collapse-up-3x.png | Bin 163 -> 0 bytes app/open-iconic/png/collapse-up-4x.png | Bin 178 -> 0 bytes app/open-iconic/png/collapse-up-6x.png | Bin 226 -> 0 bytes app/open-iconic/png/collapse-up-8x.png | Bin 289 -> 0 bytes app/open-iconic/png/collapse-up.png | Bin 129 -> 0 bytes app/open-iconic/png/command-2x.png | Bin 277 -> 0 bytes app/open-iconic/png/command-3x.png | Bin 353 -> 0 bytes app/open-iconic/png/command-4x.png | Bin 487 -> 0 bytes app/open-iconic/png/command-6x.png | Bin 612 -> 0 bytes app/open-iconic/png/command-8x.png | Bin 806 -> 0 bytes app/open-iconic/png/command.png | Bin 169 -> 0 bytes app/open-iconic/png/comment-square-2x.png | Bin 163 -> 0 bytes app/open-iconic/png/comment-square-3x.png | Bin 182 -> 0 bytes app/open-iconic/png/comment-square-4x.png | Bin 199 -> 0 bytes app/open-iconic/png/comment-square-6x.png | Bin 245 -> 0 bytes app/open-iconic/png/comment-square-8x.png | Bin 322 -> 0 bytes app/open-iconic/png/comment-square.png | Bin 140 -> 0 bytes app/open-iconic/png/compass-2x.png | Bin 384 -> 0 bytes app/open-iconic/png/compass-3x.png | Bin 592 -> 0 bytes app/open-iconic/png/compass-4x.png | Bin 775 -> 0 bytes app/open-iconic/png/compass-6x.png | Bin 1136 -> 0 bytes app/open-iconic/png/compass-8x.png | Bin 1557 -> 0 bytes app/open-iconic/png/compass.png | Bin 225 -> 0 bytes app/open-iconic/png/contrast-2x.png | Bin 312 -> 0 bytes app/open-iconic/png/contrast-3x.png | Bin 455 -> 0 bytes app/open-iconic/png/contrast-4x.png | Bin 595 -> 0 bytes app/open-iconic/png/contrast-6x.png | Bin 848 -> 0 bytes app/open-iconic/png/contrast-8x.png | Bin 1127 -> 0 bytes app/open-iconic/png/contrast.png | Bin 196 -> 0 bytes app/open-iconic/png/copywriting-2x.png | Bin 155 -> 0 bytes app/open-iconic/png/copywriting-3x.png | Bin 175 -> 0 bytes app/open-iconic/png/copywriting-4x.png | Bin 198 -> 0 bytes app/open-iconic/png/copywriting-6x.png | Bin 243 -> 0 bytes app/open-iconic/png/copywriting-8x.png | Bin 300 -> 0 bytes app/open-iconic/png/copywriting.png | Bin 127 -> 0 bytes app/open-iconic/png/credit-card-2x.png | Bin 157 -> 0 bytes app/open-iconic/png/credit-card-3x.png | Bin 163 -> 0 bytes app/open-iconic/png/credit-card-4x.png | Bin 175 -> 0 bytes app/open-iconic/png/credit-card-6x.png | Bin 226 -> 0 bytes app/open-iconic/png/credit-card-8x.png | Bin 277 -> 0 bytes app/open-iconic/png/credit-card.png | Bin 145 -> 0 bytes app/open-iconic/png/crop-2x.png | Bin 195 -> 0 bytes app/open-iconic/png/crop-3x.png | Bin 240 -> 0 bytes app/open-iconic/png/crop-4x.png | Bin 268 -> 0 bytes app/open-iconic/png/crop-6x.png | Bin 395 -> 0 bytes app/open-iconic/png/crop-8x.png | Bin 501 -> 0 bytes app/open-iconic/png/crop.png | Bin 155 -> 0 bytes app/open-iconic/png/dashboard-2x.png | Bin 414 -> 0 bytes app/open-iconic/png/dashboard-3x.png | Bin 601 -> 0 bytes app/open-iconic/png/dashboard-4x.png | Bin 787 -> 0 bytes app/open-iconic/png/dashboard-6x.png | Bin 1157 -> 0 bytes app/open-iconic/png/dashboard-8x.png | Bin 1611 -> 0 bytes app/open-iconic/png/dashboard.png | Bin 220 -> 0 bytes .../png/data-transfer-download-2x.png | Bin 171 -> 0 bytes .../png/data-transfer-download-3x.png | Bin 189 -> 0 bytes .../png/data-transfer-download-4x.png | Bin 214 -> 0 bytes .../png/data-transfer-download-6x.png | Bin 263 -> 0 bytes .../png/data-transfer-download-8x.png | Bin 329 -> 0 bytes .../png/data-transfer-download.png | Bin 138 -> 0 bytes .../png/data-transfer-upload-2x.png | Bin 159 -> 0 bytes .../png/data-transfer-upload-3x.png | Bin 182 -> 0 bytes .../png/data-transfer-upload-4x.png | Bin 200 -> 0 bytes .../png/data-transfer-upload-6x.png | Bin 260 -> 0 bytes .../png/data-transfer-upload-8x.png | Bin 339 -> 0 bytes app/open-iconic/png/data-transfer-upload.png | Bin 134 -> 0 bytes app/open-iconic/png/delete-2x.png | Bin 223 -> 0 bytes app/open-iconic/png/delete-3x.png | Bin 286 -> 0 bytes app/open-iconic/png/delete-4x.png | Bin 329 -> 0 bytes app/open-iconic/png/delete-6x.png | Bin 449 -> 0 bytes app/open-iconic/png/delete-8x.png | Bin 605 -> 0 bytes app/open-iconic/png/delete.png | Bin 181 -> 0 bytes app/open-iconic/png/dial-2x.png | Bin 314 -> 0 bytes app/open-iconic/png/dial-3x.png | Bin 449 -> 0 bytes app/open-iconic/png/dial-4x.png | Bin 579 -> 0 bytes app/open-iconic/png/dial-6x.png | Bin 860 -> 0 bytes app/open-iconic/png/dial-8x.png | Bin 1159 -> 0 bytes app/open-iconic/png/dial.png | Bin 196 -> 0 bytes app/open-iconic/png/document-2x.png | Bin 184 -> 0 bytes app/open-iconic/png/document-3x.png | Bin 207 -> 0 bytes app/open-iconic/png/document-4x.png | Bin 231 -> 0 bytes app/open-iconic/png/document-6x.png | Bin 278 -> 0 bytes app/open-iconic/png/document-8x.png | Bin 357 -> 0 bytes app/open-iconic/png/document.png | Bin 150 -> 0 bytes app/open-iconic/png/dollar-2x.png | Bin 309 -> 0 bytes app/open-iconic/png/dollar-3x.png | Bin 410 -> 0 bytes app/open-iconic/png/dollar-4x.png | Bin 494 -> 0 bytes app/open-iconic/png/dollar-6x.png | Bin 702 -> 0 bytes app/open-iconic/png/dollar-8x.png | Bin 910 -> 0 bytes app/open-iconic/png/dollar.png | Bin 187 -> 0 bytes .../png/double-quote-sans-left-2x.png | Bin 162 -> 0 bytes .../png/double-quote-sans-left-3x.png | Bin 177 -> 0 bytes .../png/double-quote-sans-left-4x.png | Bin 195 -> 0 bytes .../png/double-quote-sans-left-6x.png | Bin 228 -> 0 bytes .../png/double-quote-sans-left-8x.png | Bin 313 -> 0 bytes .../png/double-quote-sans-left.png | Bin 138 -> 0 bytes .../png/double-quote-sans-right-2x.png | Bin 164 -> 0 bytes .../png/double-quote-sans-right-3x.png | Bin 188 -> 0 bytes .../png/double-quote-sans-right-4x.png | Bin 208 -> 0 bytes .../png/double-quote-sans-right-6x.png | Bin 264 -> 0 bytes .../png/double-quote-sans-right-8x.png | Bin 353 -> 0 bytes .../png/double-quote-sans-right.png | Bin 138 -> 0 bytes .../png/double-quote-serif-left-2x.png | Bin 194 -> 0 bytes .../png/double-quote-serif-left-3x.png | Bin 230 -> 0 bytes .../png/double-quote-serif-left-4x.png | Bin 284 -> 0 bytes .../png/double-quote-serif-left-6x.png | Bin 385 -> 0 bytes .../png/double-quote-serif-left-8x.png | Bin 519 -> 0 bytes .../png/double-quote-serif-left.png | Bin 161 -> 0 bytes .../png/double-quote-serif-right-2x.png | Bin 199 -> 0 bytes .../png/double-quote-serif-right-3x.png | Bin 247 -> 0 bytes .../png/double-quote-serif-right-4x.png | Bin 297 -> 0 bytes .../png/double-quote-serif-right-6x.png | Bin 401 -> 0 bytes .../png/double-quote-serif-right-8x.png | Bin 538 -> 0 bytes .../png/double-quote-serif-right.png | Bin 153 -> 0 bytes app/open-iconic/png/droplet-2x.png | Bin 314 -> 0 bytes app/open-iconic/png/droplet-3x.png | Bin 448 -> 0 bytes app/open-iconic/png/droplet-4x.png | Bin 541 -> 0 bytes app/open-iconic/png/droplet-6x.png | Bin 804 -> 0 bytes app/open-iconic/png/droplet-8x.png | Bin 1059 -> 0 bytes app/open-iconic/png/droplet.png | Bin 202 -> 0 bytes app/open-iconic/png/eject-2x.png | Bin 206 -> 0 bytes app/open-iconic/png/eject-3x.png | Bin 233 -> 0 bytes app/open-iconic/png/eject-4x.png | Bin 268 -> 0 bytes app/open-iconic/png/eject-6x.png | Bin 354 -> 0 bytes app/open-iconic/png/eject-8x.png | Bin 446 -> 0 bytes app/open-iconic/png/eject.png | Bin 169 -> 0 bytes app/open-iconic/png/elevator-2x.png | Bin 166 -> 0 bytes app/open-iconic/png/elevator-3x.png | Bin 193 -> 0 bytes app/open-iconic/png/elevator-4x.png | Bin 221 -> 0 bytes app/open-iconic/png/elevator-6x.png | Bin 290 -> 0 bytes app/open-iconic/png/elevator-8x.png | Bin 357 -> 0 bytes app/open-iconic/png/elevator.png | Bin 134 -> 0 bytes app/open-iconic/png/ellipses-2x.png | Bin 128 -> 0 bytes app/open-iconic/png/ellipses-3x.png | Bin 139 -> 0 bytes app/open-iconic/png/ellipses-4x.png | Bin 141 -> 0 bytes app/open-iconic/png/ellipses-6x.png | Bin 154 -> 0 bytes app/open-iconic/png/ellipses-8x.png | Bin 179 -> 0 bytes app/open-iconic/png/ellipses.png | Bin 118 -> 0 bytes app/open-iconic/png/envelope-closed-2x.png | Bin 179 -> 0 bytes app/open-iconic/png/envelope-closed-3x.png | Bin 198 -> 0 bytes app/open-iconic/png/envelope-closed-4x.png | Bin 222 -> 0 bytes app/open-iconic/png/envelope-closed-6x.png | Bin 280 -> 0 bytes app/open-iconic/png/envelope-closed-8x.png | Bin 368 -> 0 bytes app/open-iconic/png/envelope-closed.png | Bin 151 -> 0 bytes app/open-iconic/png/envelope-open-2x.png | Bin 237 -> 0 bytes app/open-iconic/png/envelope-open-3x.png | Bin 274 -> 0 bytes app/open-iconic/png/envelope-open-4x.png | Bin 308 -> 0 bytes app/open-iconic/png/envelope-open-6x.png | Bin 394 -> 0 bytes app/open-iconic/png/envelope-open-8x.png | Bin 522 -> 0 bytes app/open-iconic/png/envelope-open.png | Bin 171 -> 0 bytes app/open-iconic/png/euro-2x.png | Bin 313 -> 0 bytes app/open-iconic/png/euro-3x.png | Bin 415 -> 0 bytes app/open-iconic/png/euro-4x.png | Bin 552 -> 0 bytes app/open-iconic/png/euro-6x.png | Bin 787 -> 0 bytes app/open-iconic/png/euro-8x.png | Bin 1038 -> 0 bytes app/open-iconic/png/euro.png | Bin 189 -> 0 bytes app/open-iconic/png/excerpt-2x.png | Bin 149 -> 0 bytes app/open-iconic/png/excerpt-3x.png | Bin 161 -> 0 bytes app/open-iconic/png/excerpt-4x.png | Bin 170 -> 0 bytes app/open-iconic/png/excerpt-6x.png | Bin 190 -> 0 bytes app/open-iconic/png/excerpt-8x.png | Bin 229 -> 0 bytes app/open-iconic/png/excerpt.png | Bin 128 -> 0 bytes app/open-iconic/png/expand-down-2x.png | Bin 147 -> 0 bytes app/open-iconic/png/expand-down-3x.png | Bin 166 -> 0 bytes app/open-iconic/png/expand-down-4x.png | Bin 179 -> 0 bytes app/open-iconic/png/expand-down-6x.png | Bin 213 -> 0 bytes app/open-iconic/png/expand-down-8x.png | Bin 256 -> 0 bytes app/open-iconic/png/expand-down.png | Bin 130 -> 0 bytes app/open-iconic/png/expand-left-2x.png | Bin 178 -> 0 bytes app/open-iconic/png/expand-left-3x.png | Bin 197 -> 0 bytes app/open-iconic/png/expand-left-4x.png | Bin 220 -> 0 bytes app/open-iconic/png/expand-left-6x.png | Bin 281 -> 0 bytes app/open-iconic/png/expand-left-8x.png | Bin 388 -> 0 bytes app/open-iconic/png/expand-left.png | Bin 143 -> 0 bytes app/open-iconic/png/expand-right-2x.png | Bin 178 -> 0 bytes app/open-iconic/png/expand-right-3x.png | Bin 205 -> 0 bytes app/open-iconic/png/expand-right-4x.png | Bin 224 -> 0 bytes app/open-iconic/png/expand-right-6x.png | Bin 285 -> 0 bytes app/open-iconic/png/expand-right-8x.png | Bin 379 -> 0 bytes app/open-iconic/png/expand-right.png | Bin 139 -> 0 bytes app/open-iconic/png/expand-up-2x.png | Bin 146 -> 0 bytes app/open-iconic/png/expand-up-3x.png | Bin 163 -> 0 bytes app/open-iconic/png/expand-up-4x.png | Bin 178 -> 0 bytes app/open-iconic/png/expand-up-6x.png | Bin 227 -> 0 bytes app/open-iconic/png/expand-up-8x.png | Bin 289 -> 0 bytes app/open-iconic/png/expand-up.png | Bin 130 -> 0 bytes app/open-iconic/png/external-link-2x.png | Bin 189 -> 0 bytes app/open-iconic/png/external-link-3x.png | Bin 223 -> 0 bytes app/open-iconic/png/external-link-4x.png | Bin 253 -> 0 bytes app/open-iconic/png/external-link-6x.png | Bin 334 -> 0 bytes app/open-iconic/png/external-link-8x.png | Bin 466 -> 0 bytes app/open-iconic/png/external-link.png | Bin 152 -> 0 bytes app/open-iconic/png/eye-2x.png | Bin 311 -> 0 bytes app/open-iconic/png/eye-3x.png | Bin 437 -> 0 bytes app/open-iconic/png/eye-4x.png | Bin 588 -> 0 bytes app/open-iconic/png/eye-6x.png | Bin 887 -> 0 bytes app/open-iconic/png/eye-8x.png | Bin 1195 -> 0 bytes app/open-iconic/png/eye.png | Bin 198 -> 0 bytes app/open-iconic/png/eyedropper-2x.png | Bin 324 -> 0 bytes app/open-iconic/png/eyedropper-3x.png | Bin 451 -> 0 bytes app/open-iconic/png/eyedropper-4x.png | Bin 562 -> 0 bytes app/open-iconic/png/eyedropper-6x.png | Bin 745 -> 0 bytes app/open-iconic/png/eyedropper-8x.png | Bin 1040 -> 0 bytes app/open-iconic/png/eyedropper.png | Bin 209 -> 0 bytes app/open-iconic/png/file-2x.png | Bin 167 -> 0 bytes app/open-iconic/png/file-3x.png | Bin 187 -> 0 bytes app/open-iconic/png/file-4x.png | Bin 207 -> 0 bytes app/open-iconic/png/file-6x.png | Bin 253 -> 0 bytes app/open-iconic/png/file-8x.png | Bin 334 -> 0 bytes app/open-iconic/png/file.png | Bin 145 -> 0 bytes app/open-iconic/png/fire-2x.png | Bin 303 -> 0 bytes app/open-iconic/png/fire-3x.png | Bin 426 -> 0 bytes app/open-iconic/png/fire-4x.png | Bin 506 -> 0 bytes app/open-iconic/png/fire-6x.png | Bin 757 -> 0 bytes app/open-iconic/png/fire-8x.png | Bin 999 -> 0 bytes app/open-iconic/png/fire.png | Bin 175 -> 0 bytes app/open-iconic/png/flag-2x.png | Bin 194 -> 0 bytes app/open-iconic/png/flag-3x.png | Bin 231 -> 0 bytes app/open-iconic/png/flag-4x.png | Bin 269 -> 0 bytes app/open-iconic/png/flag-6x.png | Bin 344 -> 0 bytes app/open-iconic/png/flag-8x.png | Bin 481 -> 0 bytes app/open-iconic/png/flag.png | Bin 156 -> 0 bytes app/open-iconic/png/flash-2x.png | Bin 198 -> 0 bytes app/open-iconic/png/flash-3x.png | Bin 243 -> 0 bytes app/open-iconic/png/flash-4x.png | Bin 284 -> 0 bytes app/open-iconic/png/flash-6x.png | Bin 346 -> 0 bytes app/open-iconic/png/flash-8x.png | Bin 430 -> 0 bytes app/open-iconic/png/flash.png | Bin 151 -> 0 bytes app/open-iconic/png/folder-2x.png | Bin 142 -> 0 bytes app/open-iconic/png/folder-3x.png | Bin 167 -> 0 bytes app/open-iconic/png/folder-4x.png | Bin 176 -> 0 bytes app/open-iconic/png/folder-6x.png | Bin 226 -> 0 bytes app/open-iconic/png/folder-8x.png | Bin 296 -> 0 bytes app/open-iconic/png/folder.png | Bin 131 -> 0 bytes app/open-iconic/png/fork-2x.png | Bin 290 -> 0 bytes app/open-iconic/png/fork-3x.png | Bin 410 -> 0 bytes app/open-iconic/png/fork-4x.png | Bin 537 -> 0 bytes app/open-iconic/png/fork-6x.png | Bin 779 -> 0 bytes app/open-iconic/png/fork-8x.png | Bin 1042 -> 0 bytes app/open-iconic/png/fork.png | Bin 176 -> 0 bytes app/open-iconic/png/fullscreen-enter-2x.png | Bin 199 -> 0 bytes app/open-iconic/png/fullscreen-enter-3x.png | Bin 229 -> 0 bytes app/open-iconic/png/fullscreen-enter-4x.png | Bin 280 -> 0 bytes app/open-iconic/png/fullscreen-enter-6x.png | Bin 388 -> 0 bytes app/open-iconic/png/fullscreen-enter-8x.png | Bin 480 -> 0 bytes app/open-iconic/png/fullscreen-enter.png | Bin 155 -> 0 bytes app/open-iconic/png/fullscreen-exit-2x.png | Bin 201 -> 0 bytes app/open-iconic/png/fullscreen-exit-3x.png | Bin 230 -> 0 bytes app/open-iconic/png/fullscreen-exit-4x.png | Bin 273 -> 0 bytes app/open-iconic/png/fullscreen-exit-6x.png | Bin 376 -> 0 bytes app/open-iconic/png/fullscreen-exit-8x.png | Bin 467 -> 0 bytes app/open-iconic/png/fullscreen-exit.png | Bin 160 -> 0 bytes app/open-iconic/png/globe-2x.png | Bin 392 -> 0 bytes app/open-iconic/png/globe-3x.png | Bin 578 -> 0 bytes app/open-iconic/png/globe-4x.png | Bin 761 -> 0 bytes app/open-iconic/png/globe-6x.png | Bin 1147 -> 0 bytes app/open-iconic/png/globe-8x.png | Bin 1584 -> 0 bytes app/open-iconic/png/globe.png | Bin 223 -> 0 bytes app/open-iconic/png/graph-2x.png | Bin 211 -> 0 bytes app/open-iconic/png/graph-3x.png | Bin 264 -> 0 bytes app/open-iconic/png/graph-4x.png | Bin 320 -> 0 bytes app/open-iconic/png/graph-6x.png | Bin 455 -> 0 bytes app/open-iconic/png/graph-8x.png | Bin 615 -> 0 bytes app/open-iconic/png/graph.png | Bin 160 -> 0 bytes app/open-iconic/png/grid-four-up-2x.png | Bin 126 -> 0 bytes app/open-iconic/png/grid-four-up-3x.png | Bin 145 -> 0 bytes app/open-iconic/png/grid-four-up-4x.png | Bin 146 -> 0 bytes app/open-iconic/png/grid-four-up-6x.png | Bin 175 -> 0 bytes app/open-iconic/png/grid-four-up-8x.png | Bin 218 -> 0 bytes app/open-iconic/png/grid-four-up.png | Bin 116 -> 0 bytes app/open-iconic/png/grid-three-up-2x.png | Bin 134 -> 0 bytes app/open-iconic/png/grid-three-up-3x.png | Bin 146 -> 0 bytes app/open-iconic/png/grid-three-up-4x.png | Bin 152 -> 0 bytes app/open-iconic/png/grid-three-up-6x.png | Bin 178 -> 0 bytes app/open-iconic/png/grid-three-up-8x.png | Bin 244 -> 0 bytes app/open-iconic/png/grid-three-up.png | Bin 121 -> 0 bytes app/open-iconic/png/grid-two-up-2x.png | Bin 134 -> 0 bytes app/open-iconic/png/grid-two-up-3x.png | Bin 145 -> 0 bytes app/open-iconic/png/grid-two-up-4x.png | Bin 150 -> 0 bytes app/open-iconic/png/grid-two-up-6x.png | Bin 174 -> 0 bytes app/open-iconic/png/grid-two-up-8x.png | Bin 235 -> 0 bytes app/open-iconic/png/grid-two-up.png | Bin 126 -> 0 bytes app/open-iconic/png/hard-drive-2x.png | Bin 192 -> 0 bytes app/open-iconic/png/hard-drive-3x.png | Bin 230 -> 0 bytes app/open-iconic/png/hard-drive-4x.png | Bin 271 -> 0 bytes app/open-iconic/png/hard-drive-6x.png | Bin 360 -> 0 bytes app/open-iconic/png/hard-drive-8x.png | Bin 489 -> 0 bytes app/open-iconic/png/hard-drive.png | Bin 164 -> 0 bytes app/open-iconic/png/header-2x.png | Bin 182 -> 0 bytes app/open-iconic/png/header-3x.png | Bin 220 -> 0 bytes app/open-iconic/png/header-4x.png | Bin 244 -> 0 bytes app/open-iconic/png/header-6x.png | Bin 307 -> 0 bytes app/open-iconic/png/header-8x.png | Bin 386 -> 0 bytes app/open-iconic/png/header.png | Bin 151 -> 0 bytes app/open-iconic/png/headphones-2x.png | Bin 255 -> 0 bytes app/open-iconic/png/headphones-3x.png | Bin 337 -> 0 bytes app/open-iconic/png/headphones-4x.png | Bin 411 -> 0 bytes app/open-iconic/png/headphones-6x.png | Bin 582 -> 0 bytes app/open-iconic/png/headphones-8x.png | Bin 802 -> 0 bytes app/open-iconic/png/headphones.png | Bin 184 -> 0 bytes app/open-iconic/png/heart-2x.png | Bin 254 -> 0 bytes app/open-iconic/png/heart-3x.png | Bin 328 -> 0 bytes app/open-iconic/png/heart-4x.png | Bin 395 -> 0 bytes app/open-iconic/png/heart-6x.png | Bin 550 -> 0 bytes app/open-iconic/png/heart-8x.png | Bin 713 -> 0 bytes app/open-iconic/png/heart.png | Bin 176 -> 0 bytes app/open-iconic/png/home-2x.png | Bin 207 -> 0 bytes app/open-iconic/png/home-3x.png | Bin 246 -> 0 bytes app/open-iconic/png/home-4x.png | Bin 279 -> 0 bytes app/open-iconic/png/home-6x.png | Bin 358 -> 0 bytes app/open-iconic/png/home-8x.png | Bin 456 -> 0 bytes app/open-iconic/png/home.png | Bin 166 -> 0 bytes app/open-iconic/png/image-2x.png | Bin 187 -> 0 bytes app/open-iconic/png/image-3x.png | Bin 217 -> 0 bytes app/open-iconic/png/image-4x.png | Bin 246 -> 0 bytes app/open-iconic/png/image-6x.png | Bin 312 -> 0 bytes app/open-iconic/png/image-8x.png | Bin 396 -> 0 bytes app/open-iconic/png/image.png | Bin 144 -> 0 bytes app/open-iconic/png/inbox-2x.png | Bin 176 -> 0 bytes app/open-iconic/png/inbox-3x.png | Bin 192 -> 0 bytes app/open-iconic/png/inbox-4x.png | Bin 208 -> 0 bytes app/open-iconic/png/inbox-6x.png | Bin 257 -> 0 bytes app/open-iconic/png/inbox-8x.png | Bin 369 -> 0 bytes app/open-iconic/png/inbox.png | Bin 147 -> 0 bytes app/open-iconic/png/infinity-2x.png | Bin 287 -> 0 bytes app/open-iconic/png/infinity-3x.png | Bin 406 -> 0 bytes app/open-iconic/png/infinity-4x.png | Bin 525 -> 0 bytes app/open-iconic/png/infinity-6x.png | Bin 784 -> 0 bytes app/open-iconic/png/infinity-8x.png | Bin 1031 -> 0 bytes app/open-iconic/png/infinity.png | Bin 171 -> 0 bytes app/open-iconic/png/info-2x.png | Bin 265 -> 0 bytes app/open-iconic/png/info-3x.png | Bin 387 -> 0 bytes app/open-iconic/png/info-4x.png | Bin 452 -> 0 bytes app/open-iconic/png/info-6x.png | Bin 678 -> 0 bytes app/open-iconic/png/info-8x.png | Bin 918 -> 0 bytes app/open-iconic/png/info.png | Bin 181 -> 0 bytes app/open-iconic/png/italic-2x.png | Bin 231 -> 0 bytes app/open-iconic/png/italic-3x.png | Bin 268 -> 0 bytes app/open-iconic/png/italic-4x.png | Bin 293 -> 0 bytes app/open-iconic/png/italic-6x.png | Bin 403 -> 0 bytes app/open-iconic/png/italic-8x.png | Bin 443 -> 0 bytes app/open-iconic/png/italic.png | Bin 177 -> 0 bytes app/open-iconic/png/justify-center-2x.png | Bin 135 -> 0 bytes app/open-iconic/png/justify-center-3x.png | Bin 147 -> 0 bytes app/open-iconic/png/justify-center-4x.png | Bin 153 -> 0 bytes app/open-iconic/png/justify-center-6x.png | Bin 173 -> 0 bytes app/open-iconic/png/justify-center-8x.png | Bin 210 -> 0 bytes app/open-iconic/png/justify-center.png | Bin 122 -> 0 bytes app/open-iconic/png/justify-left-2x.png | Bin 131 -> 0 bytes app/open-iconic/png/justify-left-3x.png | Bin 145 -> 0 bytes app/open-iconic/png/justify-left-4x.png | Bin 150 -> 0 bytes app/open-iconic/png/justify-left-6x.png | Bin 170 -> 0 bytes app/open-iconic/png/justify-left-8x.png | Bin 207 -> 0 bytes app/open-iconic/png/justify-left.png | Bin 117 -> 0 bytes app/open-iconic/png/justify-right-2x.png | Bin 132 -> 0 bytes app/open-iconic/png/justify-right-3x.png | Bin 145 -> 0 bytes app/open-iconic/png/justify-right-4x.png | Bin 151 -> 0 bytes app/open-iconic/png/justify-right-6x.png | Bin 170 -> 0 bytes app/open-iconic/png/justify-right-8x.png | Bin 207 -> 0 bytes app/open-iconic/png/justify-right.png | Bin 118 -> 0 bytes app/open-iconic/png/key-2x.png | Bin 249 -> 0 bytes app/open-iconic/png/key-3x.png | Bin 325 -> 0 bytes app/open-iconic/png/key-4x.png | Bin 390 -> 0 bytes app/open-iconic/png/key-6x.png | Bin 569 -> 0 bytes app/open-iconic/png/key-8x.png | Bin 806 -> 0 bytes app/open-iconic/png/key.png | Bin 175 -> 0 bytes app/open-iconic/png/laptop-2x.png | Bin 173 -> 0 bytes app/open-iconic/png/laptop-3x.png | Bin 207 -> 0 bytes app/open-iconic/png/laptop-4x.png | Bin 232 -> 0 bytes app/open-iconic/png/laptop-6x.png | Bin 298 -> 0 bytes app/open-iconic/png/laptop-8x.png | Bin 378 -> 0 bytes app/open-iconic/png/laptop.png | Bin 147 -> 0 bytes app/open-iconic/png/layers-2x.png | Bin 161 -> 0 bytes app/open-iconic/png/layers-3x.png | Bin 178 -> 0 bytes app/open-iconic/png/layers-4x.png | Bin 187 -> 0 bytes app/open-iconic/png/layers-6x.png | Bin 224 -> 0 bytes app/open-iconic/png/layers-8x.png | Bin 291 -> 0 bytes app/open-iconic/png/layers.png | Bin 138 -> 0 bytes app/open-iconic/png/lightbulb-2x.png | Bin 228 -> 0 bytes app/open-iconic/png/lightbulb-3x.png | Bin 304 -> 0 bytes app/open-iconic/png/lightbulb-4x.png | Bin 366 -> 0 bytes app/open-iconic/png/lightbulb-6x.png | Bin 535 -> 0 bytes app/open-iconic/png/lightbulb-8x.png | Bin 691 -> 0 bytes app/open-iconic/png/lightbulb.png | Bin 192 -> 0 bytes app/open-iconic/png/link-broken-2x.png | Bin 329 -> 0 bytes app/open-iconic/png/link-broken-3x.png | Bin 463 -> 0 bytes app/open-iconic/png/link-broken-4x.png | Bin 577 -> 0 bytes app/open-iconic/png/link-broken-6x.png | Bin 876 -> 0 bytes app/open-iconic/png/link-broken-8x.png | Bin 1198 -> 0 bytes app/open-iconic/png/link-broken.png | Bin 202 -> 0 bytes app/open-iconic/png/link-intact-2x.png | Bin 350 -> 0 bytes app/open-iconic/png/link-intact-3x.png | Bin 496 -> 0 bytes app/open-iconic/png/link-intact-4x.png | Bin 630 -> 0 bytes app/open-iconic/png/link-intact-6x.png | Bin 941 -> 0 bytes app/open-iconic/png/link-intact-8x.png | Bin 1257 -> 0 bytes app/open-iconic/png/link-intact.png | Bin 215 -> 0 bytes app/open-iconic/png/list-2x.png | Bin 160 -> 0 bytes app/open-iconic/png/list-3x.png | Bin 180 -> 0 bytes app/open-iconic/png/list-4x.png | Bin 201 -> 0 bytes app/open-iconic/png/list-6x.png | Bin 285 -> 0 bytes app/open-iconic/png/list-8x.png | Bin 375 -> 0 bytes app/open-iconic/png/list-rich-2x.png | Bin 150 -> 0 bytes app/open-iconic/png/list-rich-3x.png | Bin 162 -> 0 bytes app/open-iconic/png/list-rich-4x.png | Bin 170 -> 0 bytes app/open-iconic/png/list-rich-6x.png | Bin 198 -> 0 bytes app/open-iconic/png/list-rich-8x.png | Bin 257 -> 0 bytes app/open-iconic/png/list-rich.png | Bin 129 -> 0 bytes app/open-iconic/png/list.png | Bin 118 -> 0 bytes app/open-iconic/png/location-2x.png | Bin 223 -> 0 bytes app/open-iconic/png/location-3x.png | Bin 267 -> 0 bytes app/open-iconic/png/location-4x.png | Bin 310 -> 0 bytes app/open-iconic/png/location-6x.png | Bin 413 -> 0 bytes app/open-iconic/png/location-8x.png | Bin 519 -> 0 bytes app/open-iconic/png/location.png | Bin 174 -> 0 bytes app/open-iconic/png/lock-locked-2x.png | Bin 196 -> 0 bytes app/open-iconic/png/lock-locked-3x.png | Bin 244 -> 0 bytes app/open-iconic/png/lock-locked-4x.png | Bin 273 -> 0 bytes app/open-iconic/png/lock-locked-6x.png | Bin 404 -> 0 bytes app/open-iconic/png/lock-locked-8x.png | Bin 532 -> 0 bytes app/open-iconic/png/lock-locked.png | Bin 152 -> 0 bytes app/open-iconic/png/lock-unlocked-2x.png | Bin 196 -> 0 bytes app/open-iconic/png/lock-unlocked-3x.png | Bin 241 -> 0 bytes app/open-iconic/png/lock-unlocked-4x.png | Bin 274 -> 0 bytes app/open-iconic/png/lock-unlocked-6x.png | Bin 407 -> 0 bytes app/open-iconic/png/lock-unlocked-8x.png | Bin 545 -> 0 bytes app/open-iconic/png/lock-unlocked.png | Bin 154 -> 0 bytes app/open-iconic/png/loop-2x.png | Bin 218 -> 0 bytes app/open-iconic/png/loop-3x.png | Bin 257 -> 0 bytes app/open-iconic/png/loop-4x.png | Bin 307 -> 0 bytes app/open-iconic/png/loop-6x.png | Bin 401 -> 0 bytes app/open-iconic/png/loop-8x.png | Bin 518 -> 0 bytes app/open-iconic/png/loop-circular-2x.png | Bin 261 -> 0 bytes app/open-iconic/png/loop-circular-3x.png | Bin 345 -> 0 bytes app/open-iconic/png/loop-circular-4x.png | Bin 436 -> 0 bytes app/open-iconic/png/loop-circular-6x.png | Bin 627 -> 0 bytes app/open-iconic/png/loop-circular-8x.png | Bin 832 -> 0 bytes app/open-iconic/png/loop-circular.png | Bin 181 -> 0 bytes app/open-iconic/png/loop-square-2x.png | Bin 218 -> 0 bytes app/open-iconic/png/loop-square-3x.png | Bin 270 -> 0 bytes app/open-iconic/png/loop-square-4x.png | Bin 319 -> 0 bytes app/open-iconic/png/loop-square-6x.png | Bin 391 -> 0 bytes app/open-iconic/png/loop-square-8x.png | Bin 506 -> 0 bytes app/open-iconic/png/loop-square.png | Bin 150 -> 0 bytes app/open-iconic/png/loop.png | Bin 155 -> 0 bytes app/open-iconic/png/magnifying-glass-2x.png | Bin 349 -> 0 bytes app/open-iconic/png/magnifying-glass-3x.png | Bin 492 -> 0 bytes app/open-iconic/png/magnifying-glass-4x.png | Bin 647 -> 0 bytes app/open-iconic/png/magnifying-glass-6x.png | Bin 965 -> 0 bytes app/open-iconic/png/magnifying-glass-8x.png | Bin 1286 -> 0 bytes app/open-iconic/png/magnifying-glass.png | Bin 199 -> 0 bytes app/open-iconic/png/map-2x.png | Bin 241 -> 0 bytes app/open-iconic/png/map-3x.png | Bin 323 -> 0 bytes app/open-iconic/png/map-4x.png | Bin 386 -> 0 bytes app/open-iconic/png/map-6x.png | Bin 550 -> 0 bytes app/open-iconic/png/map-8x.png | Bin 796 -> 0 bytes app/open-iconic/png/map-marker-2x.png | Bin 312 -> 0 bytes app/open-iconic/png/map-marker-3x.png | Bin 427 -> 0 bytes app/open-iconic/png/map-marker-4x.png | Bin 572 -> 0 bytes app/open-iconic/png/map-marker-6x.png | Bin 839 -> 0 bytes app/open-iconic/png/map-marker-8x.png | Bin 1154 -> 0 bytes app/open-iconic/png/map-marker.png | Bin 205 -> 0 bytes app/open-iconic/png/map.png | Bin 169 -> 0 bytes app/open-iconic/png/media-pause-2x.png | Bin 127 -> 0 bytes app/open-iconic/png/media-pause-3x.png | Bin 138 -> 0 bytes app/open-iconic/png/media-pause-4x.png | Bin 148 -> 0 bytes app/open-iconic/png/media-pause-6x.png | Bin 174 -> 0 bytes app/open-iconic/png/media-pause-8x.png | Bin 233 -> 0 bytes app/open-iconic/png/media-pause.png | Bin 118 -> 0 bytes app/open-iconic/png/media-play-2x.png | Bin 164 -> 0 bytes app/open-iconic/png/media-play-3x.png | Bin 192 -> 0 bytes app/open-iconic/png/media-play-4x.png | Bin 219 -> 0 bytes app/open-iconic/png/media-play-6x.png | Bin 270 -> 0 bytes app/open-iconic/png/media-play-8x.png | Bin 323 -> 0 bytes app/open-iconic/png/media-play.png | Bin 133 -> 0 bytes app/open-iconic/png/media-record-2x.png | Bin 236 -> 0 bytes app/open-iconic/png/media-record-3x.png | Bin 314 -> 0 bytes app/open-iconic/png/media-record-4x.png | Bin 400 -> 0 bytes app/open-iconic/png/media-record-6x.png | Bin 537 -> 0 bytes app/open-iconic/png/media-record-8x.png | Bin 786 -> 0 bytes app/open-iconic/png/media-record.png | Bin 166 -> 0 bytes .../png/media-skip-backward-2x.png | Bin 191 -> 0 bytes .../png/media-skip-backward-3x.png | Bin 227 -> 0 bytes .../png/media-skip-backward-4x.png | Bin 262 -> 0 bytes .../png/media-skip-backward-6x.png | Bin 338 -> 0 bytes .../png/media-skip-backward-8x.png | Bin 421 -> 0 bytes app/open-iconic/png/media-skip-backward.png | Bin 147 -> 0 bytes app/open-iconic/png/media-skip-forward-2x.png | Bin 199 -> 0 bytes app/open-iconic/png/media-skip-forward-3x.png | Bin 233 -> 0 bytes app/open-iconic/png/media-skip-forward-4x.png | Bin 264 -> 0 bytes app/open-iconic/png/media-skip-forward-6x.png | Bin 335 -> 0 bytes app/open-iconic/png/media-skip-forward-8x.png | Bin 417 -> 0 bytes app/open-iconic/png/media-skip-forward.png | Bin 157 -> 0 bytes .../png/media-step-backward-2x.png | Bin 195 -> 0 bytes .../png/media-step-backward-3x.png | Bin 226 -> 0 bytes .../png/media-step-backward-4x.png | Bin 262 -> 0 bytes .../png/media-step-backward-6x.png | Bin 333 -> 0 bytes .../png/media-step-backward-8x.png | Bin 419 -> 0 bytes app/open-iconic/png/media-step-backward.png | Bin 156 -> 0 bytes app/open-iconic/png/media-step-forward-2x.png | Bin 197 -> 0 bytes app/open-iconic/png/media-step-forward-3x.png | Bin 227 -> 0 bytes app/open-iconic/png/media-step-forward-4x.png | Bin 261 -> 0 bytes app/open-iconic/png/media-step-forward-6x.png | Bin 339 -> 0 bytes app/open-iconic/png/media-step-forward-8x.png | Bin 433 -> 0 bytes app/open-iconic/png/media-step-forward.png | Bin 161 -> 0 bytes app/open-iconic/png/media-stop-2x.png | Bin 125 -> 0 bytes app/open-iconic/png/media-stop-3x.png | Bin 136 -> 0 bytes app/open-iconic/png/media-stop-4x.png | Bin 146 -> 0 bytes app/open-iconic/png/media-stop-6x.png | Bin 176 -> 0 bytes app/open-iconic/png/media-stop-8x.png | Bin 235 -> 0 bytes app/open-iconic/png/media-stop.png | Bin 119 -> 0 bytes app/open-iconic/png/medical-cross-2x.png | Bin 140 -> 0 bytes app/open-iconic/png/medical-cross-3x.png | Bin 152 -> 0 bytes app/open-iconic/png/medical-cross-4x.png | Bin 164 -> 0 bytes app/open-iconic/png/medical-cross-6x.png | Bin 198 -> 0 bytes app/open-iconic/png/medical-cross-8x.png | Bin 270 -> 0 bytes app/open-iconic/png/medical-cross.png | Bin 133 -> 0 bytes app/open-iconic/png/menu-2x.png | Bin 143 -> 0 bytes app/open-iconic/png/menu-3x.png | Bin 155 -> 0 bytes app/open-iconic/png/menu-4x.png | Bin 158 -> 0 bytes app/open-iconic/png/menu-6x.png | Bin 178 -> 0 bytes app/open-iconic/png/menu-8x.png | Bin 203 -> 0 bytes app/open-iconic/png/menu.png | Bin 122 -> 0 bytes app/open-iconic/png/microphone-2x.png | Bin 319 -> 0 bytes app/open-iconic/png/microphone-3x.png | Bin 446 -> 0 bytes app/open-iconic/png/microphone-4x.png | Bin 563 -> 0 bytes app/open-iconic/png/microphone-6x.png | Bin 800 -> 0 bytes app/open-iconic/png/microphone-8x.png | Bin 1050 -> 0 bytes app/open-iconic/png/microphone.png | Bin 197 -> 0 bytes app/open-iconic/png/minus-2x.png | Bin 125 -> 0 bytes app/open-iconic/png/minus-3x.png | Bin 133 -> 0 bytes app/open-iconic/png/minus-4x.png | Bin 134 -> 0 bytes app/open-iconic/png/minus-6x.png | Bin 148 -> 0 bytes app/open-iconic/png/minus-8x.png | Bin 170 -> 0 bytes app/open-iconic/png/minus.png | Bin 119 -> 0 bytes app/open-iconic/png/monitor-2x.png | Bin 190 -> 0 bytes app/open-iconic/png/monitor-3x.png | Bin 231 -> 0 bytes app/open-iconic/png/monitor-4x.png | Bin 256 -> 0 bytes app/open-iconic/png/monitor-6x.png | Bin 353 -> 0 bytes app/open-iconic/png/monitor-8x.png | Bin 471 -> 0 bytes app/open-iconic/png/monitor.png | Bin 155 -> 0 bytes app/open-iconic/png/moon-2x.png | Bin 308 -> 0 bytes app/open-iconic/png/moon-3x.png | Bin 412 -> 0 bytes app/open-iconic/png/moon-4x.png | Bin 511 -> 0 bytes app/open-iconic/png/moon-6x.png | Bin 730 -> 0 bytes app/open-iconic/png/moon-8x.png | Bin 992 -> 0 bytes app/open-iconic/png/moon.png | Bin 201 -> 0 bytes app/open-iconic/png/move-2x.png | Bin 188 -> 0 bytes app/open-iconic/png/move-3x.png | Bin 297 -> 0 bytes app/open-iconic/png/move-4x.png | Bin 264 -> 0 bytes app/open-iconic/png/move-6x.png | Bin 361 -> 0 bytes app/open-iconic/png/move-8x.png | Bin 459 -> 0 bytes app/open-iconic/png/move.png | Bin 160 -> 0 bytes app/open-iconic/png/musical-note-2x.png | Bin 258 -> 0 bytes app/open-iconic/png/musical-note-3x.png | Bin 342 -> 0 bytes app/open-iconic/png/musical-note-4x.png | Bin 423 -> 0 bytes app/open-iconic/png/musical-note-6x.png | Bin 578 -> 0 bytes app/open-iconic/png/musical-note-8x.png | Bin 787 -> 0 bytes app/open-iconic/png/musical-note.png | Bin 175 -> 0 bytes app/open-iconic/png/paperclip-2x.png | Bin 398 -> 0 bytes app/open-iconic/png/paperclip-3x.png | Bin 591 -> 0 bytes app/open-iconic/png/paperclip-4x.png | Bin 730 -> 0 bytes app/open-iconic/png/paperclip-6x.png | Bin 1155 -> 0 bytes app/open-iconic/png/paperclip-8x.png | Bin 1491 -> 0 bytes app/open-iconic/png/paperclip.png | Bin 214 -> 0 bytes app/open-iconic/png/pencil-2x.png | Bin 200 -> 0 bytes app/open-iconic/png/pencil-3x.png | Bin 229 -> 0 bytes app/open-iconic/png/pencil-4x.png | Bin 266 -> 0 bytes app/open-iconic/png/pencil-6x.png | Bin 355 -> 0 bytes app/open-iconic/png/pencil-8x.png | Bin 439 -> 0 bytes app/open-iconic/png/pencil.png | Bin 146 -> 0 bytes app/open-iconic/png/people-2x.png | Bin 327 -> 0 bytes app/open-iconic/png/people-3x.png | Bin 455 -> 0 bytes app/open-iconic/png/people-4x.png | Bin 604 -> 0 bytes app/open-iconic/png/people-6x.png | Bin 876 -> 0 bytes app/open-iconic/png/people-8x.png | Bin 1220 -> 0 bytes app/open-iconic/png/people.png | Bin 201 -> 0 bytes app/open-iconic/png/person-2x.png | Bin 282 -> 0 bytes app/open-iconic/png/person-3x.png | Bin 385 -> 0 bytes app/open-iconic/png/person-4x.png | Bin 490 -> 0 bytes app/open-iconic/png/person-6x.png | Bin 689 -> 0 bytes app/open-iconic/png/person-8x.png | Bin 952 -> 0 bytes app/open-iconic/png/person.png | Bin 187 -> 0 bytes app/open-iconic/png/phone-2x.png | Bin 181 -> 0 bytes app/open-iconic/png/phone-3x.png | Bin 224 -> 0 bytes app/open-iconic/png/phone-4x.png | Bin 257 -> 0 bytes app/open-iconic/png/phone-6x.png | Bin 329 -> 0 bytes app/open-iconic/png/phone-8x.png | Bin 452 -> 0 bytes app/open-iconic/png/phone.png | Bin 146 -> 0 bytes app/open-iconic/png/pie-chart-2x.png | Bin 316 -> 0 bytes app/open-iconic/png/pie-chart-3x.png | Bin 431 -> 0 bytes app/open-iconic/png/pie-chart-4x.png | Bin 547 -> 0 bytes app/open-iconic/png/pie-chart-6x.png | Bin 755 -> 0 bytes app/open-iconic/png/pie-chart-8x.png | Bin 1056 -> 0 bytes app/open-iconic/png/pie-chart.png | Bin 214 -> 0 bytes app/open-iconic/png/pin-2x.png | Bin 202 -> 0 bytes app/open-iconic/png/pin-3x.png | Bin 254 -> 0 bytes app/open-iconic/png/pin-4x.png | Bin 309 -> 0 bytes app/open-iconic/png/pin-6x.png | Bin 417 -> 0 bytes app/open-iconic/png/pin-8x.png | Bin 555 -> 0 bytes app/open-iconic/png/pin.png | Bin 161 -> 0 bytes app/open-iconic/png/play-circle-2x.png | Bin 286 -> 0 bytes app/open-iconic/png/play-circle-3x.png | Bin 398 -> 0 bytes app/open-iconic/png/play-circle-4x.png | Bin 513 -> 0 bytes app/open-iconic/png/play-circle-6x.png | Bin 731 -> 0 bytes app/open-iconic/png/play-circle-8x.png | Bin 988 -> 0 bytes app/open-iconic/png/play-circle.png | Bin 189 -> 0 bytes app/open-iconic/png/plus-2x.png | Bin 139 -> 0 bytes app/open-iconic/png/plus-3x.png | Bin 152 -> 0 bytes app/open-iconic/png/plus-4x.png | Bin 163 -> 0 bytes app/open-iconic/png/plus-6x.png | Bin 196 -> 0 bytes app/open-iconic/png/plus-8x.png | Bin 270 -> 0 bytes app/open-iconic/png/plus.png | Bin 126 -> 0 bytes app/open-iconic/png/power-standby-2x.png | Bin 322 -> 0 bytes app/open-iconic/png/power-standby-3x.png | Bin 464 -> 0 bytes app/open-iconic/png/power-standby-4x.png | Bin 613 -> 0 bytes app/open-iconic/png/power-standby-6x.png | Bin 910 -> 0 bytes app/open-iconic/png/power-standby-8x.png | Bin 1236 -> 0 bytes app/open-iconic/png/power-standby.png | Bin 200 -> 0 bytes app/open-iconic/png/print-2x.png | Bin 188 -> 0 bytes app/open-iconic/png/print-3x.png | Bin 205 -> 0 bytes app/open-iconic/png/print-4x.png | Bin 222 -> 0 bytes app/open-iconic/png/print-6x.png | Bin 264 -> 0 bytes app/open-iconic/png/print-8x.png | Bin 323 -> 0 bytes app/open-iconic/png/print.png | Bin 154 -> 0 bytes app/open-iconic/png/project-2x.png | Bin 163 -> 0 bytes app/open-iconic/png/project-3x.png | Bin 170 -> 0 bytes app/open-iconic/png/project-4x.png | Bin 194 -> 0 bytes app/open-iconic/png/project-6x.png | Bin 226 -> 0 bytes app/open-iconic/png/project-8x.png | Bin 287 -> 0 bytes app/open-iconic/png/project.png | Bin 144 -> 0 bytes app/open-iconic/png/pulse-2x.png | Bin 351 -> 0 bytes app/open-iconic/png/pulse-3x.png | Bin 443 -> 0 bytes app/open-iconic/png/pulse-4x.png | Bin 585 -> 0 bytes app/open-iconic/png/pulse-6x.png | Bin 871 -> 0 bytes app/open-iconic/png/pulse-8x.png | Bin 1152 -> 0 bytes app/open-iconic/png/pulse.png | Bin 207 -> 0 bytes app/open-iconic/png/puzzle-piece-2x.png | Bin 236 -> 0 bytes app/open-iconic/png/puzzle-piece-3x.png | Bin 295 -> 0 bytes app/open-iconic/png/puzzle-piece-4x.png | Bin 380 -> 0 bytes app/open-iconic/png/puzzle-piece-6x.png | Bin 537 -> 0 bytes app/open-iconic/png/puzzle-piece-8x.png | Bin 739 -> 0 bytes app/open-iconic/png/puzzle-piece.png | Bin 170 -> 0 bytes app/open-iconic/png/question-mark-2x.png | Bin 272 -> 0 bytes app/open-iconic/png/question-mark-3x.png | Bin 357 -> 0 bytes app/open-iconic/png/question-mark-4x.png | Bin 457 -> 0 bytes app/open-iconic/png/question-mark-6x.png | Bin 665 -> 0 bytes app/open-iconic/png/question-mark-8x.png | Bin 861 -> 0 bytes app/open-iconic/png/question-mark.png | Bin 177 -> 0 bytes app/open-iconic/png/rain-2x.png | Bin 309 -> 0 bytes app/open-iconic/png/rain-3x.png | Bin 434 -> 0 bytes app/open-iconic/png/rain-4x.png | Bin 551 -> 0 bytes app/open-iconic/png/rain-6x.png | Bin 770 -> 0 bytes app/open-iconic/png/rain-8x.png | Bin 1076 -> 0 bytes app/open-iconic/png/rain.png | Bin 201 -> 0 bytes app/open-iconic/png/random-2x.png | Bin 365 -> 0 bytes app/open-iconic/png/random-3x.png | Bin 496 -> 0 bytes app/open-iconic/png/random-4x.png | Bin 635 -> 0 bytes app/open-iconic/png/random-6x.png | Bin 875 -> 0 bytes app/open-iconic/png/random-8x.png | Bin 1119 -> 0 bytes app/open-iconic/png/random.png | Bin 215 -> 0 bytes app/open-iconic/png/reload-2x.png | Bin 336 -> 0 bytes app/open-iconic/png/reload-3x.png | Bin 477 -> 0 bytes app/open-iconic/png/reload-4x.png | Bin 630 -> 0 bytes app/open-iconic/png/reload-6x.png | Bin 891 -> 0 bytes app/open-iconic/png/reload-8x.png | Bin 1208 -> 0 bytes app/open-iconic/png/reload.png | Bin 209 -> 0 bytes app/open-iconic/png/resize-both-2x.png | Bin 218 -> 0 bytes app/open-iconic/png/resize-both-3x.png | Bin 247 -> 0 bytes app/open-iconic/png/resize-both-4x.png | Bin 296 -> 0 bytes app/open-iconic/png/resize-both-6x.png | Bin 416 -> 0 bytes app/open-iconic/png/resize-both-8x.png | Bin 541 -> 0 bytes app/open-iconic/png/resize-both.png | Bin 160 -> 0 bytes app/open-iconic/png/resize-height-2x.png | Bin 234 -> 0 bytes app/open-iconic/png/resize-height-3x.png | Bin 277 -> 0 bytes app/open-iconic/png/resize-height-4x.png | Bin 330 -> 0 bytes app/open-iconic/png/resize-height-6x.png | Bin 426 -> 0 bytes app/open-iconic/png/resize-height-8x.png | Bin 536 -> 0 bytes app/open-iconic/png/resize-height.png | Bin 166 -> 0 bytes app/open-iconic/png/resize-width-2x.png | Bin 228 -> 0 bytes app/open-iconic/png/resize-width-3x.png | Bin 271 -> 0 bytes app/open-iconic/png/resize-width-4x.png | Bin 315 -> 0 bytes app/open-iconic/png/resize-width-6x.png | Bin 406 -> 0 bytes app/open-iconic/png/resize-width-8x.png | Bin 510 -> 0 bytes app/open-iconic/png/resize-width.png | Bin 160 -> 0 bytes app/open-iconic/png/rss-2x.png | Bin 393 -> 0 bytes app/open-iconic/png/rss-3x.png | Bin 560 -> 0 bytes app/open-iconic/png/rss-4x.png | Bin 745 -> 0 bytes app/open-iconic/png/rss-6x.png | Bin 1104 -> 0 bytes app/open-iconic/png/rss-8x.png | Bin 1519 -> 0 bytes app/open-iconic/png/rss-alt-2x.png | Bin 345 -> 0 bytes app/open-iconic/png/rss-alt-3x.png | Bin 485 -> 0 bytes app/open-iconic/png/rss-alt-4x.png | Bin 632 -> 0 bytes app/open-iconic/png/rss-alt-6x.png | Bin 948 -> 0 bytes app/open-iconic/png/rss-alt-8x.png | Bin 1279 -> 0 bytes app/open-iconic/png/rss-alt.png | Bin 217 -> 0 bytes app/open-iconic/png/rss.png | Bin 224 -> 0 bytes app/open-iconic/png/script-2x.png | Bin 210 -> 0 bytes app/open-iconic/png/script-3x.png | Bin 268 -> 0 bytes app/open-iconic/png/script-4x.png | Bin 305 -> 0 bytes app/open-iconic/png/script-6x.png | Bin 442 -> 0 bytes app/open-iconic/png/script-8x.png | Bin 577 -> 0 bytes app/open-iconic/png/script.png | Bin 160 -> 0 bytes app/open-iconic/png/share-2x.png | Bin 278 -> 0 bytes app/open-iconic/png/share-3x.png | Bin 371 -> 0 bytes app/open-iconic/png/share-4x.png | Bin 468 -> 0 bytes app/open-iconic/png/share-6x.png | Bin 711 -> 0 bytes app/open-iconic/png/share-8x.png | Bin 907 -> 0 bytes app/open-iconic/png/share-boxed-2x.png | Bin 256 -> 0 bytes app/open-iconic/png/share-boxed-3x.png | Bin 338 -> 0 bytes app/open-iconic/png/share-boxed-4x.png | Bin 404 -> 0 bytes app/open-iconic/png/share-boxed-6x.png | Bin 553 -> 0 bytes app/open-iconic/png/share-boxed-8x.png | Bin 742 -> 0 bytes app/open-iconic/png/share-boxed.png | Bin 179 -> 0 bytes app/open-iconic/png/share.png | Bin 188 -> 0 bytes app/open-iconic/png/shield-2x.png | Bin 341 -> 0 bytes app/open-iconic/png/shield-3x.png | Bin 465 -> 0 bytes app/open-iconic/png/shield-4x.png | Bin 586 -> 0 bytes app/open-iconic/png/shield-6x.png | Bin 876 -> 0 bytes app/open-iconic/png/shield-8x.png | Bin 1191 -> 0 bytes app/open-iconic/png/shield.png | Bin 206 -> 0 bytes app/open-iconic/png/signal-2x.png | Bin 147 -> 0 bytes app/open-iconic/png/signal-3x.png | Bin 165 -> 0 bytes app/open-iconic/png/signal-4x.png | Bin 174 -> 0 bytes app/open-iconic/png/signal-6x.png | Bin 206 -> 0 bytes app/open-iconic/png/signal-8x.png | Bin 276 -> 0 bytes app/open-iconic/png/signal.png | Bin 133 -> 0 bytes app/open-iconic/png/signpost-2x.png | Bin 184 -> 0 bytes app/open-iconic/png/signpost-3x.png | Bin 205 -> 0 bytes app/open-iconic/png/signpost-4x.png | Bin 227 -> 0 bytes app/open-iconic/png/signpost-6x.png | Bin 293 -> 0 bytes app/open-iconic/png/signpost-8x.png | Bin 370 -> 0 bytes app/open-iconic/png/signpost.png | Bin 138 -> 0 bytes app/open-iconic/png/sort-ascending-2x.png | Bin 204 -> 0 bytes app/open-iconic/png/sort-ascending-3x.png | Bin 232 -> 0 bytes app/open-iconic/png/sort-ascending-4x.png | Bin 256 -> 0 bytes app/open-iconic/png/sort-ascending-6x.png | Bin 317 -> 0 bytes app/open-iconic/png/sort-ascending-8x.png | Bin 409 -> 0 bytes app/open-iconic/png/sort-ascending.png | Bin 147 -> 0 bytes app/open-iconic/png/sort-descending-2x.png | Bin 199 -> 0 bytes app/open-iconic/png/sort-descending-3x.png | Bin 231 -> 0 bytes app/open-iconic/png/sort-descending-4x.png | Bin 254 -> 0 bytes app/open-iconic/png/sort-descending-6x.png | Bin 314 -> 0 bytes app/open-iconic/png/sort-descending-8x.png | Bin 406 -> 0 bytes app/open-iconic/png/sort-descending.png | Bin 150 -> 0 bytes app/open-iconic/png/spreadsheet-2x.png | Bin 182 -> 0 bytes app/open-iconic/png/spreadsheet-3x.png | Bin 200 -> 0 bytes app/open-iconic/png/spreadsheet-4x.png | Bin 224 -> 0 bytes app/open-iconic/png/spreadsheet-6x.png | Bin 309 -> 0 bytes app/open-iconic/png/spreadsheet-8x.png | Bin 404 -> 0 bytes app/open-iconic/png/spreadsheet.png | Bin 141 -> 0 bytes app/open-iconic/png/star-2x.png | Bin 254 -> 0 bytes app/open-iconic/png/star-3x.png | Bin 324 -> 0 bytes app/open-iconic/png/star-4x.png | Bin 379 -> 0 bytes app/open-iconic/png/star-6x.png | Bin 501 -> 0 bytes app/open-iconic/png/star-8x.png | Bin 634 -> 0 bytes app/open-iconic/png/star.png | Bin 178 -> 0 bytes app/open-iconic/png/sun-2x.png | Bin 258 -> 0 bytes app/open-iconic/png/sun-3x.png | Bin 356 -> 0 bytes app/open-iconic/png/sun-4x.png | Bin 421 -> 0 bytes app/open-iconic/png/sun-6x.png | Bin 619 -> 0 bytes app/open-iconic/png/sun-8x.png | Bin 860 -> 0 bytes app/open-iconic/png/sun.png | Bin 175 -> 0 bytes app/open-iconic/png/tablet-2x.png | Bin 186 -> 0 bytes app/open-iconic/png/tablet-3x.png | Bin 237 -> 0 bytes app/open-iconic/png/tablet-4x.png | Bin 268 -> 0 bytes app/open-iconic/png/tablet-6x.png | Bin 349 -> 0 bytes app/open-iconic/png/tablet-8x.png | Bin 487 -> 0 bytes app/open-iconic/png/tablet.png | Bin 155 -> 0 bytes app/open-iconic/png/tag-2x.png | Bin 219 -> 0 bytes app/open-iconic/png/tag-3x.png | Bin 267 -> 0 bytes app/open-iconic/png/tag-4x.png | Bin 322 -> 0 bytes app/open-iconic/png/tag-6x.png | Bin 467 -> 0 bytes app/open-iconic/png/tag-8x.png | Bin 593 -> 0 bytes app/open-iconic/png/tag.png | Bin 168 -> 0 bytes app/open-iconic/png/tags-2x.png | Bin 204 -> 0 bytes app/open-iconic/png/tags-3x.png | Bin 236 -> 0 bytes app/open-iconic/png/tags-4x.png | Bin 280 -> 0 bytes app/open-iconic/png/tags-6x.png | Bin 358 -> 0 bytes app/open-iconic/png/tags-8x.png | Bin 500 -> 0 bytes app/open-iconic/png/tags.png | Bin 187 -> 0 bytes app/open-iconic/png/target-2x.png | Bin 414 -> 0 bytes app/open-iconic/png/target-3x.png | Bin 612 -> 0 bytes app/open-iconic/png/target-4x.png | Bin 833 -> 0 bytes app/open-iconic/png/target-6x.png | Bin 1253 -> 0 bytes app/open-iconic/png/target-8x.png | Bin 1694 -> 0 bytes app/open-iconic/png/target.png | Bin 216 -> 0 bytes app/open-iconic/png/task-2x.png | Bin 210 -> 0 bytes app/open-iconic/png/task-3x.png | Bin 257 -> 0 bytes app/open-iconic/png/task-4x.png | Bin 295 -> 0 bytes app/open-iconic/png/task-6x.png | Bin 387 -> 0 bytes app/open-iconic/png/task-8x.png | Bin 551 -> 0 bytes app/open-iconic/png/task.png | Bin 174 -> 0 bytes app/open-iconic/png/terminal-2x.png | Bin 218 -> 0 bytes app/open-iconic/png/terminal-3x.png | Bin 243 -> 0 bytes app/open-iconic/png/terminal-4x.png | Bin 278 -> 0 bytes app/open-iconic/png/terminal-6x.png | Bin 369 -> 0 bytes app/open-iconic/png/terminal-8x.png | Bin 462 -> 0 bytes app/open-iconic/png/terminal.png | Bin 173 -> 0 bytes app/open-iconic/png/text-2x.png | Bin 178 -> 0 bytes app/open-iconic/png/text-3x.png | Bin 233 -> 0 bytes app/open-iconic/png/text-4x.png | Bin 247 -> 0 bytes app/open-iconic/png/text-6x.png | Bin 336 -> 0 bytes app/open-iconic/png/text-8x.png | Bin 449 -> 0 bytes app/open-iconic/png/text.png | Bin 155 -> 0 bytes app/open-iconic/png/thumb-down-2x.png | Bin 238 -> 0 bytes app/open-iconic/png/thumb-down-3x.png | Bin 301 -> 0 bytes app/open-iconic/png/thumb-down-4x.png | Bin 387 -> 0 bytes app/open-iconic/png/thumb-down-6x.png | Bin 530 -> 0 bytes app/open-iconic/png/thumb-down-8x.png | Bin 722 -> 0 bytes app/open-iconic/png/thumb-down.png | Bin 171 -> 0 bytes app/open-iconic/png/thumb-up-2x.png | Bin 233 -> 0 bytes app/open-iconic/png/thumb-up-3x.png | Bin 303 -> 0 bytes app/open-iconic/png/thumb-up-4x.png | Bin 363 -> 0 bytes app/open-iconic/png/thumb-up-6x.png | Bin 534 -> 0 bytes app/open-iconic/png/thumb-up-8x.png | Bin 690 -> 0 bytes app/open-iconic/png/thumb-up.png | Bin 157 -> 0 bytes app/open-iconic/png/timer-2x.png | Bin 380 -> 0 bytes app/open-iconic/png/timer-3x.png | Bin 549 -> 0 bytes app/open-iconic/png/timer-4x.png | Bin 720 -> 0 bytes app/open-iconic/png/timer-6x.png | Bin 1077 -> 0 bytes app/open-iconic/png/timer-8x.png | Bin 1476 -> 0 bytes app/open-iconic/png/timer.png | Bin 210 -> 0 bytes app/open-iconic/png/transfer-2x.png | Bin 188 -> 0 bytes app/open-iconic/png/transfer-3x.png | Bin 221 -> 0 bytes app/open-iconic/png/transfer-4x.png | Bin 259 -> 0 bytes app/open-iconic/png/transfer-6x.png | Bin 332 -> 0 bytes app/open-iconic/png/transfer-8x.png | Bin 395 -> 0 bytes app/open-iconic/png/transfer.png | Bin 140 -> 0 bytes app/open-iconic/png/trash-2x.png | Bin 204 -> 0 bytes app/open-iconic/png/trash-3x.png | Bin 232 -> 0 bytes app/open-iconic/png/trash-4x.png | Bin 283 -> 0 bytes app/open-iconic/png/trash-6x.png | Bin 373 -> 0 bytes app/open-iconic/png/trash-8x.png | Bin 527 -> 0 bytes app/open-iconic/png/trash.png | Bin 146 -> 0 bytes app/open-iconic/png/underline-2x.png | Bin 209 -> 0 bytes app/open-iconic/png/underline-3x.png | Bin 257 -> 0 bytes app/open-iconic/png/underline-4x.png | Bin 310 -> 0 bytes app/open-iconic/png/underline-6x.png | Bin 432 -> 0 bytes app/open-iconic/png/underline-8x.png | Bin 572 -> 0 bytes app/open-iconic/png/underline.png | Bin 166 -> 0 bytes .../png/vertical-align-bottom-2x.png | Bin 192 -> 0 bytes .../png/vertical-align-bottom-3x.png | Bin 204 -> 0 bytes .../png/vertical-align-bottom-4x.png | Bin 218 -> 0 bytes .../png/vertical-align-bottom-6x.png | Bin 257 -> 0 bytes .../png/vertical-align-bottom-8x.png | Bin 315 -> 0 bytes app/open-iconic/png/vertical-align-bottom.png | Bin 160 -> 0 bytes .../png/vertical-align-center-2x.png | Bin 191 -> 0 bytes .../png/vertical-align-center-3x.png | Bin 209 -> 0 bytes .../png/vertical-align-center-4x.png | Bin 230 -> 0 bytes .../png/vertical-align-center-6x.png | Bin 264 -> 0 bytes .../png/vertical-align-center-8x.png | Bin 303 -> 0 bytes app/open-iconic/png/vertical-align-center.png | Bin 149 -> 0 bytes app/open-iconic/png/vertical-align-top-2x.png | Bin 186 -> 0 bytes app/open-iconic/png/vertical-align-top-3x.png | Bin 203 -> 0 bytes app/open-iconic/png/vertical-align-top-4x.png | Bin 220 -> 0 bytes app/open-iconic/png/vertical-align-top-6x.png | Bin 254 -> 0 bytes app/open-iconic/png/vertical-align-top-8x.png | Bin 303 -> 0 bytes app/open-iconic/png/vertical-align-top.png | Bin 153 -> 0 bytes app/open-iconic/png/video-2x.png | Bin 172 -> 0 bytes app/open-iconic/png/video-3x.png | Bin 211 -> 0 bytes app/open-iconic/png/video-4x.png | Bin 223 -> 0 bytes app/open-iconic/png/video-6x.png | Bin 307 -> 0 bytes app/open-iconic/png/video-8x.png | Bin 381 -> 0 bytes app/open-iconic/png/video.png | Bin 144 -> 0 bytes app/open-iconic/png/volume-high-2x.png | Bin 284 -> 0 bytes app/open-iconic/png/volume-high-3x.png | Bin 367 -> 0 bytes app/open-iconic/png/volume-high-4x.png | Bin 477 -> 0 bytes app/open-iconic/png/volume-high-6x.png | Bin 682 -> 0 bytes app/open-iconic/png/volume-high-8x.png | Bin 948 -> 0 bytes app/open-iconic/png/volume-high.png | Bin 183 -> 0 bytes app/open-iconic/png/volume-low-2x.png | Bin 209 -> 0 bytes app/open-iconic/png/volume-low-3x.png | Bin 256 -> 0 bytes app/open-iconic/png/volume-low-4x.png | Bin 307 -> 0 bytes app/open-iconic/png/volume-low-6x.png | Bin 402 -> 0 bytes app/open-iconic/png/volume-low-8x.png | Bin 519 -> 0 bytes app/open-iconic/png/volume-low.png | Bin 143 -> 0 bytes app/open-iconic/png/volume-off-2x.png | Bin 167 -> 0 bytes app/open-iconic/png/volume-off-3x.png | Bin 198 -> 0 bytes app/open-iconic/png/volume-off-4x.png | Bin 227 -> 0 bytes app/open-iconic/png/volume-off-6x.png | Bin 297 -> 0 bytes app/open-iconic/png/volume-off-8x.png | Bin 375 -> 0 bytes app/open-iconic/png/volume-off.png | Bin 145 -> 0 bytes app/open-iconic/png/warning-2x.png | Bin 292 -> 0 bytes app/open-iconic/png/warning-3x.png | Bin 388 -> 0 bytes app/open-iconic/png/warning-4x.png | Bin 471 -> 0 bytes app/open-iconic/png/warning-6x.png | Bin 679 -> 0 bytes app/open-iconic/png/warning-8x.png | Bin 876 -> 0 bytes app/open-iconic/png/warning.png | Bin 197 -> 0 bytes app/open-iconic/png/wifi-2x.png | Bin 311 -> 0 bytes app/open-iconic/png/wifi-3x.png | Bin 403 -> 0 bytes app/open-iconic/png/wifi-4x.png | Bin 522 -> 0 bytes app/open-iconic/png/wifi-6x.png | Bin 748 -> 0 bytes app/open-iconic/png/wifi-8x.png | Bin 1008 -> 0 bytes app/open-iconic/png/wifi.png | Bin 200 -> 0 bytes app/open-iconic/png/wrench-2x.png | Bin 265 -> 0 bytes app/open-iconic/png/wrench-3x.png | Bin 389 -> 0 bytes app/open-iconic/png/wrench-4x.png | Bin 486 -> 0 bytes app/open-iconic/png/wrench-6x.png | Bin 738 -> 0 bytes app/open-iconic/png/wrench-8x.png | Bin 977 -> 0 bytes app/open-iconic/png/wrench.png | Bin 196 -> 0 bytes app/open-iconic/png/x-2x.png | Bin 315 -> 0 bytes app/open-iconic/png/x-3x.png | Bin 401 -> 0 bytes app/open-iconic/png/x-4x.png | Bin 524 -> 0 bytes app/open-iconic/png/x-6x.png | Bin 706 -> 0 bytes app/open-iconic/png/x-8x.png | Bin 929 -> 0 bytes app/open-iconic/png/x.png | Bin 206 -> 0 bytes app/open-iconic/png/yen-2x.png | Bin 236 -> 0 bytes app/open-iconic/png/yen-3x.png | Bin 304 -> 0 bytes app/open-iconic/png/yen-4x.png | Bin 361 -> 0 bytes app/open-iconic/png/yen-6x.png | Bin 508 -> 0 bytes app/open-iconic/png/yen-8x.png | Bin 670 -> 0 bytes app/open-iconic/png/yen.png | Bin 166 -> 0 bytes app/open-iconic/png/zoom-in-2x.png | Bin 358 -> 0 bytes app/open-iconic/png/zoom-in-3x.png | Bin 507 -> 0 bytes app/open-iconic/png/zoom-in-4x.png | Bin 678 -> 0 bytes app/open-iconic/png/zoom-in-6x.png | Bin 1021 -> 0 bytes app/open-iconic/png/zoom-in-8x.png | Bin 1382 -> 0 bytes app/open-iconic/png/zoom-in.png | Bin 208 -> 0 bytes app/open-iconic/png/zoom-out-2x.png | Bin 356 -> 0 bytes app/open-iconic/png/zoom-out-3x.png | Bin 501 -> 0 bytes app/open-iconic/png/zoom-out-4x.png | Bin 671 -> 0 bytes app/open-iconic/png/zoom-out-6x.png | Bin 1021 -> 0 bytes app/open-iconic/png/zoom-out-8x.png | Bin 1355 -> 0 bytes app/open-iconic/png/zoom-out.png | Bin 205 -> 0 bytes app/open-iconic/sprite/open-iconic.html | 929 - app/open-iconic/sprite/open-iconic.min.svg | 1 - app/open-iconic/sprite/open-iconic.svg | 452 - app/open-iconic/sprite/sprite.html | 926 - app/open-iconic/sprite/sprite.min.svg | 1 - app/open-iconic/sprite/sprite.svg | 673 - app/open-iconic/svg/account-login.svg | 3 - app/open-iconic/svg/account-logout.svg | 3 - app/open-iconic/svg/action-redo.svg | 3 - app/open-iconic/svg/action-undo.svg | 3 - app/open-iconic/svg/align-center.svg | 3 - app/open-iconic/svg/align-left.svg | 3 - app/open-iconic/svg/align-right.svg | 3 - app/open-iconic/svg/aperture.svg | 4 - app/open-iconic/svg/arrow-bottom.svg | 3 - app/open-iconic/svg/arrow-circle-bottom.svg | 3 - app/open-iconic/svg/arrow-circle-left.svg | 3 - app/open-iconic/svg/arrow-circle-right.svg | 3 - app/open-iconic/svg/arrow-circle-top.svg | 3 - app/open-iconic/svg/arrow-left.svg | 3 - app/open-iconic/svg/arrow-right.svg | 3 - app/open-iconic/svg/arrow-thick-bottom.svg | 3 - app/open-iconic/svg/arrow-thick-left.svg | 3 - app/open-iconic/svg/arrow-thick-right.svg | 3 - app/open-iconic/svg/arrow-thick-top.svg | 3 - app/open-iconic/svg/arrow-top.svg | 3 - app/open-iconic/svg/audio-spectrum.svg | 3 - app/open-iconic/svg/audio.svg | 4 - app/open-iconic/svg/badge.svg | 3 - app/open-iconic/svg/ban.svg | 3 - app/open-iconic/svg/bar-chart.svg | 3 - app/open-iconic/svg/basket.svg | 4 - app/open-iconic/svg/battery-empty.svg | 3 - app/open-iconic/svg/battery-full.svg | 3 - app/open-iconic/svg/beaker.svg | 4 - app/open-iconic/svg/bell.svg | 3 - app/open-iconic/svg/bluetooth.svg | 3 - app/open-iconic/svg/bold.svg | 3 - app/open-iconic/svg/bolt.svg | 3 - app/open-iconic/svg/book.svg | 3 - app/open-iconic/svg/bookmark.svg | 3 - app/open-iconic/svg/box.svg | 3 - app/open-iconic/svg/briefcase.svg | 4 - app/open-iconic/svg/british-pound.svg | 4 - app/open-iconic/svg/browser.svg | 4 - app/open-iconic/svg/brush.svg | 4 - app/open-iconic/svg/bug.svg | 4 - app/open-iconic/svg/bullhorn.svg | 4 - app/open-iconic/svg/calculator.svg | 3 - app/open-iconic/svg/calendar.svg | 3 - app/open-iconic/svg/camera-slr.svg | 4 - app/open-iconic/svg/caret-bottom.svg | 3 - app/open-iconic/svg/caret-left.svg | 3 - app/open-iconic/svg/caret-right.svg | 3 - app/open-iconic/svg/caret-top.svg | 3 - app/open-iconic/svg/cart.svg | 4 - app/open-iconic/svg/chat.svg | 3 - app/open-iconic/svg/check.svg | 3 - app/open-iconic/svg/chevron-bottom.svg | 3 - app/open-iconic/svg/chevron-left.svg | 3 - app/open-iconic/svg/chevron-right.svg | 3 - app/open-iconic/svg/chevron-top.svg | 3 - app/open-iconic/svg/circle-check.svg | 3 - app/open-iconic/svg/circle-x.svg | 3 - app/open-iconic/svg/clipboard.svg | 3 - app/open-iconic/svg/clock.svg | 3 - app/open-iconic/svg/cloud-download.svg | 4 - app/open-iconic/svg/cloud-upload.svg | 3 - app/open-iconic/svg/cloud.svg | 3 - app/open-iconic/svg/cloudy.svg | 4 - app/open-iconic/svg/code.svg | 3 - app/open-iconic/svg/cog.svg | 4 - app/open-iconic/svg/collapse-down.svg | 3 - app/open-iconic/svg/collapse-left.svg | 3 - app/open-iconic/svg/collapse-right.svg | 3 - app/open-iconic/svg/collapse-up.svg | 3 - app/open-iconic/svg/command.svg | 4 - app/open-iconic/svg/comment-square.svg | 3 - app/open-iconic/svg/compass.svg | 3 - app/open-iconic/svg/contrast.svg | 3 - app/open-iconic/svg/copywriting.svg | 3 - app/open-iconic/svg/credit-card.svg | 3 - app/open-iconic/svg/crop.svg | 3 - app/open-iconic/svg/dashboard.svg | 4 - .../svg/data-transfer-download.svg | 3 - app/open-iconic/svg/data-transfer-upload.svg | 3 - app/open-iconic/svg/delete.svg | 3 - app/open-iconic/svg/dial.svg | 3 - app/open-iconic/svg/document.svg | 3 - app/open-iconic/svg/dollar.svg | 4 - .../svg/double-quote-sans-left.svg | 3 - .../svg/double-quote-sans-right.svg | 3 - .../svg/double-quote-serif-left.svg | 3 - .../svg/double-quote-serif-right.svg | 3 - app/open-iconic/svg/droplet.svg | 3 - app/open-iconic/svg/eject.svg | 3 - app/open-iconic/svg/elevator.svg | 3 - app/open-iconic/svg/ellipses.svg | 3 - app/open-iconic/svg/envelope-closed.svg | 3 - app/open-iconic/svg/envelope-open.svg | 3 - app/open-iconic/svg/euro.svg | 4 - app/open-iconic/svg/excerpt.svg | 3 - app/open-iconic/svg/expand-down.svg | 3 - app/open-iconic/svg/expand-left.svg | 3 - app/open-iconic/svg/expand-right.svg | 3 - app/open-iconic/svg/expand-up.svg | 3 - app/open-iconic/svg/external-link.svg | 3 - app/open-iconic/svg/eye.svg | 4 - app/open-iconic/svg/eyedropper.svg | 4 - app/open-iconic/svg/file.svg | 3 - app/open-iconic/svg/fire.svg | 3 - app/open-iconic/svg/flag.svg | 3 - app/open-iconic/svg/flash.svg | 3 - app/open-iconic/svg/folder.svg | 3 - app/open-iconic/svg/fork.svg | 4 - app/open-iconic/svg/fullscreen-enter.svg | 3 - app/open-iconic/svg/fullscreen-exit.svg | 3 - app/open-iconic/svg/globe.svg | 4 - app/open-iconic/svg/graph.svg | 3 - app/open-iconic/svg/grid-four-up.svg | 4 - app/open-iconic/svg/grid-three-up.svg | 3 - app/open-iconic/svg/grid-two-up.svg | 3 - app/open-iconic/svg/hard-drive.svg | 4 - app/open-iconic/svg/header.svg | 3 - app/open-iconic/svg/headphones.svg | 3 - app/open-iconic/svg/heart.svg | 4 - app/open-iconic/svg/home.svg | 3 - app/open-iconic/svg/image.svg | 3 - app/open-iconic/svg/inbox.svg | 3 - app/open-iconic/svg/infinity.svg | 4 - app/open-iconic/svg/info.svg | 4 - app/open-iconic/svg/italic.svg | 3 - app/open-iconic/svg/justify-center.svg | 3 - app/open-iconic/svg/justify-left.svg | 3 - app/open-iconic/svg/justify-right.svg | 3 - app/open-iconic/svg/key.svg | 3 - app/open-iconic/svg/laptop.svg | 3 - app/open-iconic/svg/layers.svg | 3 - app/open-iconic/svg/lightbulb.svg | 4 - app/open-iconic/svg/link-broken.svg | 4 - app/open-iconic/svg/link-intact.svg | 4 - app/open-iconic/svg/list-rich.svg | 3 - app/open-iconic/svg/list.svg | 4 - app/open-iconic/svg/location.svg | 3 - app/open-iconic/svg/lock-locked.svg | 3 - app/open-iconic/svg/lock-unlocked.svg | 3 - app/open-iconic/svg/loop-circular.svg | 3 - app/open-iconic/svg/loop-square.svg | 3 - app/open-iconic/svg/loop.svg | 3 - app/open-iconic/svg/magnifying-glass.svg | 4 - app/open-iconic/svg/map-marker.svg | 3 - app/open-iconic/svg/map.svg | 4 - app/open-iconic/svg/media-pause.svg | 3 - app/open-iconic/svg/media-play.svg | 3 - app/open-iconic/svg/media-record.svg | 3 - app/open-iconic/svg/media-skip-backward.svg | 3 - app/open-iconic/svg/media-skip-forward.svg | 3 - app/open-iconic/svg/media-step-backward.svg | 3 - app/open-iconic/svg/media-step-forward.svg | 3 - app/open-iconic/svg/media-stop.svg | 3 - app/open-iconic/svg/medical-cross.svg | 3 - app/open-iconic/svg/menu.svg | 3 - app/open-iconic/svg/microphone.svg | 4 - app/open-iconic/svg/minus.svg | 3 - app/open-iconic/svg/monitor.svg | 3 - app/open-iconic/svg/moon.svg | 3 - app/open-iconic/svg/move.svg | 3 - app/open-iconic/svg/musical-note.svg | 3 - app/open-iconic/svg/paperclip.svg | 4 - app/open-iconic/svg/pencil.svg | 3 - app/open-iconic/svg/people.svg | 4 - app/open-iconic/svg/person.svg | 3 - app/open-iconic/svg/phone.svg | 3 - app/open-iconic/svg/pie-chart.svg | 4 - app/open-iconic/svg/pin.svg | 3 - app/open-iconic/svg/play-circle.svg | 3 - app/open-iconic/svg/plus.svg | 3 - app/open-iconic/svg/power-standby.svg | 4 - app/open-iconic/svg/print.svg | 3 - app/open-iconic/svg/project.svg | 3 - app/open-iconic/svg/pulse.svg | 3 - app/open-iconic/svg/puzzle-piece.svg | 4 - app/open-iconic/svg/question-mark.svg | 4 - app/open-iconic/svg/rain.svg | 4 - app/open-iconic/svg/random.svg | 4 - app/open-iconic/svg/reload.svg | 3 - app/open-iconic/svg/resize-both.svg | 3 - app/open-iconic/svg/resize-height.svg | 3 - app/open-iconic/svg/resize-width.svg | 3 - app/open-iconic/svg/rss-alt.svg | 3 - app/open-iconic/svg/rss.svg | 3 - app/open-iconic/svg/script.svg | 3 - app/open-iconic/svg/share-boxed.svg | 3 - app/open-iconic/svg/share.svg | 3 - app/open-iconic/svg/shield.svg | 4 - app/open-iconic/svg/signal.svg | 3 - app/open-iconic/svg/signpost.svg | 3 - app/open-iconic/svg/sort-ascending.svg | 3 - app/open-iconic/svg/sort-descending.svg | 3 - app/open-iconic/svg/spreadsheet.svg | 3 - app/open-iconic/svg/star.svg | 3 - app/open-iconic/svg/sun.svg | 4 - app/open-iconic/svg/tablet.svg | 3 - app/open-iconic/svg/tag.svg | 3 - app/open-iconic/svg/tags.svg | 3 - app/open-iconic/svg/target.svg | 3 - app/open-iconic/svg/task.svg | 3 - app/open-iconic/svg/terminal.svg | 3 - app/open-iconic/svg/text.svg | 3 - app/open-iconic/svg/thumb-down.svg | 3 - app/open-iconic/svg/thumb-up.svg | 4 - app/open-iconic/svg/timer.svg | 4 - app/open-iconic/svg/transfer.svg | 3 - app/open-iconic/svg/trash.svg | 3 - app/open-iconic/svg/underline.svg | 3 - app/open-iconic/svg/vertical-align-bottom.svg | 4 - app/open-iconic/svg/vertical-align-center.svg | 4 - app/open-iconic/svg/vertical-align-top.svg | 4 - app/open-iconic/svg/video.svg | 3 - app/open-iconic/svg/volume-high.svg | 4 - app/open-iconic/svg/volume-low.svg | 3 - app/open-iconic/svg/volume-off.svg | 3 - app/open-iconic/svg/warning.svg | 3 - app/open-iconic/svg/wifi.svg | 4 - app/open-iconic/svg/wrench.svg | 4 - app/open-iconic/svg/x.svg | 3 - app/open-iconic/svg/yen.svg | 3 - app/open-iconic/svg/zoom-in.svg | 4 - app/open-iconic/svg/zoom-out.svg | 4 - app/open-iconic/webp/account-login-2x.webp | Bin 140 -> 0 bytes app/open-iconic/webp/account-login-3x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/account-login-4x.webp | Bin 168 -> 0 bytes app/open-iconic/webp/account-login-6x.webp | Bin 180 -> 0 bytes app/open-iconic/webp/account-login-8x.webp | Bin 200 -> 0 bytes app/open-iconic/webp/account-login.webp | Bin 118 -> 0 bytes app/open-iconic/webp/account-logout-2x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/account-logout-3x.webp | Bin 160 -> 0 bytes app/open-iconic/webp/account-logout-4x.webp | Bin 168 -> 0 bytes app/open-iconic/webp/account-logout-6x.webp | Bin 184 -> 0 bytes app/open-iconic/webp/account-logout-8x.webp | Bin 196 -> 0 bytes app/open-iconic/webp/account-logout.webp | Bin 114 -> 0 bytes app/open-iconic/webp/action-redo-2x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/action-redo-3x.webp | Bin 256 -> 0 bytes app/open-iconic/webp/action-redo-4x.webp | Bin 306 -> 0 bytes app/open-iconic/webp/action-redo-6x.webp | Bin 404 -> 0 bytes app/open-iconic/webp/action-redo-8x.webp | Bin 486 -> 0 bytes app/open-iconic/webp/action-redo.webp | Bin 142 -> 0 bytes app/open-iconic/webp/action-undo-2x.webp | Bin 182 -> 0 bytes app/open-iconic/webp/action-undo-3x.webp | Bin 248 -> 0 bytes app/open-iconic/webp/action-undo-4x.webp | Bin 298 -> 0 bytes app/open-iconic/webp/action-undo-6x.webp | Bin 396 -> 0 bytes app/open-iconic/webp/action-undo-8x.webp | Bin 508 -> 0 bytes app/open-iconic/webp/action-undo.webp | Bin 140 -> 0 bytes app/open-iconic/webp/align-center-2x.webp | Bin 100 -> 0 bytes app/open-iconic/webp/align-center-3x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/align-center-4x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/align-center-6x.webp | Bin 128 -> 0 bytes app/open-iconic/webp/align-center-8x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/align-center.webp | Bin 90 -> 0 bytes app/open-iconic/webp/align-left-2x.webp | Bin 100 -> 0 bytes app/open-iconic/webp/align-left-3x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/align-left-4x.webp | Bin 114 -> 0 bytes app/open-iconic/webp/align-left-6x.webp | Bin 128 -> 0 bytes app/open-iconic/webp/align-left-8x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/align-left.webp | Bin 92 -> 0 bytes app/open-iconic/webp/align-right-2x.webp | Bin 100 -> 0 bytes app/open-iconic/webp/align-right-3x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/align-right-4x.webp | Bin 114 -> 0 bytes app/open-iconic/webp/align-right-6x.webp | Bin 124 -> 0 bytes app/open-iconic/webp/align-right-8x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/align-right.webp | Bin 94 -> 0 bytes app/open-iconic/webp/aperture-2x.webp | Bin 278 -> 0 bytes app/open-iconic/webp/aperture-3x.webp | Bin 372 -> 0 bytes app/open-iconic/webp/aperture-4x.webp | Bin 466 -> 0 bytes app/open-iconic/webp/aperture-6x.webp | Bin 650 -> 0 bytes app/open-iconic/webp/aperture-8x.webp | Bin 826 -> 0 bytes app/open-iconic/webp/aperture.webp | Bin 170 -> 0 bytes app/open-iconic/webp/arrow-bottom-2x.webp | Bin 156 -> 0 bytes app/open-iconic/webp/arrow-bottom-3x.webp | Bin 192 -> 0 bytes app/open-iconic/webp/arrow-bottom-4x.webp | Bin 216 -> 0 bytes app/open-iconic/webp/arrow-bottom-6x.webp | Bin 262 -> 0 bytes app/open-iconic/webp/arrow-bottom-8x.webp | Bin 314 -> 0 bytes app/open-iconic/webp/arrow-bottom.webp | Bin 122 -> 0 bytes .../webp/arrow-circle-bottom-2x.webp | Bin 208 -> 0 bytes .../webp/arrow-circle-bottom-3x.webp | Bin 286 -> 0 bytes .../webp/arrow-circle-bottom-4x.webp | Bin 354 -> 0 bytes .../webp/arrow-circle-bottom-6x.webp | Bin 526 -> 0 bytes .../webp/arrow-circle-bottom-8x.webp | Bin 680 -> 0 bytes app/open-iconic/webp/arrow-circle-bottom.webp | Bin 148 -> 0 bytes .../webp/arrow-circle-left-2x.webp | Bin 206 -> 0 bytes .../webp/arrow-circle-left-3x.webp | Bin 282 -> 0 bytes .../webp/arrow-circle-left-4x.webp | Bin 348 -> 0 bytes .../webp/arrow-circle-left-6x.webp | Bin 470 -> 0 bytes .../webp/arrow-circle-left-8x.webp | Bin 684 -> 0 bytes app/open-iconic/webp/arrow-circle-left.webp | Bin 142 -> 0 bytes .../webp/arrow-circle-right-2x.webp | Bin 210 -> 0 bytes .../webp/arrow-circle-right-3x.webp | Bin 282 -> 0 bytes .../webp/arrow-circle-right-4x.webp | Bin 346 -> 0 bytes .../webp/arrow-circle-right-6x.webp | Bin 480 -> 0 bytes .../webp/arrow-circle-right-8x.webp | Bin 684 -> 0 bytes app/open-iconic/webp/arrow-circle-right.webp | Bin 144 -> 0 bytes app/open-iconic/webp/arrow-circle-top-2x.webp | Bin 208 -> 0 bytes app/open-iconic/webp/arrow-circle-top-3x.webp | Bin 278 -> 0 bytes app/open-iconic/webp/arrow-circle-top-4x.webp | Bin 344 -> 0 bytes app/open-iconic/webp/arrow-circle-top-6x.webp | Bin 462 -> 0 bytes app/open-iconic/webp/arrow-circle-top-8x.webp | Bin 616 -> 0 bytes app/open-iconic/webp/arrow-circle-top.webp | Bin 148 -> 0 bytes app/open-iconic/webp/arrow-left-2x.webp | Bin 150 -> 0 bytes app/open-iconic/webp/arrow-left-3x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/arrow-left-4x.webp | Bin 210 -> 0 bytes app/open-iconic/webp/arrow-left-6x.webp | Bin 276 -> 0 bytes app/open-iconic/webp/arrow-left-8x.webp | Bin 306 -> 0 bytes app/open-iconic/webp/arrow-left.webp | Bin 122 -> 0 bytes app/open-iconic/webp/arrow-right-2x.webp | Bin 150 -> 0 bytes app/open-iconic/webp/arrow-right-3x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/arrow-right-4x.webp | Bin 210 -> 0 bytes app/open-iconic/webp/arrow-right-6x.webp | Bin 278 -> 0 bytes app/open-iconic/webp/arrow-right-8x.webp | Bin 338 -> 0 bytes app/open-iconic/webp/arrow-right.webp | Bin 124 -> 0 bytes .../webp/arrow-thick-bottom-2x.webp | Bin 146 -> 0 bytes .../webp/arrow-thick-bottom-3x.webp | Bin 170 -> 0 bytes .../webp/arrow-thick-bottom-4x.webp | Bin 194 -> 0 bytes .../webp/arrow-thick-bottom-6x.webp | Bin 234 -> 0 bytes .../webp/arrow-thick-bottom-8x.webp | Bin 284 -> 0 bytes app/open-iconic/webp/arrow-thick-bottom.webp | Bin 112 -> 0 bytes app/open-iconic/webp/arrow-thick-left-2x.webp | Bin 136 -> 0 bytes app/open-iconic/webp/arrow-thick-left-3x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/arrow-thick-left-4x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/arrow-thick-left-6x.webp | Bin 260 -> 0 bytes app/open-iconic/webp/arrow-thick-left-8x.webp | Bin 332 -> 0 bytes app/open-iconic/webp/arrow-thick-left.webp | Bin 118 -> 0 bytes .../webp/arrow-thick-right-2x.webp | Bin 144 -> 0 bytes .../webp/arrow-thick-right-3x.webp | Bin 172 -> 0 bytes .../webp/arrow-thick-right-4x.webp | Bin 188 -> 0 bytes .../webp/arrow-thick-right-6x.webp | Bin 262 -> 0 bytes .../webp/arrow-thick-right-8x.webp | Bin 328 -> 0 bytes app/open-iconic/webp/arrow-thick-right.webp | Bin 118 -> 0 bytes app/open-iconic/webp/arrow-thick-top-2x.webp | Bin 136 -> 0 bytes app/open-iconic/webp/arrow-thick-top-3x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/arrow-thick-top-4x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/arrow-thick-top-6x.webp | Bin 230 -> 0 bytes app/open-iconic/webp/arrow-thick-top-8x.webp | Bin 286 -> 0 bytes app/open-iconic/webp/arrow-thick-top.webp | Bin 118 -> 0 bytes app/open-iconic/webp/arrow-top-2x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/arrow-top-3x.webp | Bin 192 -> 0 bytes app/open-iconic/webp/arrow-top-4x.webp | Bin 212 -> 0 bytes app/open-iconic/webp/arrow-top-6x.webp | Bin 258 -> 0 bytes app/open-iconic/webp/arrow-top-8x.webp | Bin 314 -> 0 bytes app/open-iconic/webp/arrow-top.webp | Bin 122 -> 0 bytes app/open-iconic/webp/audio-2x.webp | Bin 246 -> 0 bytes app/open-iconic/webp/audio-3x.webp | Bin 344 -> 0 bytes app/open-iconic/webp/audio-4x.webp | Bin 420 -> 0 bytes app/open-iconic/webp/audio-6x.webp | Bin 570 -> 0 bytes app/open-iconic/webp/audio-8x.webp | Bin 770 -> 0 bytes app/open-iconic/webp/audio-spectrum-2x.webp | Bin 102 -> 0 bytes app/open-iconic/webp/audio-spectrum-3x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/audio-spectrum-4x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/audio-spectrum-6x.webp | Bin 124 -> 0 bytes app/open-iconic/webp/audio-spectrum-8x.webp | Bin 130 -> 0 bytes app/open-iconic/webp/audio-spectrum.webp | Bin 94 -> 0 bytes app/open-iconic/webp/audio.webp | Bin 156 -> 0 bytes app/open-iconic/webp/badge-2x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/badge-3x.webp | Bin 216 -> 0 bytes app/open-iconic/webp/badge-4x.webp | Bin 252 -> 0 bytes app/open-iconic/webp/badge-6x.webp | Bin 332 -> 0 bytes app/open-iconic/webp/badge-8x.webp | Bin 416 -> 0 bytes app/open-iconic/webp/badge.webp | Bin 130 -> 0 bytes app/open-iconic/webp/ban-2x.webp | Bin 258 -> 0 bytes app/open-iconic/webp/ban-3x.webp | Bin 364 -> 0 bytes app/open-iconic/webp/ban-4x.webp | Bin 480 -> 0 bytes app/open-iconic/webp/ban-6x.webp | Bin 624 -> 0 bytes app/open-iconic/webp/ban-8x.webp | Bin 794 -> 0 bytes app/open-iconic/webp/ban.webp | Bin 158 -> 0 bytes app/open-iconic/webp/bar-chart-2x.webp | Bin 104 -> 0 bytes app/open-iconic/webp/bar-chart-3x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/bar-chart-4x.webp | Bin 118 -> 0 bytes app/open-iconic/webp/bar-chart-6x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/bar-chart-8x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/bar-chart.webp | Bin 96 -> 0 bytes app/open-iconic/webp/basket-2x.webp | Bin 200 -> 0 bytes app/open-iconic/webp/basket-3x.webp | Bin 282 -> 0 bytes app/open-iconic/webp/basket-4x.webp | Bin 334 -> 0 bytes app/open-iconic/webp/basket-6x.webp | Bin 440 -> 0 bytes app/open-iconic/webp/basket-8x.webp | Bin 500 -> 0 bytes app/open-iconic/webp/basket.webp | Bin 140 -> 0 bytes app/open-iconic/webp/battery-empty-2x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/battery-empty-3x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/battery-empty-4x.webp | Bin 170 -> 0 bytes app/open-iconic/webp/battery-empty-6x.webp | Bin 178 -> 0 bytes app/open-iconic/webp/battery-empty-8x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/battery-empty.webp | Bin 122 -> 0 bytes app/open-iconic/webp/battery-full-2x.webp | Bin 142 -> 0 bytes app/open-iconic/webp/battery-full-3x.webp | Bin 154 -> 0 bytes app/open-iconic/webp/battery-full-4x.webp | Bin 160 -> 0 bytes app/open-iconic/webp/battery-full-6x.webp | Bin 172 -> 0 bytes app/open-iconic/webp/battery-full-8x.webp | Bin 178 -> 0 bytes app/open-iconic/webp/battery-full.webp | Bin 120 -> 0 bytes app/open-iconic/webp/beaker-2x.webp | Bin 216 -> 0 bytes app/open-iconic/webp/beaker-3x.webp | Bin 298 -> 0 bytes app/open-iconic/webp/beaker-4x.webp | Bin 376 -> 0 bytes app/open-iconic/webp/beaker-6x.webp | Bin 472 -> 0 bytes app/open-iconic/webp/beaker-8x.webp | Bin 594 -> 0 bytes app/open-iconic/webp/beaker.webp | Bin 150 -> 0 bytes app/open-iconic/webp/bell-2x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/bell-3x.webp | Bin 240 -> 0 bytes app/open-iconic/webp/bell-4x.webp | Bin 294 -> 0 bytes app/open-iconic/webp/bell-6x.webp | Bin 384 -> 0 bytes app/open-iconic/webp/bell-8x.webp | Bin 462 -> 0 bytes app/open-iconic/webp/bell.webp | Bin 138 -> 0 bytes app/open-iconic/webp/bluetooth-2x.webp | Bin 202 -> 0 bytes app/open-iconic/webp/bluetooth-3x.webp | Bin 282 -> 0 bytes app/open-iconic/webp/bluetooth-4x.webp | Bin 312 -> 0 bytes app/open-iconic/webp/bluetooth-6x.webp | Bin 410 -> 0 bytes app/open-iconic/webp/bluetooth-8x.webp | Bin 522 -> 0 bytes app/open-iconic/webp/bluetooth.webp | Bin 148 -> 0 bytes app/open-iconic/webp/bold-2x.webp | Bin 200 -> 0 bytes app/open-iconic/webp/bold-3x.webp | Bin 276 -> 0 bytes app/open-iconic/webp/bold-4x.webp | Bin 332 -> 0 bytes app/open-iconic/webp/bold-6x.webp | Bin 446 -> 0 bytes app/open-iconic/webp/bold-8x.webp | Bin 520 -> 0 bytes app/open-iconic/webp/bold.webp | Bin 140 -> 0 bytes app/open-iconic/webp/bolt-2x.webp | Bin 160 -> 0 bytes app/open-iconic/webp/bolt-3x.webp | Bin 194 -> 0 bytes app/open-iconic/webp/bolt-4x.webp | Bin 202 -> 0 bytes app/open-iconic/webp/bolt-6x.webp | Bin 202 -> 0 bytes app/open-iconic/webp/bolt-8x.webp | Bin 208 -> 0 bytes app/open-iconic/webp/bolt.webp | Bin 130 -> 0 bytes app/open-iconic/webp/book-2x.webp | Bin 146 -> 0 bytes app/open-iconic/webp/book-3x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/book-4x.webp | Bin 214 -> 0 bytes app/open-iconic/webp/book-6x.webp | Bin 254 -> 0 bytes app/open-iconic/webp/book-8x.webp | Bin 304 -> 0 bytes app/open-iconic/webp/book.webp | Bin 128 -> 0 bytes app/open-iconic/webp/bookmark-2x.webp | Bin 114 -> 0 bytes app/open-iconic/webp/bookmark-3x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/bookmark-4x.webp | Bin 140 -> 0 bytes app/open-iconic/webp/bookmark-6x.webp | Bin 156 -> 0 bytes app/open-iconic/webp/bookmark-8x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/bookmark.webp | Bin 102 -> 0 bytes app/open-iconic/webp/box-2x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/box-3x.webp | Bin 146 -> 0 bytes app/open-iconic/webp/box-4x.webp | Bin 146 -> 0 bytes app/open-iconic/webp/box-6x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/box-8x.webp | Bin 160 -> 0 bytes app/open-iconic/webp/box.webp | Bin 108 -> 0 bytes app/open-iconic/webp/briefcase-2x.webp | Bin 154 -> 0 bytes app/open-iconic/webp/briefcase-3x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/briefcase-4x.webp | Bin 194 -> 0 bytes app/open-iconic/webp/briefcase-6x.webp | Bin 226 -> 0 bytes app/open-iconic/webp/briefcase-8x.webp | Bin 260 -> 0 bytes app/open-iconic/webp/briefcase.webp | Bin 128 -> 0 bytes app/open-iconic/webp/british-pound-2x.webp | Bin 198 -> 0 bytes app/open-iconic/webp/british-pound-3x.webp | Bin 266 -> 0 bytes app/open-iconic/webp/british-pound-4x.webp | Bin 320 -> 0 bytes app/open-iconic/webp/british-pound-6x.webp | Bin 426 -> 0 bytes app/open-iconic/webp/british-pound-8x.webp | Bin 508 -> 0 bytes app/open-iconic/webp/british-pound.webp | Bin 134 -> 0 bytes app/open-iconic/webp/browser-2x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/browser-3x.webp | Bin 176 -> 0 bytes app/open-iconic/webp/browser-4x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/browser-6x.webp | Bin 240 -> 0 bytes app/open-iconic/webp/browser-8x.webp | Bin 278 -> 0 bytes app/open-iconic/webp/browser.webp | Bin 122 -> 0 bytes app/open-iconic/webp/brush-2x.webp | Bin 226 -> 0 bytes app/open-iconic/webp/brush-3x.webp | Bin 296 -> 0 bytes app/open-iconic/webp/brush-4x.webp | Bin 364 -> 0 bytes app/open-iconic/webp/brush-6x.webp | Bin 450 -> 0 bytes app/open-iconic/webp/brush-8x.webp | Bin 568 -> 0 bytes app/open-iconic/webp/brush.webp | Bin 146 -> 0 bytes app/open-iconic/webp/bug-2x.webp | Bin 262 -> 0 bytes app/open-iconic/webp/bug-3x.webp | Bin 370 -> 0 bytes app/open-iconic/webp/bug-4x.webp | Bin 432 -> 0 bytes app/open-iconic/webp/bug-6x.webp | Bin 602 -> 0 bytes app/open-iconic/webp/bug-8x.webp | Bin 774 -> 0 bytes app/open-iconic/webp/bug.webp | Bin 158 -> 0 bytes app/open-iconic/webp/bullhorn-2x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/bullhorn-3x.webp | Bin 234 -> 0 bytes app/open-iconic/webp/bullhorn-4x.webp | Bin 270 -> 0 bytes app/open-iconic/webp/bullhorn-6x.webp | Bin 340 -> 0 bytes app/open-iconic/webp/bullhorn-8x.webp | Bin 432 -> 0 bytes app/open-iconic/webp/bullhorn.webp | Bin 134 -> 0 bytes app/open-iconic/webp/calculator-2x.webp | Bin 136 -> 0 bytes app/open-iconic/webp/calculator-3x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/calculator-4x.webp | Bin 158 -> 0 bytes app/open-iconic/webp/calculator-6x.webp | Bin 162 -> 0 bytes app/open-iconic/webp/calculator-8x.webp | Bin 168 -> 0 bytes app/open-iconic/webp/calculator.webp | Bin 112 -> 0 bytes app/open-iconic/webp/calendar-2x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/calendar-3x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/calendar-4x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/calendar-6x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/calendar-8x.webp | Bin 160 -> 0 bytes app/open-iconic/webp/calendar.webp | Bin 110 -> 0 bytes app/open-iconic/webp/camera-slr-2x.webp | Bin 232 -> 0 bytes app/open-iconic/webp/camera-slr-3x.webp | Bin 330 -> 0 bytes app/open-iconic/webp/camera-slr-4x.webp | Bin 392 -> 0 bytes app/open-iconic/webp/camera-slr-6x.webp | Bin 496 -> 0 bytes app/open-iconic/webp/camera-slr-8x.webp | Bin 692 -> 0 bytes app/open-iconic/webp/camera-slr.webp | Bin 154 -> 0 bytes app/open-iconic/webp/caret-bottom-2x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/caret-bottom-3x.webp | Bin 150 -> 0 bytes app/open-iconic/webp/caret-bottom-4x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/caret-bottom-6x.webp | Bin 184 -> 0 bytes app/open-iconic/webp/caret-bottom-8x.webp | Bin 216 -> 0 bytes app/open-iconic/webp/caret-bottom.webp | Bin 108 -> 0 bytes app/open-iconic/webp/caret-left-2x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/caret-left-3x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/caret-left-4x.webp | Bin 140 -> 0 bytes app/open-iconic/webp/caret-left-6x.webp | Bin 146 -> 0 bytes app/open-iconic/webp/caret-left-8x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/caret-left.webp | Bin 104 -> 0 bytes app/open-iconic/webp/caret-right-2x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/caret-right-3x.webp | Bin 140 -> 0 bytes app/open-iconic/webp/caret-right-4x.webp | Bin 142 -> 0 bytes app/open-iconic/webp/caret-right-6x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/caret-right-8x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/caret-right.webp | Bin 104 -> 0 bytes app/open-iconic/webp/caret-top-2x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/caret-top-3x.webp | Bin 150 -> 0 bytes app/open-iconic/webp/caret-top-4x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/caret-top-6x.webp | Bin 180 -> 0 bytes app/open-iconic/webp/caret-top-8x.webp | Bin 212 -> 0 bytes app/open-iconic/webp/caret-top.webp | Bin 108 -> 0 bytes app/open-iconic/webp/cart-2x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/cart-3x.webp | Bin 220 -> 0 bytes app/open-iconic/webp/cart-4x.webp | Bin 260 -> 0 bytes app/open-iconic/webp/cart-6x.webp | Bin 346 -> 0 bytes app/open-iconic/webp/cart-8x.webp | Bin 432 -> 0 bytes app/open-iconic/webp/cart.webp | Bin 132 -> 0 bytes app/open-iconic/webp/chat-2x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/chat-3x.webp | Bin 142 -> 0 bytes app/open-iconic/webp/chat-4x.webp | Bin 146 -> 0 bytes app/open-iconic/webp/chat-6x.webp | Bin 158 -> 0 bytes app/open-iconic/webp/chat-8x.webp | Bin 168 -> 0 bytes app/open-iconic/webp/chat.webp | Bin 106 -> 0 bytes app/open-iconic/webp/check-2x.webp | Bin 160 -> 0 bytes app/open-iconic/webp/check-3x.webp | Bin 202 -> 0 bytes app/open-iconic/webp/check-4x.webp | Bin 240 -> 0 bytes app/open-iconic/webp/check-6x.webp | Bin 274 -> 0 bytes app/open-iconic/webp/check-8x.webp | Bin 366 -> 0 bytes app/open-iconic/webp/check.webp | Bin 140 -> 0 bytes app/open-iconic/webp/chevron-bottom-2x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/chevron-bottom-3x.webp | Bin 184 -> 0 bytes app/open-iconic/webp/chevron-bottom-4x.webp | Bin 194 -> 0 bytes app/open-iconic/webp/chevron-bottom-6x.webp | Bin 224 -> 0 bytes app/open-iconic/webp/chevron-bottom-8x.webp | Bin 286 -> 0 bytes app/open-iconic/webp/chevron-bottom.webp | Bin 120 -> 0 bytes app/open-iconic/webp/chevron-left-2x.webp | Bin 134 -> 0 bytes app/open-iconic/webp/chevron-left-3x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/chevron-left-4x.webp | Bin 174 -> 0 bytes app/open-iconic/webp/chevron-left-6x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/chevron-left-8x.webp | Bin 214 -> 0 bytes app/open-iconic/webp/chevron-left.webp | Bin 104 -> 0 bytes app/open-iconic/webp/chevron-right-2x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/chevron-right-3x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/chevron-right-4x.webp | Bin 174 -> 0 bytes app/open-iconic/webp/chevron-right-6x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/chevron-right-8x.webp | Bin 212 -> 0 bytes app/open-iconic/webp/chevron-right.webp | Bin 118 -> 0 bytes app/open-iconic/webp/chevron-top-2x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/chevron-top-3x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/chevron-top-4x.webp | Bin 192 -> 0 bytes app/open-iconic/webp/chevron-top-6x.webp | Bin 226 -> 0 bytes app/open-iconic/webp/chevron-top-8x.webp | Bin 270 -> 0 bytes app/open-iconic/webp/chevron-top.webp | Bin 114 -> 0 bytes app/open-iconic/webp/circle-check-2x.webp | Bin 238 -> 0 bytes app/open-iconic/webp/circle-check-3x.webp | Bin 336 -> 0 bytes app/open-iconic/webp/circle-check-4x.webp | Bin 386 -> 0 bytes app/open-iconic/webp/circle-check-6x.webp | Bin 522 -> 0 bytes app/open-iconic/webp/circle-check-8x.webp | Bin 706 -> 0 bytes app/open-iconic/webp/circle-check.webp | Bin 158 -> 0 bytes app/open-iconic/webp/circle-x-2x.webp | Bin 230 -> 0 bytes app/open-iconic/webp/circle-x-3x.webp | Bin 318 -> 0 bytes app/open-iconic/webp/circle-x-4x.webp | Bin 392 -> 0 bytes app/open-iconic/webp/circle-x-6x.webp | Bin 536 -> 0 bytes app/open-iconic/webp/circle-x-8x.webp | Bin 696 -> 0 bytes app/open-iconic/webp/circle-x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/clipboard-2x.webp | Bin 130 -> 0 bytes app/open-iconic/webp/clipboard-3x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/clipboard-4x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/clipboard-6x.webp | Bin 198 -> 0 bytes app/open-iconic/webp/clipboard-8x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/clipboard.webp | Bin 114 -> 0 bytes app/open-iconic/webp/clock-2x.webp | Bin 270 -> 0 bytes app/open-iconic/webp/clock-3x.webp | Bin 402 -> 0 bytes app/open-iconic/webp/clock-4x.webp | Bin 512 -> 0 bytes app/open-iconic/webp/clock-6x.webp | Bin 670 -> 0 bytes app/open-iconic/webp/clock-8x.webp | Bin 868 -> 0 bytes app/open-iconic/webp/clock.webp | Bin 156 -> 0 bytes app/open-iconic/webp/cloud-2x.webp | Bin 176 -> 0 bytes app/open-iconic/webp/cloud-3x.webp | Bin 244 -> 0 bytes app/open-iconic/webp/cloud-4x.webp | Bin 282 -> 0 bytes app/open-iconic/webp/cloud-6x.webp | Bin 362 -> 0 bytes app/open-iconic/webp/cloud-8x.webp | Bin 434 -> 0 bytes app/open-iconic/webp/cloud-download-2x.webp | Bin 202 -> 0 bytes app/open-iconic/webp/cloud-download-3x.webp | Bin 302 -> 0 bytes app/open-iconic/webp/cloud-download-4x.webp | Bin 342 -> 0 bytes app/open-iconic/webp/cloud-download-6x.webp | Bin 468 -> 0 bytes app/open-iconic/webp/cloud-download-8x.webp | Bin 570 -> 0 bytes app/open-iconic/webp/cloud-download.webp | Bin 146 -> 0 bytes app/open-iconic/webp/cloud-upload-2x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/cloud-upload-3x.webp | Bin 270 -> 0 bytes app/open-iconic/webp/cloud-upload-4x.webp | Bin 306 -> 0 bytes app/open-iconic/webp/cloud-upload-6x.webp | Bin 400 -> 0 bytes app/open-iconic/webp/cloud-upload-8x.webp | Bin 534 -> 0 bytes app/open-iconic/webp/cloud-upload.webp | Bin 142 -> 0 bytes app/open-iconic/webp/cloud.webp | Bin 140 -> 0 bytes app/open-iconic/webp/cloudy-2x.webp | Bin 220 -> 0 bytes app/open-iconic/webp/cloudy-3x.webp | Bin 314 -> 0 bytes app/open-iconic/webp/cloudy-4x.webp | Bin 380 -> 0 bytes app/open-iconic/webp/cloudy-6x.webp | Bin 478 -> 0 bytes app/open-iconic/webp/cloudy-8x.webp | Bin 612 -> 0 bytes app/open-iconic/webp/cloudy.webp | Bin 158 -> 0 bytes app/open-iconic/webp/code-2x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/code-3x.webp | Bin 184 -> 0 bytes app/open-iconic/webp/code-4x.webp | Bin 208 -> 0 bytes app/open-iconic/webp/code-6x.webp | Bin 254 -> 0 bytes app/open-iconic/webp/code-8x.webp | Bin 290 -> 0 bytes app/open-iconic/webp/code.webp | Bin 108 -> 0 bytes app/open-iconic/webp/cog-2x.webp | Bin 236 -> 0 bytes app/open-iconic/webp/cog-3x.webp | Bin 328 -> 0 bytes app/open-iconic/webp/cog-4x.webp | Bin 406 -> 0 bytes app/open-iconic/webp/cog-6x.webp | Bin 548 -> 0 bytes app/open-iconic/webp/cog-8x.webp | Bin 722 -> 0 bytes app/open-iconic/webp/cog.webp | Bin 144 -> 0 bytes app/open-iconic/webp/collapse-down-2x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/collapse-down-3x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/collapse-down-4x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/collapse-down-6x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/collapse-down-8x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/collapse-down.webp | Bin 104 -> 0 bytes app/open-iconic/webp/collapse-left-2x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/collapse-left-3x.webp | Bin 142 -> 0 bytes app/open-iconic/webp/collapse-left-4x.webp | Bin 142 -> 0 bytes app/open-iconic/webp/collapse-left-6x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/collapse-left-8x.webp | Bin 154 -> 0 bytes app/open-iconic/webp/collapse-left.webp | Bin 100 -> 0 bytes app/open-iconic/webp/collapse-right-2x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/collapse-right-3x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/collapse-right-4x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/collapse-right-6x.webp | Bin 150 -> 0 bytes app/open-iconic/webp/collapse-right-8x.webp | Bin 156 -> 0 bytes app/open-iconic/webp/collapse-right.webp | Bin 100 -> 0 bytes app/open-iconic/webp/collapse-up-2x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/collapse-up-3x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/collapse-up-4x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/collapse-up-6x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/collapse-up-8x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/collapse-up.webp | Bin 104 -> 0 bytes app/open-iconic/webp/command-2x.webp | Bin 202 -> 0 bytes app/open-iconic/webp/command-3x.webp | Bin 268 -> 0 bytes app/open-iconic/webp/command-4x.webp | Bin 360 -> 0 bytes app/open-iconic/webp/command-6x.webp | Bin 424 -> 0 bytes app/open-iconic/webp/command-8x.webp | Bin 532 -> 0 bytes app/open-iconic/webp/command.webp | Bin 132 -> 0 bytes app/open-iconic/webp/comment-square-2x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/comment-square-3x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/comment-square-4x.webp | Bin 142 -> 0 bytes app/open-iconic/webp/comment-square-6x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/comment-square-8x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/comment-square.webp | Bin 110 -> 0 bytes app/open-iconic/webp/compass-2x.webp | Bin 274 -> 0 bytes app/open-iconic/webp/compass-3x.webp | Bin 420 -> 0 bytes app/open-iconic/webp/compass-4x.webp | Bin 548 -> 0 bytes app/open-iconic/webp/compass-6x.webp | Bin 732 -> 0 bytes app/open-iconic/webp/compass-8x.webp | Bin 944 -> 0 bytes app/open-iconic/webp/compass.webp | Bin 154 -> 0 bytes app/open-iconic/webp/contrast-2x.webp | Bin 224 -> 0 bytes app/open-iconic/webp/contrast-3x.webp | Bin 324 -> 0 bytes app/open-iconic/webp/contrast-4x.webp | Bin 414 -> 0 bytes app/open-iconic/webp/contrast-6x.webp | Bin 540 -> 0 bytes app/open-iconic/webp/contrast-8x.webp | Bin 688 -> 0 bytes app/open-iconic/webp/contrast.webp | Bin 146 -> 0 bytes app/open-iconic/webp/copywriting-2x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/copywriting-3x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/copywriting-4x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/copywriting-6x.webp | Bin 176 -> 0 bytes app/open-iconic/webp/copywriting-8x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/copywriting.webp | Bin 102 -> 0 bytes app/open-iconic/webp/credit-card-2x.webp | Bin 114 -> 0 bytes app/open-iconic/webp/credit-card-3x.webp | Bin 140 -> 0 bytes app/open-iconic/webp/credit-card-4x.webp | Bin 140 -> 0 bytes app/open-iconic/webp/credit-card-6x.webp | Bin 156 -> 0 bytes app/open-iconic/webp/credit-card-8x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/credit-card.webp | Bin 112 -> 0 bytes app/open-iconic/webp/crop-2x.webp | Bin 130 -> 0 bytes app/open-iconic/webp/crop-3x.webp | Bin 178 -> 0 bytes app/open-iconic/webp/crop-4x.webp | Bin 178 -> 0 bytes app/open-iconic/webp/crop-6x.webp | Bin 206 -> 0 bytes app/open-iconic/webp/crop-8x.webp | Bin 220 -> 0 bytes app/open-iconic/webp/crop.webp | Bin 120 -> 0 bytes app/open-iconic/webp/dashboard-2x.webp | Bin 284 -> 0 bytes app/open-iconic/webp/dashboard-3x.webp | Bin 428 -> 0 bytes app/open-iconic/webp/dashboard-4x.webp | Bin 562 -> 0 bytes app/open-iconic/webp/dashboard-6x.webp | Bin 748 -> 0 bytes app/open-iconic/webp/dashboard-8x.webp | Bin 976 -> 0 bytes app/open-iconic/webp/dashboard.webp | Bin 156 -> 0 bytes .../webp/data-transfer-download-2x.webp | Bin 124 -> 0 bytes .../webp/data-transfer-download-3x.webp | Bin 154 -> 0 bytes .../webp/data-transfer-download-4x.webp | Bin 164 -> 0 bytes .../webp/data-transfer-download-6x.webp | Bin 176 -> 0 bytes .../webp/data-transfer-download-8x.webp | Bin 206 -> 0 bytes .../webp/data-transfer-download.webp | Bin 108 -> 0 bytes .../webp/data-transfer-upload-2x.webp | Bin 124 -> 0 bytes .../webp/data-transfer-upload-3x.webp | Bin 154 -> 0 bytes .../webp/data-transfer-upload-4x.webp | Bin 162 -> 0 bytes .../webp/data-transfer-upload-6x.webp | Bin 180 -> 0 bytes .../webp/data-transfer-upload-8x.webp | Bin 204 -> 0 bytes .../webp/data-transfer-upload.webp | Bin 108 -> 0 bytes app/open-iconic/webp/delete-2x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/delete-3x.webp | Bin 242 -> 0 bytes app/open-iconic/webp/delete-4x.webp | Bin 266 -> 0 bytes app/open-iconic/webp/delete-6x.webp | Bin 336 -> 0 bytes app/open-iconic/webp/delete-8x.webp | Bin 406 -> 0 bytes app/open-iconic/webp/delete.webp | Bin 144 -> 0 bytes app/open-iconic/webp/dial-2x.webp | Bin 224 -> 0 bytes app/open-iconic/webp/dial-3x.webp | Bin 320 -> 0 bytes app/open-iconic/webp/dial-4x.webp | Bin 410 -> 0 bytes app/open-iconic/webp/dial-6x.webp | Bin 522 -> 0 bytes app/open-iconic/webp/dial-8x.webp | Bin 686 -> 0 bytes app/open-iconic/webp/dial.webp | Bin 148 -> 0 bytes app/open-iconic/webp/document-2x.webp | Bin 124 -> 0 bytes app/open-iconic/webp/document-3x.webp | Bin 154 -> 0 bytes app/open-iconic/webp/document-4x.webp | Bin 156 -> 0 bytes app/open-iconic/webp/document-6x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/document-8x.webp | Bin 172 -> 0 bytes app/open-iconic/webp/document.webp | Bin 106 -> 0 bytes app/open-iconic/webp/dollar-2x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/dollar-3x.webp | Bin 304 -> 0 bytes app/open-iconic/webp/dollar-4x.webp | Bin 354 -> 0 bytes app/open-iconic/webp/dollar-6x.webp | Bin 428 -> 0 bytes app/open-iconic/webp/dollar-8x.webp | Bin 502 -> 0 bytes app/open-iconic/webp/dollar.webp | Bin 140 -> 0 bytes .../webp/double-quote-sans-left-2x.webp | Bin 122 -> 0 bytes .../webp/double-quote-sans-left-3x.webp | Bin 146 -> 0 bytes .../webp/double-quote-sans-left-4x.webp | Bin 144 -> 0 bytes .../webp/double-quote-sans-left-6x.webp | Bin 148 -> 0 bytes .../webp/double-quote-sans-left-8x.webp | Bin 156 -> 0 bytes .../webp/double-quote-sans-left.webp | Bin 108 -> 0 bytes .../webp/double-quote-sans-right-2x.webp | Bin 122 -> 0 bytes .../webp/double-quote-sans-right-3x.webp | Bin 144 -> 0 bytes .../webp/double-quote-sans-right-4x.webp | Bin 142 -> 0 bytes .../webp/double-quote-sans-right-6x.webp | Bin 144 -> 0 bytes .../webp/double-quote-sans-right-8x.webp | Bin 152 -> 0 bytes .../webp/double-quote-sans-right.webp | Bin 110 -> 0 bytes .../webp/double-quote-serif-left-2x.webp | Bin 150 -> 0 bytes .../webp/double-quote-serif-left-3x.webp | Bin 202 -> 0 bytes .../webp/double-quote-serif-left-4x.webp | Bin 222 -> 0 bytes .../webp/double-quote-serif-left-6x.webp | Bin 282 -> 0 bytes .../webp/double-quote-serif-left-8x.webp | Bin 344 -> 0 bytes .../webp/double-quote-serif-left.webp | Bin 126 -> 0 bytes .../webp/double-quote-serif-right-2x.webp | Bin 154 -> 0 bytes .../webp/double-quote-serif-right-3x.webp | Bin 208 -> 0 bytes .../webp/double-quote-serif-right-4x.webp | Bin 232 -> 0 bytes .../webp/double-quote-serif-right-6x.webp | Bin 282 -> 0 bytes .../webp/double-quote-serif-right-8x.webp | Bin 352 -> 0 bytes .../webp/double-quote-serif-right.webp | Bin 128 -> 0 bytes app/open-iconic/webp/droplet-2x.webp | Bin 228 -> 0 bytes app/open-iconic/webp/droplet-3x.webp | Bin 316 -> 0 bytes app/open-iconic/webp/droplet-4x.webp | Bin 392 -> 0 bytes app/open-iconic/webp/droplet-6x.webp | Bin 486 -> 0 bytes app/open-iconic/webp/droplet-8x.webp | Bin 614 -> 0 bytes app/open-iconic/webp/droplet.webp | Bin 158 -> 0 bytes app/open-iconic/webp/eject-2x.webp | Bin 154 -> 0 bytes app/open-iconic/webp/eject-3x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/eject-4x.webp | Bin 204 -> 0 bytes app/open-iconic/webp/eject-6x.webp | Bin 250 -> 0 bytes app/open-iconic/webp/eject-8x.webp | Bin 296 -> 0 bytes app/open-iconic/webp/eject.webp | Bin 132 -> 0 bytes app/open-iconic/webp/elevator-2x.webp | Bin 128 -> 0 bytes app/open-iconic/webp/elevator-3x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/elevator-4x.webp | Bin 184 -> 0 bytes app/open-iconic/webp/elevator-6x.webp | Bin 210 -> 0 bytes app/open-iconic/webp/elevator-8x.webp | Bin 248 -> 0 bytes app/open-iconic/webp/elevator.webp | Bin 104 -> 0 bytes app/open-iconic/webp/ellipses-2x.webp | Bin 94 -> 0 bytes app/open-iconic/webp/ellipses-3x.webp | Bin 112 -> 0 bytes app/open-iconic/webp/ellipses-4x.webp | Bin 112 -> 0 bytes app/open-iconic/webp/ellipses-6x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/ellipses-8x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/ellipses.webp | Bin 92 -> 0 bytes app/open-iconic/webp/envelope-closed-2x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/envelope-closed-3x.webp | Bin 140 -> 0 bytes app/open-iconic/webp/envelope-closed-4x.webp | Bin 154 -> 0 bytes app/open-iconic/webp/envelope-closed-6x.webp | Bin 180 -> 0 bytes app/open-iconic/webp/envelope-closed-8x.webp | Bin 198 -> 0 bytes app/open-iconic/webp/envelope-closed.webp | Bin 104 -> 0 bytes app/open-iconic/webp/envelope-open-2x.webp | Bin 158 -> 0 bytes app/open-iconic/webp/envelope-open-3x.webp | Bin 196 -> 0 bytes app/open-iconic/webp/envelope-open-4x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/envelope-open-6x.webp | Bin 214 -> 0 bytes app/open-iconic/webp/envelope-open-8x.webp | Bin 244 -> 0 bytes app/open-iconic/webp/envelope-open.webp | Bin 130 -> 0 bytes app/open-iconic/webp/euro-2x.webp | Bin 222 -> 0 bytes app/open-iconic/webp/euro-3x.webp | Bin 318 -> 0 bytes app/open-iconic/webp/euro-4x.webp | Bin 362 -> 0 bytes app/open-iconic/webp/euro-6x.webp | Bin 480 -> 0 bytes app/open-iconic/webp/euro-8x.webp | Bin 608 -> 0 bytes app/open-iconic/webp/euro.webp | Bin 152 -> 0 bytes app/open-iconic/webp/excerpt-2x.webp | Bin 104 -> 0 bytes app/open-iconic/webp/excerpt-3x.webp | Bin 124 -> 0 bytes app/open-iconic/webp/excerpt-4x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/excerpt-6x.webp | Bin 128 -> 0 bytes app/open-iconic/webp/excerpt-8x.webp | Bin 136 -> 0 bytes app/open-iconic/webp/excerpt.webp | Bin 94 -> 0 bytes app/open-iconic/webp/expand-down-2x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/expand-down-3x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/expand-down-4x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/expand-down-6x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/expand-down-8x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/expand-down.webp | Bin 104 -> 0 bytes app/open-iconic/webp/expand-left-2x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/expand-left-3x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/expand-left-4x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/expand-left-6x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/expand-left-8x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/expand-left.webp | Bin 100 -> 0 bytes app/open-iconic/webp/expand-right-2x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/expand-right-3x.webp | Bin 142 -> 0 bytes app/open-iconic/webp/expand-right-4x.webp | Bin 142 -> 0 bytes app/open-iconic/webp/expand-right-6x.webp | Bin 150 -> 0 bytes app/open-iconic/webp/expand-right-8x.webp | Bin 156 -> 0 bytes app/open-iconic/webp/expand-right.webp | Bin 102 -> 0 bytes app/open-iconic/webp/expand-up-2x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/expand-up-3x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/expand-up-4x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/expand-up-6x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/expand-up-8x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/expand-up.webp | Bin 104 -> 0 bytes app/open-iconic/webp/external-link-2x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/external-link-3x.webp | Bin 168 -> 0 bytes app/open-iconic/webp/external-link-4x.webp | Bin 182 -> 0 bytes app/open-iconic/webp/external-link-6x.webp | Bin 210 -> 0 bytes app/open-iconic/webp/external-link-8x.webp | Bin 240 -> 0 bytes app/open-iconic/webp/external-link.webp | Bin 110 -> 0 bytes app/open-iconic/webp/eye-2x.webp | Bin 236 -> 0 bytes app/open-iconic/webp/eye-3x.webp | Bin 340 -> 0 bytes app/open-iconic/webp/eye-4x.webp | Bin 446 -> 0 bytes app/open-iconic/webp/eye-6x.webp | Bin 574 -> 0 bytes app/open-iconic/webp/eye-8x.webp | Bin 748 -> 0 bytes app/open-iconic/webp/eye.webp | Bin 148 -> 0 bytes app/open-iconic/webp/eyedropper-2x.webp | Bin 244 -> 0 bytes app/open-iconic/webp/eyedropper-3x.webp | Bin 330 -> 0 bytes app/open-iconic/webp/eyedropper-4x.webp | Bin 400 -> 0 bytes app/open-iconic/webp/eyedropper-6x.webp | Bin 472 -> 0 bytes app/open-iconic/webp/eyedropper-8x.webp | Bin 560 -> 0 bytes app/open-iconic/webp/eyedropper.webp | Bin 160 -> 0 bytes app/open-iconic/webp/file-2x.webp | Bin 114 -> 0 bytes app/open-iconic/webp/file-3x.webp | Bin 134 -> 0 bytes app/open-iconic/webp/file-4x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/file-6x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/file-8x.webp | Bin 150 -> 0 bytes app/open-iconic/webp/file.webp | Bin 102 -> 0 bytes app/open-iconic/webp/fire-2x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/fire-3x.webp | Bin 310 -> 0 bytes app/open-iconic/webp/fire-4x.webp | Bin 388 -> 0 bytes app/open-iconic/webp/fire-6x.webp | Bin 528 -> 0 bytes app/open-iconic/webp/fire-8x.webp | Bin 680 -> 0 bytes app/open-iconic/webp/fire.webp | Bin 146 -> 0 bytes app/open-iconic/webp/flag-2x.webp | Bin 134 -> 0 bytes app/open-iconic/webp/flag-3x.webp | Bin 170 -> 0 bytes app/open-iconic/webp/flag-4x.webp | Bin 174 -> 0 bytes app/open-iconic/webp/flag-6x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/flag-8x.webp | Bin 254 -> 0 bytes app/open-iconic/webp/flag.webp | Bin 114 -> 0 bytes app/open-iconic/webp/flash-2x.webp | Bin 178 -> 0 bytes app/open-iconic/webp/flash-3x.webp | Bin 220 -> 0 bytes app/open-iconic/webp/flash-4x.webp | Bin 204 -> 0 bytes app/open-iconic/webp/flash-6x.webp | Bin 238 -> 0 bytes app/open-iconic/webp/flash-8x.webp | Bin 270 -> 0 bytes app/open-iconic/webp/flash.webp | Bin 136 -> 0 bytes app/open-iconic/webp/folder-2x.webp | Bin 112 -> 0 bytes app/open-iconic/webp/folder-3x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/folder-4x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/folder-6x.webp | Bin 150 -> 0 bytes app/open-iconic/webp/folder-8x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/folder.webp | Bin 104 -> 0 bytes app/open-iconic/webp/fork-2x.webp | Bin 206 -> 0 bytes app/open-iconic/webp/fork-3x.webp | Bin 302 -> 0 bytes app/open-iconic/webp/fork-4x.webp | Bin 386 -> 0 bytes app/open-iconic/webp/fork-6x.webp | Bin 500 -> 0 bytes app/open-iconic/webp/fork-8x.webp | Bin 630 -> 0 bytes app/open-iconic/webp/fork.webp | Bin 134 -> 0 bytes app/open-iconic/webp/fullscreen-enter-2x.webp | Bin 136 -> 0 bytes app/open-iconic/webp/fullscreen-enter-3x.webp | Bin 174 -> 0 bytes app/open-iconic/webp/fullscreen-enter-4x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/fullscreen-enter-6x.webp | Bin 208 -> 0 bytes app/open-iconic/webp/fullscreen-enter-8x.webp | Bin 248 -> 0 bytes app/open-iconic/webp/fullscreen-enter.webp | Bin 108 -> 0 bytes app/open-iconic/webp/fullscreen-exit-2x.webp | Bin 134 -> 0 bytes app/open-iconic/webp/fullscreen-exit-3x.webp | Bin 174 -> 0 bytes app/open-iconic/webp/fullscreen-exit-4x.webp | Bin 194 -> 0 bytes app/open-iconic/webp/fullscreen-exit-6x.webp | Bin 236 -> 0 bytes app/open-iconic/webp/fullscreen-exit-8x.webp | Bin 276 -> 0 bytes app/open-iconic/webp/fullscreen-exit.webp | Bin 108 -> 0 bytes app/open-iconic/webp/globe-2x.webp | Bin 274 -> 0 bytes app/open-iconic/webp/globe-3x.webp | Bin 404 -> 0 bytes app/open-iconic/webp/globe-4x.webp | Bin 482 -> 0 bytes app/open-iconic/webp/globe-6x.webp | Bin 682 -> 0 bytes app/open-iconic/webp/globe-8x.webp | Bin 878 -> 0 bytes app/open-iconic/webp/globe.webp | Bin 164 -> 0 bytes app/open-iconic/webp/graph-2x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/graph-3x.webp | Bin 204 -> 0 bytes app/open-iconic/webp/graph-4x.webp | Bin 240 -> 0 bytes app/open-iconic/webp/graph-6x.webp | Bin 308 -> 0 bytes app/open-iconic/webp/graph-8x.webp | Bin 390 -> 0 bytes app/open-iconic/webp/graph.webp | Bin 122 -> 0 bytes app/open-iconic/webp/grid-four-up-2x.webp | Bin 92 -> 0 bytes app/open-iconic/webp/grid-four-up-3x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/grid-four-up-4x.webp | Bin 112 -> 0 bytes app/open-iconic/webp/grid-four-up-6x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/grid-four-up-8x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/grid-four-up.webp | Bin 84 -> 0 bytes app/open-iconic/webp/grid-three-up-2x.webp | Bin 98 -> 0 bytes app/open-iconic/webp/grid-three-up-3x.webp | Bin 118 -> 0 bytes app/open-iconic/webp/grid-three-up-4x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/grid-three-up-6x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/grid-three-up-8x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/grid-three-up.webp | Bin 92 -> 0 bytes app/open-iconic/webp/grid-two-up-2x.webp | Bin 96 -> 0 bytes app/open-iconic/webp/grid-two-up-3x.webp | Bin 110 -> 0 bytes app/open-iconic/webp/grid-two-up-4x.webp | Bin 118 -> 0 bytes app/open-iconic/webp/grid-two-up-6x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/grid-two-up-8x.webp | Bin 124 -> 0 bytes app/open-iconic/webp/grid-two-up.webp | Bin 92 -> 0 bytes app/open-iconic/webp/hard-drive-2x.webp | Bin 146 -> 0 bytes app/open-iconic/webp/hard-drive-3x.webp | Bin 180 -> 0 bytes app/open-iconic/webp/hard-drive-4x.webp | Bin 192 -> 0 bytes app/open-iconic/webp/hard-drive-6x.webp | Bin 228 -> 0 bytes app/open-iconic/webp/hard-drive-8x.webp | Bin 274 -> 0 bytes app/open-iconic/webp/hard-drive.webp | Bin 120 -> 0 bytes app/open-iconic/webp/header-2x.webp | Bin 130 -> 0 bytes app/open-iconic/webp/header-3x.webp | Bin 162 -> 0 bytes app/open-iconic/webp/header-4x.webp | Bin 172 -> 0 bytes app/open-iconic/webp/header-6x.webp | Bin 206 -> 0 bytes app/open-iconic/webp/header-8x.webp | Bin 240 -> 0 bytes app/open-iconic/webp/header.webp | Bin 116 -> 0 bytes app/open-iconic/webp/headphones-2x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/headphones-3x.webp | Bin 256 -> 0 bytes app/open-iconic/webp/headphones-4x.webp | Bin 306 -> 0 bytes app/open-iconic/webp/headphones-6x.webp | Bin 396 -> 0 bytes app/open-iconic/webp/headphones-8x.webp | Bin 512 -> 0 bytes app/open-iconic/webp/headphones.webp | Bin 144 -> 0 bytes app/open-iconic/webp/heart-2x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/heart-3x.webp | Bin 242 -> 0 bytes app/open-iconic/webp/heart-4x.webp | Bin 284 -> 0 bytes app/open-iconic/webp/heart-6x.webp | Bin 366 -> 0 bytes app/open-iconic/webp/heart-8x.webp | Bin 468 -> 0 bytes app/open-iconic/webp/heart.webp | Bin 138 -> 0 bytes app/open-iconic/webp/home-2x.webp | Bin 158 -> 0 bytes app/open-iconic/webp/home-3x.webp | Bin 194 -> 0 bytes app/open-iconic/webp/home-4x.webp | Bin 212 -> 0 bytes app/open-iconic/webp/home-6x.webp | Bin 252 -> 0 bytes app/open-iconic/webp/home-8x.webp | Bin 300 -> 0 bytes app/open-iconic/webp/home.webp | Bin 134 -> 0 bytes app/open-iconic/webp/image-2x.webp | Bin 134 -> 0 bytes app/open-iconic/webp/image-3x.webp | Bin 162 -> 0 bytes app/open-iconic/webp/image-4x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/image-6x.webp | Bin 192 -> 0 bytes app/open-iconic/webp/image-8x.webp | Bin 204 -> 0 bytes app/open-iconic/webp/image.webp | Bin 112 -> 0 bytes app/open-iconic/webp/inbox-2x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/inbox-3x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/inbox-4x.webp | Bin 156 -> 0 bytes app/open-iconic/webp/inbox-6x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/inbox-8x.webp | Bin 184 -> 0 bytes app/open-iconic/webp/inbox.webp | Bin 118 -> 0 bytes app/open-iconic/webp/infinity-2x.webp | Bin 214 -> 0 bytes app/open-iconic/webp/infinity-3x.webp | Bin 314 -> 0 bytes app/open-iconic/webp/infinity-4x.webp | Bin 360 -> 0 bytes app/open-iconic/webp/infinity-6x.webp | Bin 500 -> 0 bytes app/open-iconic/webp/infinity-8x.webp | Bin 628 -> 0 bytes app/open-iconic/webp/infinity.webp | Bin 134 -> 0 bytes app/open-iconic/webp/info-2x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/info-3x.webp | Bin 276 -> 0 bytes app/open-iconic/webp/info-4x.webp | Bin 328 -> 0 bytes app/open-iconic/webp/info-6x.webp | Bin 448 -> 0 bytes app/open-iconic/webp/info-8x.webp | Bin 532 -> 0 bytes app/open-iconic/webp/info.webp | Bin 136 -> 0 bytes app/open-iconic/webp/italic-2x.webp | Bin 170 -> 0 bytes app/open-iconic/webp/italic-3x.webp | Bin 212 -> 0 bytes app/open-iconic/webp/italic-4x.webp | Bin 222 -> 0 bytes app/open-iconic/webp/italic-6x.webp | Bin 252 -> 0 bytes app/open-iconic/webp/italic-8x.webp | Bin 258 -> 0 bytes app/open-iconic/webp/italic.webp | Bin 134 -> 0 bytes app/open-iconic/webp/justify-center-2x.webp | Bin 100 -> 0 bytes app/open-iconic/webp/justify-center-3x.webp | Bin 114 -> 0 bytes app/open-iconic/webp/justify-center-4x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/justify-center-6x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/justify-center-8x.webp | Bin 130 -> 0 bytes app/open-iconic/webp/justify-center.webp | Bin 90 -> 0 bytes app/open-iconic/webp/justify-left-2x.webp | Bin 96 -> 0 bytes app/open-iconic/webp/justify-left-3x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/justify-left-4x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/justify-left-6x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/justify-left-8x.webp | Bin 128 -> 0 bytes app/open-iconic/webp/justify-left.webp | Bin 92 -> 0 bytes app/open-iconic/webp/justify-right-2x.webp | Bin 96 -> 0 bytes app/open-iconic/webp/justify-right-3x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/justify-right-4x.webp | Bin 112 -> 0 bytes app/open-iconic/webp/justify-right-6x.webp | Bin 124 -> 0 bytes app/open-iconic/webp/justify-right-8x.webp | Bin 128 -> 0 bytes app/open-iconic/webp/justify-right.webp | Bin 94 -> 0 bytes app/open-iconic/webp/key-2x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/key-3x.webp | Bin 252 -> 0 bytes app/open-iconic/webp/key-4x.webp | Bin 296 -> 0 bytes app/open-iconic/webp/key-6x.webp | Bin 392 -> 0 bytes app/open-iconic/webp/key-8x.webp | Bin 506 -> 0 bytes app/open-iconic/webp/key.webp | Bin 140 -> 0 bytes app/open-iconic/webp/laptop-2x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/laptop-3x.webp | Bin 172 -> 0 bytes app/open-iconic/webp/laptop-4x.webp | Bin 170 -> 0 bytes app/open-iconic/webp/laptop-6x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/laptop-8x.webp | Bin 212 -> 0 bytes app/open-iconic/webp/laptop.webp | Bin 122 -> 0 bytes app/open-iconic/webp/layers-2x.webp | Bin 108 -> 0 bytes app/open-iconic/webp/layers-3x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/layers-4x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/layers-6x.webp | Bin 130 -> 0 bytes app/open-iconic/webp/layers-8x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/layers.webp | Bin 96 -> 0 bytes app/open-iconic/webp/lightbulb-2x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/lightbulb-3x.webp | Bin 250 -> 0 bytes app/open-iconic/webp/lightbulb-4x.webp | Bin 298 -> 0 bytes app/open-iconic/webp/lightbulb-6x.webp | Bin 384 -> 0 bytes app/open-iconic/webp/lightbulb-8x.webp | Bin 462 -> 0 bytes app/open-iconic/webp/lightbulb.webp | Bin 144 -> 0 bytes app/open-iconic/webp/link-broken-2x.webp | Bin 246 -> 0 bytes app/open-iconic/webp/link-broken-3x.webp | Bin 348 -> 0 bytes app/open-iconic/webp/link-broken-4x.webp | Bin 420 -> 0 bytes app/open-iconic/webp/link-broken-6x.webp | Bin 510 -> 0 bytes app/open-iconic/webp/link-broken-8x.webp | Bin 672 -> 0 bytes app/open-iconic/webp/link-broken.webp | Bin 152 -> 0 bytes app/open-iconic/webp/link-intact-2x.webp | Bin 270 -> 0 bytes app/open-iconic/webp/link-intact-3x.webp | Bin 372 -> 0 bytes app/open-iconic/webp/link-intact-4x.webp | Bin 410 -> 0 bytes app/open-iconic/webp/link-intact-6x.webp | Bin 566 -> 0 bytes app/open-iconic/webp/link-intact-8x.webp | Bin 720 -> 0 bytes app/open-iconic/webp/link-intact.webp | Bin 162 -> 0 bytes app/open-iconic/webp/list-2x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/list-3x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/list-4x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/list-6x.webp | Bin 202 -> 0 bytes app/open-iconic/webp/list-8x.webp | Bin 220 -> 0 bytes app/open-iconic/webp/list-rich-2x.webp | Bin 104 -> 0 bytes app/open-iconic/webp/list-rich-3x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/list-rich-4x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/list-rich-6x.webp | Bin 124 -> 0 bytes app/open-iconic/webp/list-rich-8x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/list-rich.webp | Bin 92 -> 0 bytes app/open-iconic/webp/list.webp | Bin 108 -> 0 bytes app/open-iconic/webp/location-2x.webp | Bin 158 -> 0 bytes app/open-iconic/webp/location-3x.webp | Bin 198 -> 0 bytes app/open-iconic/webp/location-4x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/location-6x.webp | Bin 266 -> 0 bytes app/open-iconic/webp/location-8x.webp | Bin 310 -> 0 bytes app/open-iconic/webp/location.webp | Bin 126 -> 0 bytes app/open-iconic/webp/lock-locked-2x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/lock-locked-3x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/lock-locked-4x.webp | Bin 214 -> 0 bytes app/open-iconic/webp/lock-locked-6x.webp | Bin 272 -> 0 bytes app/open-iconic/webp/lock-locked-8x.webp | Bin 328 -> 0 bytes app/open-iconic/webp/lock-locked.webp | Bin 118 -> 0 bytes app/open-iconic/webp/lock-unlocked-2x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/lock-unlocked-3x.webp | Bin 184 -> 0 bytes app/open-iconic/webp/lock-unlocked-4x.webp | Bin 212 -> 0 bytes app/open-iconic/webp/lock-unlocked-6x.webp | Bin 270 -> 0 bytes app/open-iconic/webp/lock-unlocked-8x.webp | Bin 324 -> 0 bytes app/open-iconic/webp/lock-unlocked.webp | Bin 116 -> 0 bytes app/open-iconic/webp/loop-2x.webp | Bin 160 -> 0 bytes app/open-iconic/webp/loop-3x.webp | Bin 204 -> 0 bytes app/open-iconic/webp/loop-4x.webp | Bin 234 -> 0 bytes app/open-iconic/webp/loop-6x.webp | Bin 270 -> 0 bytes app/open-iconic/webp/loop-8x.webp | Bin 322 -> 0 bytes app/open-iconic/webp/loop-circular-2x.webp | Bin 198 -> 0 bytes app/open-iconic/webp/loop-circular-3x.webp | Bin 266 -> 0 bytes app/open-iconic/webp/loop-circular-4x.webp | Bin 334 -> 0 bytes app/open-iconic/webp/loop-circular-6x.webp | Bin 452 -> 0 bytes app/open-iconic/webp/loop-circular-8x.webp | Bin 582 -> 0 bytes app/open-iconic/webp/loop-circular.webp | Bin 144 -> 0 bytes app/open-iconic/webp/loop-square-2x.webp | Bin 156 -> 0 bytes app/open-iconic/webp/loop-square-3x.webp | Bin 220 -> 0 bytes app/open-iconic/webp/loop-square-4x.webp | Bin 224 -> 0 bytes app/open-iconic/webp/loop-square-6x.webp | Bin 270 -> 0 bytes app/open-iconic/webp/loop-square-8x.webp | Bin 314 -> 0 bytes app/open-iconic/webp/loop-square.webp | Bin 132 -> 0 bytes app/open-iconic/webp/loop.webp | Bin 126 -> 0 bytes app/open-iconic/webp/magnifying-glass-2x.webp | Bin 254 -> 0 bytes app/open-iconic/webp/magnifying-glass-3x.webp | Bin 378 -> 0 bytes app/open-iconic/webp/magnifying-glass-4x.webp | Bin 432 -> 0 bytes app/open-iconic/webp/magnifying-glass-6x.webp | Bin 612 -> 0 bytes app/open-iconic/webp/magnifying-glass-8x.webp | Bin 792 -> 0 bytes app/open-iconic/webp/magnifying-glass.webp | Bin 152 -> 0 bytes app/open-iconic/webp/map-2x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/map-3x.webp | Bin 226 -> 0 bytes app/open-iconic/webp/map-4x.webp | Bin 260 -> 0 bytes app/open-iconic/webp/map-6x.webp | Bin 356 -> 0 bytes app/open-iconic/webp/map-8x.webp | Bin 440 -> 0 bytes app/open-iconic/webp/map-marker-2x.webp | Bin 228 -> 0 bytes app/open-iconic/webp/map-marker-3x.webp | Bin 318 -> 0 bytes app/open-iconic/webp/map-marker-4x.webp | Bin 412 -> 0 bytes app/open-iconic/webp/map-marker-6x.webp | Bin 528 -> 0 bytes app/open-iconic/webp/map-marker-8x.webp | Bin 700 -> 0 bytes app/open-iconic/webp/map-marker.webp | Bin 150 -> 0 bytes app/open-iconic/webp/map.webp | Bin 132 -> 0 bytes app/open-iconic/webp/media-pause-2x.webp | Bin 92 -> 0 bytes app/open-iconic/webp/media-pause-3x.webp | Bin 112 -> 0 bytes app/open-iconic/webp/media-pause-4x.webp | Bin 118 -> 0 bytes app/open-iconic/webp/media-pause-6x.webp | Bin 118 -> 0 bytes app/open-iconic/webp/media-pause-8x.webp | Bin 120 -> 0 bytes app/open-iconic/webp/media-pause.webp | Bin 90 -> 0 bytes app/open-iconic/webp/media-play-2x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/media-play-3x.webp | Bin 142 -> 0 bytes app/open-iconic/webp/media-play-4x.webp | Bin 136 -> 0 bytes app/open-iconic/webp/media-play-6x.webp | Bin 140 -> 0 bytes app/open-iconic/webp/media-play-8x.webp | Bin 146 -> 0 bytes app/open-iconic/webp/media-play.webp | Bin 108 -> 0 bytes app/open-iconic/webp/media-record-2x.webp | Bin 176 -> 0 bytes app/open-iconic/webp/media-record-3x.webp | Bin 228 -> 0 bytes app/open-iconic/webp/media-record-4x.webp | Bin 266 -> 0 bytes app/open-iconic/webp/media-record-6x.webp | Bin 358 -> 0 bytes app/open-iconic/webp/media-record-8x.webp | Bin 450 -> 0 bytes app/open-iconic/webp/media-record.webp | Bin 132 -> 0 bytes .../webp/media-skip-backward-2x.webp | Bin 140 -> 0 bytes .../webp/media-skip-backward-3x.webp | Bin 166 -> 0 bytes .../webp/media-skip-backward-4x.webp | Bin 172 -> 0 bytes .../webp/media-skip-backward-6x.webp | Bin 174 -> 0 bytes .../webp/media-skip-backward-8x.webp | Bin 180 -> 0 bytes app/open-iconic/webp/media-skip-backward.webp | Bin 118 -> 0 bytes .../webp/media-skip-forward-2x.webp | Bin 136 -> 0 bytes .../webp/media-skip-forward-3x.webp | Bin 168 -> 0 bytes .../webp/media-skip-forward-4x.webp | Bin 174 -> 0 bytes .../webp/media-skip-forward-6x.webp | Bin 176 -> 0 bytes .../webp/media-skip-forward-8x.webp | Bin 182 -> 0 bytes app/open-iconic/webp/media-skip-forward.webp | Bin 120 -> 0 bytes .../webp/media-step-backward-2x.webp | Bin 156 -> 0 bytes .../webp/media-step-backward-3x.webp | Bin 184 -> 0 bytes .../webp/media-step-backward-4x.webp | Bin 186 -> 0 bytes .../webp/media-step-backward-6x.webp | Bin 188 -> 0 bytes .../webp/media-step-backward-8x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/media-step-backward.webp | Bin 126 -> 0 bytes .../webp/media-step-forward-2x.webp | Bin 158 -> 0 bytes .../webp/media-step-forward-3x.webp | Bin 178 -> 0 bytes .../webp/media-step-forward-4x.webp | Bin 180 -> 0 bytes .../webp/media-step-forward-6x.webp | Bin 176 -> 0 bytes .../webp/media-step-forward-8x.webp | Bin 180 -> 0 bytes app/open-iconic/webp/media-step-forward.webp | Bin 128 -> 0 bytes app/open-iconic/webp/media-stop-2x.webp | Bin 96 -> 0 bytes app/open-iconic/webp/media-stop-3x.webp | Bin 112 -> 0 bytes app/open-iconic/webp/media-stop-4x.webp | Bin 114 -> 0 bytes app/open-iconic/webp/media-stop-6x.webp | Bin 118 -> 0 bytes app/open-iconic/webp/media-stop-8x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/media-stop.webp | Bin 90 -> 0 bytes app/open-iconic/webp/medical-cross-2x.webp | Bin 98 -> 0 bytes app/open-iconic/webp/medical-cross-3x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/medical-cross-4x.webp | Bin 110 -> 0 bytes app/open-iconic/webp/medical-cross-6x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/medical-cross-8x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/medical-cross.webp | Bin 92 -> 0 bytes app/open-iconic/webp/menu-2x.webp | Bin 110 -> 0 bytes app/open-iconic/webp/menu-3x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/menu-4x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/menu-6x.webp | Bin 130 -> 0 bytes app/open-iconic/webp/menu-8x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/menu.webp | Bin 102 -> 0 bytes app/open-iconic/webp/microphone-2x.webp | Bin 232 -> 0 bytes app/open-iconic/webp/microphone-3x.webp | Bin 336 -> 0 bytes app/open-iconic/webp/microphone-4x.webp | Bin 398 -> 0 bytes app/open-iconic/webp/microphone-6x.webp | Bin 532 -> 0 bytes app/open-iconic/webp/microphone-8x.webp | Bin 676 -> 0 bytes app/open-iconic/webp/microphone.webp | Bin 152 -> 0 bytes app/open-iconic/webp/minus-2x.webp | Bin 92 -> 0 bytes app/open-iconic/webp/minus-3x.webp | Bin 106 -> 0 bytes app/open-iconic/webp/minus-4x.webp | Bin 106 -> 0 bytes app/open-iconic/webp/minus-6x.webp | Bin 108 -> 0 bytes app/open-iconic/webp/minus-8x.webp | Bin 116 -> 0 bytes app/open-iconic/webp/minus.webp | Bin 92 -> 0 bytes app/open-iconic/webp/monitor-2x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/monitor-3x.webp | Bin 178 -> 0 bytes app/open-iconic/webp/monitor-4x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/monitor-6x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/monitor-8x.webp | Bin 252 -> 0 bytes app/open-iconic/webp/monitor.webp | Bin 122 -> 0 bytes app/open-iconic/webp/moon-2x.webp | Bin 214 -> 0 bytes app/open-iconic/webp/moon-3x.webp | Bin 290 -> 0 bytes app/open-iconic/webp/moon-4x.webp | Bin 360 -> 0 bytes app/open-iconic/webp/moon-6x.webp | Bin 442 -> 0 bytes app/open-iconic/webp/moon-8x.webp | Bin 550 -> 0 bytes app/open-iconic/webp/moon.webp | Bin 148 -> 0 bytes app/open-iconic/webp/move-2x.webp | Bin 136 -> 0 bytes app/open-iconic/webp/move-3x.webp | Bin 194 -> 0 bytes app/open-iconic/webp/move-4x.webp | Bin 196 -> 0 bytes app/open-iconic/webp/move-6x.webp | Bin 236 -> 0 bytes app/open-iconic/webp/move-8x.webp | Bin 270 -> 0 bytes app/open-iconic/webp/move.webp | Bin 124 -> 0 bytes app/open-iconic/webp/musical-note-2x.webp | Bin 192 -> 0 bytes app/open-iconic/webp/musical-note-3x.webp | Bin 258 -> 0 bytes app/open-iconic/webp/musical-note-4x.webp | Bin 296 -> 0 bytes app/open-iconic/webp/musical-note-6x.webp | Bin 392 -> 0 bytes app/open-iconic/webp/musical-note-8x.webp | Bin 462 -> 0 bytes app/open-iconic/webp/musical-note.webp | Bin 140 -> 0 bytes app/open-iconic/webp/paperclip-2x.webp | Bin 286 -> 0 bytes app/open-iconic/webp/paperclip-3x.webp | Bin 406 -> 0 bytes app/open-iconic/webp/paperclip-4x.webp | Bin 504 -> 0 bytes app/open-iconic/webp/paperclip-6x.webp | Bin 724 -> 0 bytes app/open-iconic/webp/paperclip-8x.webp | Bin 924 -> 0 bytes app/open-iconic/webp/paperclip.webp | Bin 170 -> 0 bytes app/open-iconic/webp/pencil-2x.webp | Bin 136 -> 0 bytes app/open-iconic/webp/pencil-3x.webp | Bin 176 -> 0 bytes app/open-iconic/webp/pencil-4x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/pencil-6x.webp | Bin 210 -> 0 bytes app/open-iconic/webp/pencil-8x.webp | Bin 254 -> 0 bytes app/open-iconic/webp/pencil.webp | Bin 112 -> 0 bytes app/open-iconic/webp/people-2x.webp | Bin 236 -> 0 bytes app/open-iconic/webp/people-3x.webp | Bin 332 -> 0 bytes app/open-iconic/webp/people-4x.webp | Bin 396 -> 0 bytes app/open-iconic/webp/people-6x.webp | Bin 546 -> 0 bytes app/open-iconic/webp/people-8x.webp | Bin 708 -> 0 bytes app/open-iconic/webp/people.webp | Bin 156 -> 0 bytes app/open-iconic/webp/person-2x.webp | Bin 202 -> 0 bytes app/open-iconic/webp/person-3x.webp | Bin 272 -> 0 bytes app/open-iconic/webp/person-4x.webp | Bin 338 -> 0 bytes app/open-iconic/webp/person-6x.webp | Bin 416 -> 0 bytes app/open-iconic/webp/person-8x.webp | Bin 540 -> 0 bytes app/open-iconic/webp/person.webp | Bin 146 -> 0 bytes app/open-iconic/webp/phone-2x.webp | Bin 128 -> 0 bytes app/open-iconic/webp/phone-3x.webp | Bin 158 -> 0 bytes app/open-iconic/webp/phone-4x.webp | Bin 170 -> 0 bytes app/open-iconic/webp/phone-6x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/phone-8x.webp | Bin 224 -> 0 bytes app/open-iconic/webp/phone.webp | Bin 114 -> 0 bytes app/open-iconic/webp/pie-chart-2x.webp | Bin 238 -> 0 bytes app/open-iconic/webp/pie-chart-3x.webp | Bin 314 -> 0 bytes app/open-iconic/webp/pie-chart-4x.webp | Bin 386 -> 0 bytes app/open-iconic/webp/pie-chart-6x.webp | Bin 474 -> 0 bytes app/open-iconic/webp/pie-chart-8x.webp | Bin 630 -> 0 bytes app/open-iconic/webp/pie-chart.webp | Bin 162 -> 0 bytes app/open-iconic/webp/pin-2x.webp | Bin 146 -> 0 bytes app/open-iconic/webp/pin-3x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/pin-4x.webp | Bin 216 -> 0 bytes app/open-iconic/webp/pin-6x.webp | Bin 264 -> 0 bytes app/open-iconic/webp/pin-8x.webp | Bin 314 -> 0 bytes app/open-iconic/webp/pin.webp | Bin 126 -> 0 bytes app/open-iconic/webp/play-circle-2x.webp | Bin 216 -> 0 bytes app/open-iconic/webp/play-circle-3x.webp | Bin 292 -> 0 bytes app/open-iconic/webp/play-circle-4x.webp | Bin 360 -> 0 bytes app/open-iconic/webp/play-circle-6x.webp | Bin 524 -> 0 bytes app/open-iconic/webp/play-circle-8x.webp | Bin 674 -> 0 bytes app/open-iconic/webp/play-circle.webp | Bin 150 -> 0 bytes app/open-iconic/webp/plus-2x.webp | Bin 98 -> 0 bytes app/open-iconic/webp/plus-3x.webp | Bin 110 -> 0 bytes app/open-iconic/webp/plus-4x.webp | Bin 118 -> 0 bytes app/open-iconic/webp/plus-6x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/plus-8x.webp | Bin 124 -> 0 bytes app/open-iconic/webp/plus.webp | Bin 92 -> 0 bytes app/open-iconic/webp/power-standby-2x.webp | Bin 240 -> 0 bytes app/open-iconic/webp/power-standby-3x.webp | Bin 348 -> 0 bytes app/open-iconic/webp/power-standby-4x.webp | Bin 446 -> 0 bytes app/open-iconic/webp/power-standby-6x.webp | Bin 588 -> 0 bytes app/open-iconic/webp/power-standby-8x.webp | Bin 760 -> 0 bytes app/open-iconic/webp/power-standby.webp | Bin 154 -> 0 bytes app/open-iconic/webp/print-2x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/print-3x.webp | Bin 160 -> 0 bytes app/open-iconic/webp/print-4x.webp | Bin 168 -> 0 bytes app/open-iconic/webp/print-6x.webp | Bin 172 -> 0 bytes app/open-iconic/webp/print-8x.webp | Bin 180 -> 0 bytes app/open-iconic/webp/print.webp | Bin 122 -> 0 bytes app/open-iconic/webp/project-2x.webp | Bin 108 -> 0 bytes app/open-iconic/webp/project-3x.webp | Bin 128 -> 0 bytes app/open-iconic/webp/project-4x.webp | Bin 122 -> 0 bytes app/open-iconic/webp/project-6x.webp | Bin 130 -> 0 bytes app/open-iconic/webp/project-8x.webp | Bin 134 -> 0 bytes app/open-iconic/webp/project.webp | Bin 94 -> 0 bytes app/open-iconic/webp/pulse-2x.webp | Bin 228 -> 0 bytes app/open-iconic/webp/pulse-3x.webp | Bin 328 -> 0 bytes app/open-iconic/webp/pulse-4x.webp | Bin 402 -> 0 bytes app/open-iconic/webp/pulse-6x.webp | Bin 508 -> 0 bytes app/open-iconic/webp/pulse-8x.webp | Bin 646 -> 0 bytes app/open-iconic/webp/pulse.webp | Bin 156 -> 0 bytes app/open-iconic/webp/puzzle-piece-2x.webp | Bin 176 -> 0 bytes app/open-iconic/webp/puzzle-piece-3x.webp | Bin 220 -> 0 bytes app/open-iconic/webp/puzzle-piece-4x.webp | Bin 272 -> 0 bytes app/open-iconic/webp/puzzle-piece-6x.webp | Bin 344 -> 0 bytes app/open-iconic/webp/puzzle-piece-8x.webp | Bin 432 -> 0 bytes app/open-iconic/webp/puzzle-piece.webp | Bin 124 -> 0 bytes app/open-iconic/webp/question-mark-2x.webp | Bin 200 -> 0 bytes app/open-iconic/webp/question-mark-3x.webp | Bin 268 -> 0 bytes app/open-iconic/webp/question-mark-4x.webp | Bin 334 -> 0 bytes app/open-iconic/webp/question-mark-6x.webp | Bin 416 -> 0 bytes app/open-iconic/webp/question-mark-8x.webp | Bin 518 -> 0 bytes app/open-iconic/webp/question-mark.webp | Bin 146 -> 0 bytes app/open-iconic/webp/rain-2x.webp | Bin 232 -> 0 bytes app/open-iconic/webp/rain-3x.webp | Bin 334 -> 0 bytes app/open-iconic/webp/rain-4x.webp | Bin 394 -> 0 bytes app/open-iconic/webp/rain-6x.webp | Bin 490 -> 0 bytes app/open-iconic/webp/rain-8x.webp | Bin 648 -> 0 bytes app/open-iconic/webp/rain.webp | Bin 150 -> 0 bytes app/open-iconic/webp/random-2x.webp | Bin 262 -> 0 bytes app/open-iconic/webp/random-3x.webp | Bin 368 -> 0 bytes app/open-iconic/webp/random-4x.webp | Bin 420 -> 0 bytes app/open-iconic/webp/random-6x.webp | Bin 580 -> 0 bytes app/open-iconic/webp/random-8x.webp | Bin 736 -> 0 bytes app/open-iconic/webp/random.webp | Bin 162 -> 0 bytes app/open-iconic/webp/reload-2x.webp | Bin 240 -> 0 bytes app/open-iconic/webp/reload-3x.webp | Bin 348 -> 0 bytes app/open-iconic/webp/reload-4x.webp | Bin 406 -> 0 bytes app/open-iconic/webp/reload-6x.webp | Bin 556 -> 0 bytes app/open-iconic/webp/reload-8x.webp | Bin 710 -> 0 bytes app/open-iconic/webp/reload.webp | Bin 154 -> 0 bytes app/open-iconic/webp/resize-both-2x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/resize-both-3x.webp | Bin 192 -> 0 bytes app/open-iconic/webp/resize-both-4x.webp | Bin 198 -> 0 bytes app/open-iconic/webp/resize-both-6x.webp | Bin 246 -> 0 bytes app/open-iconic/webp/resize-both-8x.webp | Bin 280 -> 0 bytes app/open-iconic/webp/resize-both.webp | Bin 132 -> 0 bytes app/open-iconic/webp/resize-height-2x.webp | Bin 172 -> 0 bytes app/open-iconic/webp/resize-height-3x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/resize-height-4x.webp | Bin 242 -> 0 bytes app/open-iconic/webp/resize-height-6x.webp | Bin 304 -> 0 bytes app/open-iconic/webp/resize-height-8x.webp | Bin 360 -> 0 bytes app/open-iconic/webp/resize-height.webp | Bin 126 -> 0 bytes app/open-iconic/webp/resize-width-2x.webp | Bin 172 -> 0 bytes app/open-iconic/webp/resize-width-3x.webp | Bin 220 -> 0 bytes app/open-iconic/webp/resize-width-4x.webp | Bin 250 -> 0 bytes app/open-iconic/webp/resize-width-6x.webp | Bin 304 -> 0 bytes app/open-iconic/webp/resize-width-8x.webp | Bin 366 -> 0 bytes app/open-iconic/webp/resize-width.webp | Bin 130 -> 0 bytes app/open-iconic/webp/rss-2x.webp | Bin 276 -> 0 bytes app/open-iconic/webp/rss-3x.webp | Bin 380 -> 0 bytes app/open-iconic/webp/rss-4x.webp | Bin 488 -> 0 bytes app/open-iconic/webp/rss-6x.webp | Bin 680 -> 0 bytes app/open-iconic/webp/rss-8x.webp | Bin 882 -> 0 bytes app/open-iconic/webp/rss-alt-2x.webp | Bin 258 -> 0 bytes app/open-iconic/webp/rss-alt-3x.webp | Bin 374 -> 0 bytes app/open-iconic/webp/rss-alt-4x.webp | Bin 420 -> 0 bytes app/open-iconic/webp/rss-alt-6x.webp | Bin 590 -> 0 bytes app/open-iconic/webp/rss-alt-8x.webp | Bin 756 -> 0 bytes app/open-iconic/webp/rss-alt.webp | Bin 168 -> 0 bytes app/open-iconic/webp/rss.webp | Bin 164 -> 0 bytes app/open-iconic/webp/script-2x.webp | Bin 144 -> 0 bytes app/open-iconic/webp/script-3x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/script-4x.webp | Bin 204 -> 0 bytes app/open-iconic/webp/script-6x.webp | Bin 258 -> 0 bytes app/open-iconic/webp/script-8x.webp | Bin 314 -> 0 bytes app/open-iconic/webp/script.webp | Bin 122 -> 0 bytes app/open-iconic/webp/share-2x.webp | Bin 200 -> 0 bytes app/open-iconic/webp/share-3x.webp | Bin 278 -> 0 bytes app/open-iconic/webp/share-4x.webp | Bin 344 -> 0 bytes app/open-iconic/webp/share-6x.webp | Bin 428 -> 0 bytes app/open-iconic/webp/share-8x.webp | Bin 530 -> 0 bytes app/open-iconic/webp/share-boxed-2x.webp | Bin 196 -> 0 bytes app/open-iconic/webp/share-boxed-3x.webp | Bin 238 -> 0 bytes app/open-iconic/webp/share-boxed-4x.webp | Bin 282 -> 0 bytes app/open-iconic/webp/share-boxed-6x.webp | Bin 350 -> 0 bytes app/open-iconic/webp/share-boxed-8x.webp | Bin 446 -> 0 bytes app/open-iconic/webp/share-boxed.webp | Bin 138 -> 0 bytes app/open-iconic/webp/share.webp | Bin 144 -> 0 bytes app/open-iconic/webp/shield-2x.webp | Bin 250 -> 0 bytes app/open-iconic/webp/shield-3x.webp | Bin 352 -> 0 bytes app/open-iconic/webp/shield-4x.webp | Bin 404 -> 0 bytes app/open-iconic/webp/shield-6x.webp | Bin 554 -> 0 bytes app/open-iconic/webp/shield-8x.webp | Bin 710 -> 0 bytes app/open-iconic/webp/shield.webp | Bin 162 -> 0 bytes app/open-iconic/webp/signal-2x.webp | Bin 98 -> 0 bytes app/open-iconic/webp/signal-3x.webp | Bin 114 -> 0 bytes app/open-iconic/webp/signal-4x.webp | Bin 112 -> 0 bytes app/open-iconic/webp/signal-6x.webp | Bin 124 -> 0 bytes app/open-iconic/webp/signal-8x.webp | Bin 130 -> 0 bytes app/open-iconic/webp/signal.webp | Bin 96 -> 0 bytes app/open-iconic/webp/signpost-2x.webp | Bin 112 -> 0 bytes app/open-iconic/webp/signpost-3x.webp | Bin 146 -> 0 bytes app/open-iconic/webp/signpost-4x.webp | Bin 154 -> 0 bytes app/open-iconic/webp/signpost-6x.webp | Bin 172 -> 0 bytes app/open-iconic/webp/signpost-8x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/signpost.webp | Bin 98 -> 0 bytes app/open-iconic/webp/sort-ascending-2x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/sort-ascending-3x.webp | Bin 184 -> 0 bytes app/open-iconic/webp/sort-ascending-4x.webp | Bin 198 -> 0 bytes app/open-iconic/webp/sort-ascending-6x.webp | Bin 228 -> 0 bytes app/open-iconic/webp/sort-ascending-8x.webp | Bin 252 -> 0 bytes app/open-iconic/webp/sort-ascending.webp | Bin 120 -> 0 bytes app/open-iconic/webp/sort-descending-2x.webp | Bin 148 -> 0 bytes app/open-iconic/webp/sort-descending-3x.webp | Bin 182 -> 0 bytes app/open-iconic/webp/sort-descending-4x.webp | Bin 198 -> 0 bytes app/open-iconic/webp/sort-descending-6x.webp | Bin 228 -> 0 bytes app/open-iconic/webp/sort-descending-8x.webp | Bin 252 -> 0 bytes app/open-iconic/webp/sort-descending.webp | Bin 120 -> 0 bytes app/open-iconic/webp/spreadsheet-2x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/spreadsheet-3x.webp | Bin 154 -> 0 bytes app/open-iconic/webp/spreadsheet-4x.webp | Bin 166 -> 0 bytes app/open-iconic/webp/spreadsheet-6x.webp | Bin 198 -> 0 bytes app/open-iconic/webp/spreadsheet-8x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/spreadsheet.webp | Bin 118 -> 0 bytes app/open-iconic/webp/star-2x.webp | Bin 178 -> 0 bytes app/open-iconic/webp/star-3x.webp | Bin 240 -> 0 bytes app/open-iconic/webp/star-4x.webp | Bin 282 -> 0 bytes app/open-iconic/webp/star-6x.webp | Bin 358 -> 0 bytes app/open-iconic/webp/star-8x.webp | Bin 456 -> 0 bytes app/open-iconic/webp/star.webp | Bin 140 -> 0 bytes app/open-iconic/webp/sun-2x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/sun-3x.webp | Bin 282 -> 0 bytes app/open-iconic/webp/sun-4x.webp | Bin 326 -> 0 bytes app/open-iconic/webp/sun-6x.webp | Bin 426 -> 0 bytes app/open-iconic/webp/sun-8x.webp | Bin 546 -> 0 bytes app/open-iconic/webp/sun.webp | Bin 136 -> 0 bytes app/open-iconic/webp/tablet-2x.webp | Bin 130 -> 0 bytes app/open-iconic/webp/tablet-3x.webp | Bin 164 -> 0 bytes app/open-iconic/webp/tablet-4x.webp | Bin 178 -> 0 bytes app/open-iconic/webp/tablet-6x.webp | Bin 210 -> 0 bytes app/open-iconic/webp/tablet-8x.webp | Bin 264 -> 0 bytes app/open-iconic/webp/tablet.webp | Bin 118 -> 0 bytes app/open-iconic/webp/tag-2x.webp | Bin 160 -> 0 bytes app/open-iconic/webp/tag-3x.webp | Bin 200 -> 0 bytes app/open-iconic/webp/tag-4x.webp | Bin 224 -> 0 bytes app/open-iconic/webp/tag-6x.webp | Bin 272 -> 0 bytes app/open-iconic/webp/tag-8x.webp | Bin 336 -> 0 bytes app/open-iconic/webp/tag.webp | Bin 122 -> 0 bytes app/open-iconic/webp/tags-2x.webp | Bin 162 -> 0 bytes app/open-iconic/webp/tags-3x.webp | Bin 194 -> 0 bytes app/open-iconic/webp/tags-4x.webp | Bin 220 -> 0 bytes app/open-iconic/webp/tags-6x.webp | Bin 272 -> 0 bytes app/open-iconic/webp/tags-8x.webp | Bin 320 -> 0 bytes app/open-iconic/webp/tags.webp | Bin 130 -> 0 bytes app/open-iconic/webp/target-2x.webp | Bin 286 -> 0 bytes app/open-iconic/webp/target-3x.webp | Bin 444 -> 0 bytes app/open-iconic/webp/target-4x.webp | Bin 578 -> 0 bytes app/open-iconic/webp/target-6x.webp | Bin 766 -> 0 bytes app/open-iconic/webp/target-8x.webp | Bin 1020 -> 0 bytes app/open-iconic/webp/target.webp | Bin 152 -> 0 bytes app/open-iconic/webp/task-2x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/task-3x.webp | Bin 200 -> 0 bytes app/open-iconic/webp/task-4x.webp | Bin 210 -> 0 bytes app/open-iconic/webp/task-6x.webp | Bin 248 -> 0 bytes app/open-iconic/webp/task-8x.webp | Bin 280 -> 0 bytes app/open-iconic/webp/task.webp | Bin 124 -> 0 bytes app/open-iconic/webp/terminal-2x.webp | Bin 158 -> 0 bytes app/open-iconic/webp/terminal-3x.webp | Bin 196 -> 0 bytes app/open-iconic/webp/terminal-4x.webp | Bin 194 -> 0 bytes app/open-iconic/webp/terminal-6x.webp | Bin 226 -> 0 bytes app/open-iconic/webp/terminal-8x.webp | Bin 254 -> 0 bytes app/open-iconic/webp/terminal.webp | Bin 136 -> 0 bytes app/open-iconic/webp/text-2x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/text-3x.webp | Bin 174 -> 0 bytes app/open-iconic/webp/text-4x.webp | Bin 176 -> 0 bytes app/open-iconic/webp/text-6x.webp | Bin 212 -> 0 bytes app/open-iconic/webp/text-8x.webp | Bin 244 -> 0 bytes app/open-iconic/webp/text.webp | Bin 120 -> 0 bytes app/open-iconic/webp/thumb-down-2x.webp | Bin 168 -> 0 bytes app/open-iconic/webp/thumb-down-3x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/thumb-down-4x.webp | Bin 256 -> 0 bytes app/open-iconic/webp/thumb-down-6x.webp | Bin 314 -> 0 bytes app/open-iconic/webp/thumb-down-8x.webp | Bin 394 -> 0 bytes app/open-iconic/webp/thumb-down.webp | Bin 130 -> 0 bytes app/open-iconic/webp/thumb-up-2x.webp | Bin 168 -> 0 bytes app/open-iconic/webp/thumb-up-3x.webp | Bin 220 -> 0 bytes app/open-iconic/webp/thumb-up-4x.webp | Bin 256 -> 0 bytes app/open-iconic/webp/thumb-up-6x.webp | Bin 324 -> 0 bytes app/open-iconic/webp/thumb-up-8x.webp | Bin 412 -> 0 bytes app/open-iconic/webp/thumb-up.webp | Bin 134 -> 0 bytes app/open-iconic/webp/timer-2x.webp | Bin 262 -> 0 bytes app/open-iconic/webp/timer-3x.webp | Bin 368 -> 0 bytes app/open-iconic/webp/timer-4x.webp | Bin 466 -> 0 bytes app/open-iconic/webp/timer-6x.webp | Bin 652 -> 0 bytes app/open-iconic/webp/timer-8x.webp | Bin 856 -> 0 bytes app/open-iconic/webp/timer.webp | Bin 166 -> 0 bytes app/open-iconic/webp/transfer-2x.webp | Bin 138 -> 0 bytes app/open-iconic/webp/transfer-3x.webp | Bin 172 -> 0 bytes app/open-iconic/webp/transfer-4x.webp | Bin 186 -> 0 bytes app/open-iconic/webp/transfer-6x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/transfer-8x.webp | Bin 242 -> 0 bytes app/open-iconic/webp/transfer.webp | Bin 116 -> 0 bytes app/open-iconic/webp/trash-2x.webp | Bin 146 -> 0 bytes app/open-iconic/webp/trash-3x.webp | Bin 188 -> 0 bytes app/open-iconic/webp/trash-4x.webp | Bin 206 -> 0 bytes app/open-iconic/webp/trash-6x.webp | Bin 254 -> 0 bytes app/open-iconic/webp/trash-8x.webp | Bin 312 -> 0 bytes app/open-iconic/webp/trash.webp | Bin 118 -> 0 bytes app/open-iconic/webp/underline-2x.webp | Bin 156 -> 0 bytes app/open-iconic/webp/underline-3x.webp | Bin 190 -> 0 bytes app/open-iconic/webp/underline-4x.webp | Bin 218 -> 0 bytes app/open-iconic/webp/underline-6x.webp | Bin 276 -> 0 bytes app/open-iconic/webp/underline-8x.webp | Bin 334 -> 0 bytes app/open-iconic/webp/underline.webp | Bin 126 -> 0 bytes .../webp/vertical-align-bottom-2x.webp | Bin 134 -> 0 bytes .../webp/vertical-align-bottom-3x.webp | Bin 168 -> 0 bytes .../webp/vertical-align-bottom-4x.webp | Bin 164 -> 0 bytes .../webp/vertical-align-bottom-6x.webp | Bin 178 -> 0 bytes .../webp/vertical-align-bottom-8x.webp | Bin 178 -> 0 bytes .../webp/vertical-align-bottom.webp | Bin 122 -> 0 bytes .../webp/vertical-align-center-2x.webp | Bin 138 -> 0 bytes .../webp/vertical-align-center-3x.webp | Bin 176 -> 0 bytes .../webp/vertical-align-center-4x.webp | Bin 176 -> 0 bytes .../webp/vertical-align-center-6x.webp | Bin 190 -> 0 bytes .../webp/vertical-align-center-8x.webp | Bin 194 -> 0 bytes .../webp/vertical-align-center.webp | Bin 118 -> 0 bytes .../webp/vertical-align-top-2x.webp | Bin 136 -> 0 bytes .../webp/vertical-align-top-3x.webp | Bin 174 -> 0 bytes .../webp/vertical-align-top-4x.webp | Bin 168 -> 0 bytes .../webp/vertical-align-top-6x.webp | Bin 182 -> 0 bytes .../webp/vertical-align-top-8x.webp | Bin 182 -> 0 bytes app/open-iconic/webp/vertical-align-top.webp | Bin 124 -> 0 bytes app/open-iconic/webp/video-2x.webp | Bin 126 -> 0 bytes app/open-iconic/webp/video-3x.webp | Bin 158 -> 0 bytes app/open-iconic/webp/video-4x.webp | Bin 170 -> 0 bytes app/open-iconic/webp/video-6x.webp | Bin 212 -> 0 bytes app/open-iconic/webp/video-8x.webp | Bin 234 -> 0 bytes app/open-iconic/webp/video.webp | Bin 114 -> 0 bytes app/open-iconic/webp/volume-high-2x.webp | Bin 208 -> 0 bytes app/open-iconic/webp/volume-high-3x.webp | Bin 286 -> 0 bytes app/open-iconic/webp/volume-high-4x.webp | Bin 346 -> 0 bytes app/open-iconic/webp/volume-high-6x.webp | Bin 440 -> 0 bytes app/open-iconic/webp/volume-high-8x.webp | Bin 570 -> 0 bytes app/open-iconic/webp/volume-high.webp | Bin 144 -> 0 bytes app/open-iconic/webp/volume-low-2x.webp | Bin 150 -> 0 bytes app/open-iconic/webp/volume-low-3x.webp | Bin 182 -> 0 bytes app/open-iconic/webp/volume-low-4x.webp | Bin 206 -> 0 bytes app/open-iconic/webp/volume-low-6x.webp | Bin 258 -> 0 bytes app/open-iconic/webp/volume-low-8x.webp | Bin 296 -> 0 bytes app/open-iconic/webp/volume-low.webp | Bin 120 -> 0 bytes app/open-iconic/webp/volume-off-2x.webp | Bin 132 -> 0 bytes app/open-iconic/webp/volume-off-3x.webp | Bin 152 -> 0 bytes app/open-iconic/webp/volume-off-4x.webp | Bin 162 -> 0 bytes app/open-iconic/webp/volume-off-6x.webp | Bin 200 -> 0 bytes app/open-iconic/webp/volume-off-8x.webp | Bin 230 -> 0 bytes app/open-iconic/webp/volume-off.webp | Bin 112 -> 0 bytes app/open-iconic/webp/warning-2x.webp | Bin 206 -> 0 bytes app/open-iconic/webp/warning-3x.webp | Bin 276 -> 0 bytes app/open-iconic/webp/warning-4x.webp | Bin 320 -> 0 bytes app/open-iconic/webp/warning-6x.webp | Bin 402 -> 0 bytes app/open-iconic/webp/warning-8x.webp | Bin 504 -> 0 bytes app/open-iconic/webp/warning.webp | Bin 146 -> 0 bytes app/open-iconic/webp/wifi-2x.webp | Bin 224 -> 0 bytes app/open-iconic/webp/wifi-3x.webp | Bin 300 -> 0 bytes app/open-iconic/webp/wifi-4x.webp | Bin 332 -> 0 bytes app/open-iconic/webp/wifi-6x.webp | Bin 458 -> 0 bytes app/open-iconic/webp/wifi-8x.webp | Bin 568 -> 0 bytes app/open-iconic/webp/wifi.webp | Bin 148 -> 0 bytes app/open-iconic/webp/wrench-2x.webp | Bin 204 -> 0 bytes app/open-iconic/webp/wrench-3x.webp | Bin 296 -> 0 bytes app/open-iconic/webp/wrench-4x.webp | Bin 342 -> 0 bytes app/open-iconic/webp/wrench-6x.webp | Bin 420 -> 0 bytes app/open-iconic/webp/wrench-8x.webp | Bin 516 -> 0 bytes app/open-iconic/webp/wrench.webp | Bin 144 -> 0 bytes app/open-iconic/webp/x-2x.webp | Bin 228 -> 0 bytes app/open-iconic/webp/x-3x.webp | Bin 308 -> 0 bytes app/open-iconic/webp/x-4x.webp | Bin 384 -> 0 bytes app/open-iconic/webp/x-6x.webp | Bin 480 -> 0 bytes app/open-iconic/webp/x-8x.webp | Bin 580 -> 0 bytes app/open-iconic/webp/x.webp | Bin 156 -> 0 bytes app/open-iconic/webp/yen-2x.webp | Bin 184 -> 0 bytes app/open-iconic/webp/yen-3x.webp | Bin 236 -> 0 bytes app/open-iconic/webp/yen-4x.webp | Bin 266 -> 0 bytes app/open-iconic/webp/yen-6x.webp | Bin 344 -> 0 bytes app/open-iconic/webp/yen-8x.webp | Bin 436 -> 0 bytes app/open-iconic/webp/yen.webp | Bin 136 -> 0 bytes app/open-iconic/webp/zoom-in-2x.webp | Bin 256 -> 0 bytes app/open-iconic/webp/zoom-in-3x.webp | Bin 382 -> 0 bytes app/open-iconic/webp/zoom-in-4x.webp | Bin 452 -> 0 bytes app/open-iconic/webp/zoom-in-6x.webp | Bin 634 -> 0 bytes app/open-iconic/webp/zoom-in-8x.webp | Bin 828 -> 0 bytes app/open-iconic/webp/zoom-in.webp | Bin 160 -> 0 bytes app/open-iconic/webp/zoom-out-2x.webp | Bin 250 -> 0 bytes app/open-iconic/webp/zoom-out-3x.webp | Bin 372 -> 0 bytes app/open-iconic/webp/zoom-out-4x.webp | Bin 438 -> 0 bytes app/open-iconic/webp/zoom-out-6x.webp | Bin 610 -> 0 bytes app/open-iconic/webp/zoom-out-8x.webp | Bin 798 -> 0 bytes app/open-iconic/webp/zoom-out.webp | Bin 160 -> 0 bytes bin/deploy.sh | 50 - contracts/AbstractSubdomainRegistrar.json | 8383 ++ contracts/AbstractSubdomainRegistrar.sol | 124 - contracts/Address.json | 521 + contracts/BaseRegistrar.json | 3279 + contracts/BaseRegistrarImplementation.json | 12493 +++ contracts/Deed.json | 1219 + contracts/DeedImplementation.json | 6408 ++ contracts/ENS.json | 3680 + contracts/ENSMigrationSubdomainRegistrar.json | 3025 + contracts/ENSMigrationSubdomainRegistrar.sol | 52 - contracts/ENSRegistry.json | 10442 +++ contracts/ENSRegistryWithFallback.json | 3691 + contracts/ERC165.json | 1290 + contracts/ERC721.json | 15478 ++++ contracts/EthRegistrarSubdomainRegistrar.json | 17965 +++++ contracts/EthRegistrarSubdomainRegistrar.sol | 229 - contracts/HashRegistrar.json | 39940 +++++++++ contracts/IERC165.json | 303 + contracts/IERC721.json | 2813 + contracts/IERC721Receiver.json | 482 + contracts/Migrations.json | 1449 + contracts/Migrations.sol | 28 - contracts/OldBaseRegistrarImplementation.json | 16814 ++++ contracts/Ownable.json | 2841 + contracts/Registrar.json | 4257 + contracts/RegistrarInterface.json | 2328 + contracts/RegistrarInterface.sol | 16 - contracts/Resolver.json | 680 + contracts/Resolver.sol | 12 - contracts/SafeMath.json | 3288 + contracts/SubdomainMigrationRegistrar.json | 3821 + contracts/SubdomainMigrationRegistrar.sol | 59 - contracts/SubdomainRegistrar.json | 22654 ++++++ contracts/SubdomainRegistrar.sol | 278 - contracts/TestResolver.json | 1488 + contracts/TestResolver.sol | 28 - contracts/deps.sol | 7 - ...ng => edaf0aafd04a515d4acc41aa09af10e4.png | Bin ...ng => f7745a98eda755e612fa564532c302d6.png | Bin {app/img => img}/ens.svg | 0 img/metamask-logo.png | Bin 0 -> 42351 bytes img/mist-logo.png | Bin 0 -> 46521 bytes img/trust-logo.png | Bin 0 -> 10228 bytes index.html | 1 + migrations/1_initial_migration.js | 5 - migrations/2_deploy_contracts.js | 49 - package-lock.json | 14506 ---- package.json | 83 - public/fonts/ens.svg | 128 + .../font => public}/fonts/open-iconic.eot | Bin .../font => public}/fonts/open-iconic.otf | Bin .../font => public}/fonts/open-iconic.svg | 0 .../font => public}/fonts/open-iconic.ttf | Bin .../font => public}/fonts/open-iconic.woff | Bin test/Dependencies.sol | 9 - test/ENSMigrationSubdomainRegistrar.js | 158 - test/TestEthRegistrarSubdomainRegistrar.js | 162 - test/TestSubdomainMigrationRegistrar.js | 96 - test/TestSubdomainRegistrar.js | 164 - test/helpers/Utils.js | 28 - truffle.js | 11 - webpack.config.js | 72 - 3004 files changed, 258449 insertions(+), 33531 deletions(-) delete mode 100644 .bootstraprc delete mode 100644 .gitattributes delete mode 100644 .npmignore delete mode 100644 .soliumignore delete mode 100644 .soliumrc.json delete mode 100644 .travis.yml rename app/img/trust-logo.png => 4f666bb87dc00f514a1c6bebc31ddbfe.png (100%) create mode 100644 CNAME delete mode 100644 LICENSE delete mode 100644 README.md create mode 100644 app.js delete mode 100644 app/css/app.css delete mode 100755 app/index.html delete mode 100644 app/js/app.js delete mode 100644 app/js/domains.json delete mode 100755 app/open-iconic/.gitignore delete mode 100755 app/open-iconic/FONT-LICENSE delete mode 100755 app/open-iconic/ICON-LICENSE delete mode 100755 app/open-iconic/README.md delete mode 100755 app/open-iconic/bower.json delete mode 100755 app/open-iconic/font/css/open-iconic-bootstrap.css delete mode 100755 app/open-iconic/font/css/open-iconic-bootstrap.less delete mode 100755 app/open-iconic/font/css/open-iconic-bootstrap.min.css delete mode 100755 app/open-iconic/font/css/open-iconic-bootstrap.scss delete mode 100755 app/open-iconic/font/css/open-iconic-bootstrap.styl delete mode 100755 app/open-iconic/font/css/open-iconic-foundation.css delete mode 100755 app/open-iconic/font/css/open-iconic-foundation.less delete mode 100755 app/open-iconic/font/css/open-iconic-foundation.min.css delete mode 100755 app/open-iconic/font/css/open-iconic-foundation.scss delete mode 100755 app/open-iconic/font/css/open-iconic-foundation.styl delete mode 100755 app/open-iconic/font/css/open-iconic.css delete mode 100755 app/open-iconic/font/css/open-iconic.less delete mode 100755 app/open-iconic/font/css/open-iconic.min.css delete mode 100755 app/open-iconic/font/css/open-iconic.scss delete mode 100755 app/open-iconic/font/css/open-iconic.styl delete mode 100755 app/open-iconic/package.json delete mode 100755 app/open-iconic/png/account-login-2x.png delete mode 100755 app/open-iconic/png/account-login-3x.png delete mode 100755 app/open-iconic/png/account-login-4x.png delete mode 100755 app/open-iconic/png/account-login-6x.png delete mode 100755 app/open-iconic/png/account-login-8x.png delete mode 100755 app/open-iconic/png/account-login.png delete mode 100755 app/open-iconic/png/account-logout-2x.png delete mode 100755 app/open-iconic/png/account-logout-3x.png delete mode 100755 app/open-iconic/png/account-logout-4x.png delete mode 100755 app/open-iconic/png/account-logout-6x.png delete mode 100755 app/open-iconic/png/account-logout-8x.png delete mode 100755 app/open-iconic/png/account-logout.png delete mode 100755 app/open-iconic/png/action-redo-2x.png delete mode 100755 app/open-iconic/png/action-redo-3x.png delete mode 100755 app/open-iconic/png/action-redo-4x.png delete mode 100755 app/open-iconic/png/action-redo-6x.png delete mode 100755 app/open-iconic/png/action-redo-8x.png delete mode 100755 app/open-iconic/png/action-redo.png delete mode 100755 app/open-iconic/png/action-undo-2x.png delete mode 100755 app/open-iconic/png/action-undo-3x.png delete mode 100755 app/open-iconic/png/action-undo-4x.png delete mode 100755 app/open-iconic/png/action-undo-6x.png delete mode 100755 app/open-iconic/png/action-undo-8x.png delete mode 100755 app/open-iconic/png/action-undo.png delete mode 100755 app/open-iconic/png/align-center-2x.png delete mode 100755 app/open-iconic/png/align-center-3x.png delete mode 100755 app/open-iconic/png/align-center-4x.png delete mode 100755 app/open-iconic/png/align-center-6x.png delete mode 100755 app/open-iconic/png/align-center-8x.png delete mode 100755 app/open-iconic/png/align-center.png delete mode 100755 app/open-iconic/png/align-left-2x.png delete mode 100755 app/open-iconic/png/align-left-3x.png delete mode 100755 app/open-iconic/png/align-left-4x.png delete mode 100755 app/open-iconic/png/align-left-6x.png delete mode 100755 app/open-iconic/png/align-left-8x.png delete mode 100755 app/open-iconic/png/align-left.png delete mode 100755 app/open-iconic/png/align-right-2x.png delete mode 100755 app/open-iconic/png/align-right-3x.png delete mode 100755 app/open-iconic/png/align-right-4x.png delete mode 100755 app/open-iconic/png/align-right-6x.png delete mode 100755 app/open-iconic/png/align-right-8x.png delete mode 100755 app/open-iconic/png/align-right.png delete mode 100755 app/open-iconic/png/aperture-2x.png delete mode 100755 app/open-iconic/png/aperture-3x.png delete mode 100755 app/open-iconic/png/aperture-4x.png delete mode 100755 app/open-iconic/png/aperture-6x.png delete mode 100755 app/open-iconic/png/aperture-8x.png delete mode 100755 app/open-iconic/png/aperture.png delete mode 100755 app/open-iconic/png/arrow-bottom-2x.png delete mode 100755 app/open-iconic/png/arrow-bottom-3x.png delete mode 100755 app/open-iconic/png/arrow-bottom-4x.png delete mode 100755 app/open-iconic/png/arrow-bottom-6x.png delete mode 100755 app/open-iconic/png/arrow-bottom-8x.png delete mode 100755 app/open-iconic/png/arrow-bottom.png delete mode 100755 app/open-iconic/png/arrow-circle-bottom-2x.png delete mode 100755 app/open-iconic/png/arrow-circle-bottom-3x.png delete mode 100755 app/open-iconic/png/arrow-circle-bottom-4x.png delete mode 100755 app/open-iconic/png/arrow-circle-bottom-6x.png delete mode 100755 app/open-iconic/png/arrow-circle-bottom-8x.png delete mode 100755 app/open-iconic/png/arrow-circle-bottom.png delete mode 100755 app/open-iconic/png/arrow-circle-left-2x.png delete mode 100755 app/open-iconic/png/arrow-circle-left-3x.png delete mode 100755 app/open-iconic/png/arrow-circle-left-4x.png delete mode 100755 app/open-iconic/png/arrow-circle-left-6x.png delete mode 100755 app/open-iconic/png/arrow-circle-left-8x.png delete mode 100755 app/open-iconic/png/arrow-circle-left.png delete mode 100755 app/open-iconic/png/arrow-circle-right-2x.png delete mode 100755 app/open-iconic/png/arrow-circle-right-3x.png delete mode 100755 app/open-iconic/png/arrow-circle-right-4x.png delete mode 100755 app/open-iconic/png/arrow-circle-right-6x.png delete mode 100755 app/open-iconic/png/arrow-circle-right-8x.png delete mode 100755 app/open-iconic/png/arrow-circle-right.png delete mode 100755 app/open-iconic/png/arrow-circle-top-2x.png delete mode 100755 app/open-iconic/png/arrow-circle-top-3x.png delete mode 100755 app/open-iconic/png/arrow-circle-top-4x.png delete mode 100755 app/open-iconic/png/arrow-circle-top-6x.png delete mode 100755 app/open-iconic/png/arrow-circle-top-8x.png delete mode 100755 app/open-iconic/png/arrow-circle-top.png delete mode 100755 app/open-iconic/png/arrow-left-2x.png delete mode 100755 app/open-iconic/png/arrow-left-3x.png delete mode 100755 app/open-iconic/png/arrow-left-4x.png delete mode 100755 app/open-iconic/png/arrow-left-6x.png delete mode 100755 app/open-iconic/png/arrow-left-8x.png delete mode 100755 app/open-iconic/png/arrow-left.png delete mode 100755 app/open-iconic/png/arrow-right-2x.png delete mode 100755 app/open-iconic/png/arrow-right-3x.png delete mode 100755 app/open-iconic/png/arrow-right-4x.png delete mode 100755 app/open-iconic/png/arrow-right-6x.png delete mode 100755 app/open-iconic/png/arrow-right-8x.png delete mode 100755 app/open-iconic/png/arrow-right.png delete mode 100755 app/open-iconic/png/arrow-thick-bottom-2x.png delete mode 100755 app/open-iconic/png/arrow-thick-bottom-3x.png delete mode 100755 app/open-iconic/png/arrow-thick-bottom-4x.png delete mode 100755 app/open-iconic/png/arrow-thick-bottom-6x.png delete mode 100755 app/open-iconic/png/arrow-thick-bottom-8x.png delete mode 100755 app/open-iconic/png/arrow-thick-bottom.png delete mode 100755 app/open-iconic/png/arrow-thick-left-2x.png delete mode 100755 app/open-iconic/png/arrow-thick-left-3x.png delete mode 100755 app/open-iconic/png/arrow-thick-left-4x.png delete mode 100755 app/open-iconic/png/arrow-thick-left-6x.png delete mode 100755 app/open-iconic/png/arrow-thick-left-8x.png delete mode 100755 app/open-iconic/png/arrow-thick-left.png delete mode 100755 app/open-iconic/png/arrow-thick-right-2x.png delete mode 100755 app/open-iconic/png/arrow-thick-right-3x.png delete mode 100755 app/open-iconic/png/arrow-thick-right-4x.png delete mode 100755 app/open-iconic/png/arrow-thick-right-6x.png delete mode 100755 app/open-iconic/png/arrow-thick-right-8x.png delete mode 100755 app/open-iconic/png/arrow-thick-right.png delete mode 100755 app/open-iconic/png/arrow-thick-top-2x.png delete mode 100755 app/open-iconic/png/arrow-thick-top-3x.png delete mode 100755 app/open-iconic/png/arrow-thick-top-4x.png delete mode 100755 app/open-iconic/png/arrow-thick-top-6x.png delete mode 100755 app/open-iconic/png/arrow-thick-top-8x.png delete mode 100755 app/open-iconic/png/arrow-thick-top.png delete mode 100755 app/open-iconic/png/arrow-top-2x.png delete mode 100755 app/open-iconic/png/arrow-top-3x.png delete mode 100755 app/open-iconic/png/arrow-top-4x.png delete mode 100755 app/open-iconic/png/arrow-top-6x.png delete mode 100755 app/open-iconic/png/arrow-top-8x.png delete mode 100755 app/open-iconic/png/arrow-top.png delete mode 100755 app/open-iconic/png/audio-2x.png delete mode 100755 app/open-iconic/png/audio-3x.png delete mode 100755 app/open-iconic/png/audio-4x.png delete mode 100755 app/open-iconic/png/audio-6x.png delete mode 100755 app/open-iconic/png/audio-8x.png delete mode 100755 app/open-iconic/png/audio-spectrum-2x.png delete mode 100755 app/open-iconic/png/audio-spectrum-3x.png delete mode 100755 app/open-iconic/png/audio-spectrum-4x.png delete mode 100755 app/open-iconic/png/audio-spectrum-6x.png delete mode 100755 app/open-iconic/png/audio-spectrum-8x.png delete mode 100755 app/open-iconic/png/audio-spectrum.png delete mode 100755 app/open-iconic/png/audio.png delete mode 100755 app/open-iconic/png/badge-2x.png delete mode 100755 app/open-iconic/png/badge-3x.png delete mode 100755 app/open-iconic/png/badge-4x.png delete mode 100755 app/open-iconic/png/badge-6x.png delete mode 100755 app/open-iconic/png/badge-8x.png delete mode 100755 app/open-iconic/png/badge.png delete mode 100755 app/open-iconic/png/ban-2x.png delete mode 100755 app/open-iconic/png/ban-3x.png delete mode 100755 app/open-iconic/png/ban-4x.png delete mode 100755 app/open-iconic/png/ban-6x.png delete mode 100755 app/open-iconic/png/ban-8x.png delete mode 100755 app/open-iconic/png/ban.png delete mode 100755 app/open-iconic/png/bar-chart-2x.png delete mode 100755 app/open-iconic/png/bar-chart-3x.png delete mode 100755 app/open-iconic/png/bar-chart-4x.png delete mode 100755 app/open-iconic/png/bar-chart-6x.png delete mode 100755 app/open-iconic/png/bar-chart-8x.png delete mode 100755 app/open-iconic/png/bar-chart.png delete mode 100755 app/open-iconic/png/basket-2x.png delete mode 100755 app/open-iconic/png/basket-3x.png delete mode 100755 app/open-iconic/png/basket-4x.png delete mode 100755 app/open-iconic/png/basket-6x.png delete mode 100755 app/open-iconic/png/basket-8x.png delete mode 100755 app/open-iconic/png/basket.png delete mode 100755 app/open-iconic/png/battery-empty-2x.png delete mode 100755 app/open-iconic/png/battery-empty-3x.png delete mode 100755 app/open-iconic/png/battery-empty-4x.png delete mode 100755 app/open-iconic/png/battery-empty-6x.png delete mode 100755 app/open-iconic/png/battery-empty-8x.png delete mode 100755 app/open-iconic/png/battery-empty.png delete mode 100755 app/open-iconic/png/battery-full-2x.png delete mode 100755 app/open-iconic/png/battery-full-3x.png delete mode 100755 app/open-iconic/png/battery-full-4x.png delete mode 100755 app/open-iconic/png/battery-full-6x.png delete mode 100755 app/open-iconic/png/battery-full-8x.png delete mode 100755 app/open-iconic/png/battery-full.png delete mode 100755 app/open-iconic/png/beaker-2x.png delete mode 100755 app/open-iconic/png/beaker-3x.png delete mode 100755 app/open-iconic/png/beaker-4x.png delete mode 100755 app/open-iconic/png/beaker-6x.png delete mode 100755 app/open-iconic/png/beaker-8x.png delete mode 100755 app/open-iconic/png/beaker.png delete mode 100755 app/open-iconic/png/bell-2x.png delete mode 100755 app/open-iconic/png/bell-3x.png delete mode 100755 app/open-iconic/png/bell-4x.png delete mode 100755 app/open-iconic/png/bell-6x.png delete mode 100755 app/open-iconic/png/bell-8x.png delete mode 100755 app/open-iconic/png/bell.png delete mode 100755 app/open-iconic/png/bluetooth-2x.png delete mode 100755 app/open-iconic/png/bluetooth-3x.png delete mode 100755 app/open-iconic/png/bluetooth-4x.png delete mode 100755 app/open-iconic/png/bluetooth-6x.png delete mode 100755 app/open-iconic/png/bluetooth-8x.png delete mode 100755 app/open-iconic/png/bluetooth.png delete mode 100755 app/open-iconic/png/bold-2x.png delete mode 100755 app/open-iconic/png/bold-3x.png delete mode 100755 app/open-iconic/png/bold-4x.png delete mode 100755 app/open-iconic/png/bold-6x.png delete mode 100755 app/open-iconic/png/bold-8x.png delete mode 100755 app/open-iconic/png/bold.png delete mode 100755 app/open-iconic/png/bolt-2x.png delete mode 100755 app/open-iconic/png/bolt-3x.png delete mode 100755 app/open-iconic/png/bolt-4x.png delete mode 100755 app/open-iconic/png/bolt-6x.png delete mode 100755 app/open-iconic/png/bolt-8x.png delete mode 100755 app/open-iconic/png/bolt.png delete mode 100755 app/open-iconic/png/book-2x.png delete mode 100755 app/open-iconic/png/book-3x.png delete mode 100755 app/open-iconic/png/book-4x.png delete mode 100755 app/open-iconic/png/book-6x.png delete mode 100755 app/open-iconic/png/book-8x.png delete mode 100755 app/open-iconic/png/book.png delete mode 100755 app/open-iconic/png/bookmark-2x.png delete mode 100755 app/open-iconic/png/bookmark-3x.png delete mode 100755 app/open-iconic/png/bookmark-4x.png delete mode 100755 app/open-iconic/png/bookmark-6x.png delete mode 100755 app/open-iconic/png/bookmark-8x.png delete mode 100755 app/open-iconic/png/bookmark.png delete mode 100755 app/open-iconic/png/box-2x.png delete mode 100755 app/open-iconic/png/box-3x.png delete mode 100755 app/open-iconic/png/box-4x.png delete mode 100755 app/open-iconic/png/box-6x.png delete mode 100755 app/open-iconic/png/box-8x.png delete mode 100755 app/open-iconic/png/box.png delete mode 100755 app/open-iconic/png/briefcase-2x.png delete mode 100755 app/open-iconic/png/briefcase-3x.png delete mode 100755 app/open-iconic/png/briefcase-4x.png delete mode 100755 app/open-iconic/png/briefcase-6x.png delete mode 100755 app/open-iconic/png/briefcase-8x.png delete mode 100755 app/open-iconic/png/briefcase.png delete mode 100755 app/open-iconic/png/british-pound-2x.png delete mode 100755 app/open-iconic/png/british-pound-3x.png delete mode 100755 app/open-iconic/png/british-pound-4x.png delete mode 100755 app/open-iconic/png/british-pound-6x.png delete mode 100755 app/open-iconic/png/british-pound-8x.png delete mode 100755 app/open-iconic/png/british-pound.png delete mode 100755 app/open-iconic/png/browser-2x.png delete mode 100755 app/open-iconic/png/browser-3x.png delete mode 100755 app/open-iconic/png/browser-4x.png delete mode 100755 app/open-iconic/png/browser-6x.png delete mode 100755 app/open-iconic/png/browser-8x.png delete mode 100755 app/open-iconic/png/browser.png delete mode 100755 app/open-iconic/png/brush-2x.png delete mode 100755 app/open-iconic/png/brush-3x.png delete mode 100755 app/open-iconic/png/brush-4x.png delete mode 100755 app/open-iconic/png/brush-6x.png delete mode 100755 app/open-iconic/png/brush-8x.png delete mode 100755 app/open-iconic/png/brush.png delete mode 100755 app/open-iconic/png/bug-2x.png delete mode 100755 app/open-iconic/png/bug-3x.png delete mode 100755 app/open-iconic/png/bug-4x.png delete mode 100755 app/open-iconic/png/bug-6x.png delete mode 100755 app/open-iconic/png/bug-8x.png delete mode 100755 app/open-iconic/png/bug.png delete mode 100755 app/open-iconic/png/bullhorn-2x.png delete mode 100755 app/open-iconic/png/bullhorn-3x.png delete mode 100755 app/open-iconic/png/bullhorn-4x.png delete mode 100755 app/open-iconic/png/bullhorn-6x.png delete mode 100755 app/open-iconic/png/bullhorn-8x.png delete mode 100755 app/open-iconic/png/bullhorn.png delete mode 100755 app/open-iconic/png/calculator-2x.png delete mode 100755 app/open-iconic/png/calculator-3x.png delete mode 100755 app/open-iconic/png/calculator-4x.png delete mode 100755 app/open-iconic/png/calculator-6x.png delete mode 100755 app/open-iconic/png/calculator-8x.png delete mode 100755 app/open-iconic/png/calculator.png delete mode 100755 app/open-iconic/png/calendar-2x.png delete mode 100755 app/open-iconic/png/calendar-3x.png delete mode 100755 app/open-iconic/png/calendar-4x.png delete mode 100755 app/open-iconic/png/calendar-6x.png delete mode 100755 app/open-iconic/png/calendar-8x.png delete mode 100755 app/open-iconic/png/calendar.png delete mode 100755 app/open-iconic/png/camera-slr-2x.png delete mode 100755 app/open-iconic/png/camera-slr-3x.png delete mode 100755 app/open-iconic/png/camera-slr-4x.png delete mode 100755 app/open-iconic/png/camera-slr-6x.png delete mode 100755 app/open-iconic/png/camera-slr-8x.png delete mode 100755 app/open-iconic/png/camera-slr.png delete mode 100755 app/open-iconic/png/caret-bottom-2x.png delete mode 100755 app/open-iconic/png/caret-bottom-3x.png delete mode 100755 app/open-iconic/png/caret-bottom-4x.png delete mode 100755 app/open-iconic/png/caret-bottom-6x.png delete mode 100755 app/open-iconic/png/caret-bottom-8x.png delete mode 100755 app/open-iconic/png/caret-bottom.png delete mode 100755 app/open-iconic/png/caret-left-2x.png delete mode 100755 app/open-iconic/png/caret-left-3x.png delete mode 100755 app/open-iconic/png/caret-left-4x.png delete mode 100755 app/open-iconic/png/caret-left-6x.png delete mode 100755 app/open-iconic/png/caret-left-8x.png delete mode 100755 app/open-iconic/png/caret-left.png delete mode 100755 app/open-iconic/png/caret-right-2x.png delete mode 100755 app/open-iconic/png/caret-right-3x.png delete mode 100755 app/open-iconic/png/caret-right-4x.png delete mode 100755 app/open-iconic/png/caret-right-6x.png delete mode 100755 app/open-iconic/png/caret-right-8x.png delete mode 100755 app/open-iconic/png/caret-right.png delete mode 100755 app/open-iconic/png/caret-top-2x.png delete mode 100755 app/open-iconic/png/caret-top-3x.png delete mode 100755 app/open-iconic/png/caret-top-4x.png delete mode 100755 app/open-iconic/png/caret-top-6x.png delete mode 100755 app/open-iconic/png/caret-top-8x.png delete mode 100755 app/open-iconic/png/caret-top.png delete mode 100755 app/open-iconic/png/cart-2x.png delete mode 100755 app/open-iconic/png/cart-3x.png delete mode 100755 app/open-iconic/png/cart-4x.png delete mode 100755 app/open-iconic/png/cart-6x.png delete mode 100755 app/open-iconic/png/cart-8x.png delete mode 100755 app/open-iconic/png/cart.png delete mode 100755 app/open-iconic/png/chat-2x.png delete mode 100755 app/open-iconic/png/chat-3x.png delete mode 100755 app/open-iconic/png/chat-4x.png delete mode 100755 app/open-iconic/png/chat-6x.png delete mode 100755 app/open-iconic/png/chat-8x.png delete mode 100755 app/open-iconic/png/chat.png delete mode 100755 app/open-iconic/png/check-2x.png delete mode 100755 app/open-iconic/png/check-3x.png delete mode 100755 app/open-iconic/png/check-4x.png delete mode 100755 app/open-iconic/png/check-6x.png delete mode 100755 app/open-iconic/png/check-8x.png delete mode 100755 app/open-iconic/png/check.png delete mode 100755 app/open-iconic/png/chevron-bottom-2x.png delete mode 100755 app/open-iconic/png/chevron-bottom-3x.png delete mode 100755 app/open-iconic/png/chevron-bottom-4x.png delete mode 100755 app/open-iconic/png/chevron-bottom-6x.png delete mode 100755 app/open-iconic/png/chevron-bottom-8x.png delete mode 100755 app/open-iconic/png/chevron-bottom.png delete mode 100755 app/open-iconic/png/chevron-left-2x.png delete mode 100755 app/open-iconic/png/chevron-left-3x.png delete mode 100755 app/open-iconic/png/chevron-left-4x.png delete mode 100755 app/open-iconic/png/chevron-left-6x.png delete mode 100755 app/open-iconic/png/chevron-left-8x.png delete mode 100755 app/open-iconic/png/chevron-left.png delete mode 100755 app/open-iconic/png/chevron-right-2x.png delete mode 100755 app/open-iconic/png/chevron-right-3x.png delete mode 100755 app/open-iconic/png/chevron-right-4x.png delete mode 100755 app/open-iconic/png/chevron-right-6x.png delete mode 100755 app/open-iconic/png/chevron-right-8x.png delete mode 100755 app/open-iconic/png/chevron-right.png delete mode 100755 app/open-iconic/png/chevron-top-2x.png delete mode 100755 app/open-iconic/png/chevron-top-3x.png delete mode 100755 app/open-iconic/png/chevron-top-4x.png delete mode 100755 app/open-iconic/png/chevron-top-6x.png delete mode 100755 app/open-iconic/png/chevron-top-8x.png delete mode 100755 app/open-iconic/png/chevron-top.png delete mode 100755 app/open-iconic/png/circle-check-2x.png delete mode 100755 app/open-iconic/png/circle-check-3x.png delete mode 100755 app/open-iconic/png/circle-check-4x.png delete mode 100755 app/open-iconic/png/circle-check-6x.png delete mode 100755 app/open-iconic/png/circle-check-8x.png delete mode 100755 app/open-iconic/png/circle-check.png delete mode 100755 app/open-iconic/png/circle-x-2x.png delete mode 100755 app/open-iconic/png/circle-x-3x.png delete mode 100755 app/open-iconic/png/circle-x-4x.png delete mode 100755 app/open-iconic/png/circle-x-6x.png delete mode 100755 app/open-iconic/png/circle-x-8x.png delete mode 100755 app/open-iconic/png/circle-x.png delete mode 100755 app/open-iconic/png/clipboard-2x.png delete mode 100755 app/open-iconic/png/clipboard-3x.png delete mode 100755 app/open-iconic/png/clipboard-4x.png delete mode 100755 app/open-iconic/png/clipboard-6x.png delete mode 100755 app/open-iconic/png/clipboard-8x.png delete mode 100755 app/open-iconic/png/clipboard.png delete mode 100755 app/open-iconic/png/clock-2x.png delete mode 100755 app/open-iconic/png/clock-3x.png delete mode 100755 app/open-iconic/png/clock-4x.png delete mode 100755 app/open-iconic/png/clock-6x.png delete mode 100755 app/open-iconic/png/clock-8x.png delete mode 100755 app/open-iconic/png/clock.png delete mode 100755 app/open-iconic/png/cloud-2x.png delete mode 100755 app/open-iconic/png/cloud-3x.png delete mode 100755 app/open-iconic/png/cloud-4x.png delete mode 100755 app/open-iconic/png/cloud-6x.png delete mode 100755 app/open-iconic/png/cloud-8x.png delete mode 100755 app/open-iconic/png/cloud-download-2x.png delete mode 100755 app/open-iconic/png/cloud-download-3x.png delete mode 100755 app/open-iconic/png/cloud-download-4x.png delete mode 100755 app/open-iconic/png/cloud-download-6x.png delete mode 100755 app/open-iconic/png/cloud-download-8x.png delete mode 100755 app/open-iconic/png/cloud-download.png delete mode 100755 app/open-iconic/png/cloud-upload-2x.png delete mode 100755 app/open-iconic/png/cloud-upload-3x.png delete mode 100755 app/open-iconic/png/cloud-upload-4x.png delete mode 100755 app/open-iconic/png/cloud-upload-6x.png delete mode 100755 app/open-iconic/png/cloud-upload-8x.png delete mode 100755 app/open-iconic/png/cloud-upload.png delete mode 100755 app/open-iconic/png/cloud.png delete mode 100755 app/open-iconic/png/cloudy-2x.png delete mode 100755 app/open-iconic/png/cloudy-3x.png delete mode 100755 app/open-iconic/png/cloudy-4x.png delete mode 100755 app/open-iconic/png/cloudy-6x.png delete mode 100755 app/open-iconic/png/cloudy-8x.png delete mode 100755 app/open-iconic/png/cloudy.png delete mode 100755 app/open-iconic/png/code-2x.png delete mode 100755 app/open-iconic/png/code-3x.png delete mode 100755 app/open-iconic/png/code-4x.png delete mode 100755 app/open-iconic/png/code-6x.png delete mode 100755 app/open-iconic/png/code-8x.png delete mode 100755 app/open-iconic/png/code.png delete mode 100755 app/open-iconic/png/cog-2x.png delete mode 100755 app/open-iconic/png/cog-3x.png delete mode 100755 app/open-iconic/png/cog-4x.png delete mode 100755 app/open-iconic/png/cog-6x.png delete mode 100755 app/open-iconic/png/cog-8x.png delete mode 100755 app/open-iconic/png/cog.png delete mode 100755 app/open-iconic/png/collapse-down-2x.png delete mode 100755 app/open-iconic/png/collapse-down-3x.png delete mode 100755 app/open-iconic/png/collapse-down-4x.png delete mode 100755 app/open-iconic/png/collapse-down-6x.png delete mode 100755 app/open-iconic/png/collapse-down-8x.png delete mode 100755 app/open-iconic/png/collapse-down.png delete mode 100755 app/open-iconic/png/collapse-left-2x.png delete mode 100755 app/open-iconic/png/collapse-left-3x.png delete mode 100755 app/open-iconic/png/collapse-left-4x.png delete mode 100755 app/open-iconic/png/collapse-left-6x.png delete mode 100755 app/open-iconic/png/collapse-left-8x.png delete mode 100755 app/open-iconic/png/collapse-left.png delete mode 100755 app/open-iconic/png/collapse-right-2x.png delete mode 100755 app/open-iconic/png/collapse-right-3x.png delete mode 100755 app/open-iconic/png/collapse-right-4x.png delete mode 100755 app/open-iconic/png/collapse-right-6x.png delete mode 100755 app/open-iconic/png/collapse-right-8x.png delete mode 100755 app/open-iconic/png/collapse-right.png delete mode 100755 app/open-iconic/png/collapse-up-2x.png delete mode 100755 app/open-iconic/png/collapse-up-3x.png delete mode 100755 app/open-iconic/png/collapse-up-4x.png delete mode 100755 app/open-iconic/png/collapse-up-6x.png delete mode 100755 app/open-iconic/png/collapse-up-8x.png delete mode 100755 app/open-iconic/png/collapse-up.png delete mode 100755 app/open-iconic/png/command-2x.png delete mode 100755 app/open-iconic/png/command-3x.png delete mode 100755 app/open-iconic/png/command-4x.png delete mode 100755 app/open-iconic/png/command-6x.png delete mode 100755 app/open-iconic/png/command-8x.png delete mode 100755 app/open-iconic/png/command.png delete mode 100755 app/open-iconic/png/comment-square-2x.png delete mode 100755 app/open-iconic/png/comment-square-3x.png delete mode 100755 app/open-iconic/png/comment-square-4x.png delete mode 100755 app/open-iconic/png/comment-square-6x.png delete mode 100755 app/open-iconic/png/comment-square-8x.png delete mode 100755 app/open-iconic/png/comment-square.png delete mode 100755 app/open-iconic/png/compass-2x.png delete mode 100755 app/open-iconic/png/compass-3x.png delete mode 100755 app/open-iconic/png/compass-4x.png delete mode 100755 app/open-iconic/png/compass-6x.png delete mode 100755 app/open-iconic/png/compass-8x.png delete mode 100755 app/open-iconic/png/compass.png delete mode 100755 app/open-iconic/png/contrast-2x.png delete mode 100755 app/open-iconic/png/contrast-3x.png delete mode 100755 app/open-iconic/png/contrast-4x.png delete mode 100755 app/open-iconic/png/contrast-6x.png delete mode 100755 app/open-iconic/png/contrast-8x.png delete mode 100755 app/open-iconic/png/contrast.png delete mode 100755 app/open-iconic/png/copywriting-2x.png delete mode 100755 app/open-iconic/png/copywriting-3x.png delete mode 100755 app/open-iconic/png/copywriting-4x.png delete mode 100755 app/open-iconic/png/copywriting-6x.png delete mode 100755 app/open-iconic/png/copywriting-8x.png delete mode 100755 app/open-iconic/png/copywriting.png delete mode 100755 app/open-iconic/png/credit-card-2x.png delete mode 100755 app/open-iconic/png/credit-card-3x.png delete mode 100755 app/open-iconic/png/credit-card-4x.png delete mode 100755 app/open-iconic/png/credit-card-6x.png delete mode 100755 app/open-iconic/png/credit-card-8x.png delete mode 100755 app/open-iconic/png/credit-card.png delete mode 100755 app/open-iconic/png/crop-2x.png delete mode 100755 app/open-iconic/png/crop-3x.png delete mode 100755 app/open-iconic/png/crop-4x.png delete mode 100755 app/open-iconic/png/crop-6x.png delete mode 100755 app/open-iconic/png/crop-8x.png delete mode 100755 app/open-iconic/png/crop.png delete mode 100755 app/open-iconic/png/dashboard-2x.png delete mode 100755 app/open-iconic/png/dashboard-3x.png delete mode 100755 app/open-iconic/png/dashboard-4x.png delete mode 100755 app/open-iconic/png/dashboard-6x.png delete mode 100755 app/open-iconic/png/dashboard-8x.png delete mode 100755 app/open-iconic/png/dashboard.png delete mode 100755 app/open-iconic/png/data-transfer-download-2x.png delete mode 100755 app/open-iconic/png/data-transfer-download-3x.png delete mode 100755 app/open-iconic/png/data-transfer-download-4x.png delete mode 100755 app/open-iconic/png/data-transfer-download-6x.png delete mode 100755 app/open-iconic/png/data-transfer-download-8x.png delete mode 100755 app/open-iconic/png/data-transfer-download.png delete mode 100755 app/open-iconic/png/data-transfer-upload-2x.png delete mode 100755 app/open-iconic/png/data-transfer-upload-3x.png delete mode 100755 app/open-iconic/png/data-transfer-upload-4x.png delete mode 100755 app/open-iconic/png/data-transfer-upload-6x.png delete mode 100755 app/open-iconic/png/data-transfer-upload-8x.png delete mode 100755 app/open-iconic/png/data-transfer-upload.png delete mode 100755 app/open-iconic/png/delete-2x.png delete mode 100755 app/open-iconic/png/delete-3x.png delete mode 100755 app/open-iconic/png/delete-4x.png delete mode 100755 app/open-iconic/png/delete-6x.png delete mode 100755 app/open-iconic/png/delete-8x.png delete mode 100755 app/open-iconic/png/delete.png delete mode 100755 app/open-iconic/png/dial-2x.png delete mode 100755 app/open-iconic/png/dial-3x.png delete mode 100755 app/open-iconic/png/dial-4x.png delete mode 100755 app/open-iconic/png/dial-6x.png delete mode 100755 app/open-iconic/png/dial-8x.png delete mode 100755 app/open-iconic/png/dial.png delete mode 100755 app/open-iconic/png/document-2x.png delete mode 100755 app/open-iconic/png/document-3x.png delete mode 100755 app/open-iconic/png/document-4x.png delete mode 100755 app/open-iconic/png/document-6x.png delete mode 100755 app/open-iconic/png/document-8x.png delete mode 100755 app/open-iconic/png/document.png delete mode 100755 app/open-iconic/png/dollar-2x.png delete mode 100755 app/open-iconic/png/dollar-3x.png delete mode 100755 app/open-iconic/png/dollar-4x.png delete mode 100755 app/open-iconic/png/dollar-6x.png delete mode 100755 app/open-iconic/png/dollar-8x.png delete mode 100755 app/open-iconic/png/dollar.png delete mode 100755 app/open-iconic/png/double-quote-sans-left-2x.png delete mode 100755 app/open-iconic/png/double-quote-sans-left-3x.png delete mode 100755 app/open-iconic/png/double-quote-sans-left-4x.png delete mode 100755 app/open-iconic/png/double-quote-sans-left-6x.png delete mode 100755 app/open-iconic/png/double-quote-sans-left-8x.png delete mode 100755 app/open-iconic/png/double-quote-sans-left.png delete mode 100755 app/open-iconic/png/double-quote-sans-right-2x.png delete mode 100755 app/open-iconic/png/double-quote-sans-right-3x.png delete mode 100755 app/open-iconic/png/double-quote-sans-right-4x.png delete mode 100755 app/open-iconic/png/double-quote-sans-right-6x.png delete mode 100755 app/open-iconic/png/double-quote-sans-right-8x.png delete mode 100755 app/open-iconic/png/double-quote-sans-right.png delete mode 100755 app/open-iconic/png/double-quote-serif-left-2x.png delete mode 100755 app/open-iconic/png/double-quote-serif-left-3x.png delete mode 100755 app/open-iconic/png/double-quote-serif-left-4x.png delete mode 100755 app/open-iconic/png/double-quote-serif-left-6x.png delete mode 100755 app/open-iconic/png/double-quote-serif-left-8x.png delete mode 100755 app/open-iconic/png/double-quote-serif-left.png delete mode 100755 app/open-iconic/png/double-quote-serif-right-2x.png delete mode 100755 app/open-iconic/png/double-quote-serif-right-3x.png delete mode 100755 app/open-iconic/png/double-quote-serif-right-4x.png delete mode 100755 app/open-iconic/png/double-quote-serif-right-6x.png delete mode 100755 app/open-iconic/png/double-quote-serif-right-8x.png delete mode 100755 app/open-iconic/png/double-quote-serif-right.png delete mode 100755 app/open-iconic/png/droplet-2x.png delete mode 100755 app/open-iconic/png/droplet-3x.png delete mode 100755 app/open-iconic/png/droplet-4x.png delete mode 100755 app/open-iconic/png/droplet-6x.png delete mode 100755 app/open-iconic/png/droplet-8x.png delete mode 100755 app/open-iconic/png/droplet.png delete mode 100755 app/open-iconic/png/eject-2x.png delete mode 100755 app/open-iconic/png/eject-3x.png delete mode 100755 app/open-iconic/png/eject-4x.png delete mode 100755 app/open-iconic/png/eject-6x.png delete mode 100755 app/open-iconic/png/eject-8x.png delete mode 100755 app/open-iconic/png/eject.png delete mode 100755 app/open-iconic/png/elevator-2x.png delete mode 100755 app/open-iconic/png/elevator-3x.png delete mode 100755 app/open-iconic/png/elevator-4x.png delete mode 100755 app/open-iconic/png/elevator-6x.png delete mode 100755 app/open-iconic/png/elevator-8x.png delete mode 100755 app/open-iconic/png/elevator.png delete mode 100755 app/open-iconic/png/ellipses-2x.png delete mode 100755 app/open-iconic/png/ellipses-3x.png delete mode 100755 app/open-iconic/png/ellipses-4x.png delete mode 100755 app/open-iconic/png/ellipses-6x.png delete mode 100755 app/open-iconic/png/ellipses-8x.png delete mode 100755 app/open-iconic/png/ellipses.png delete mode 100755 app/open-iconic/png/envelope-closed-2x.png delete mode 100755 app/open-iconic/png/envelope-closed-3x.png delete mode 100755 app/open-iconic/png/envelope-closed-4x.png delete mode 100755 app/open-iconic/png/envelope-closed-6x.png delete mode 100755 app/open-iconic/png/envelope-closed-8x.png delete mode 100755 app/open-iconic/png/envelope-closed.png delete mode 100755 app/open-iconic/png/envelope-open-2x.png delete mode 100755 app/open-iconic/png/envelope-open-3x.png delete mode 100755 app/open-iconic/png/envelope-open-4x.png delete mode 100755 app/open-iconic/png/envelope-open-6x.png delete mode 100755 app/open-iconic/png/envelope-open-8x.png delete mode 100755 app/open-iconic/png/envelope-open.png delete mode 100755 app/open-iconic/png/euro-2x.png delete mode 100755 app/open-iconic/png/euro-3x.png delete mode 100755 app/open-iconic/png/euro-4x.png delete mode 100755 app/open-iconic/png/euro-6x.png delete mode 100755 app/open-iconic/png/euro-8x.png delete mode 100755 app/open-iconic/png/euro.png delete mode 100755 app/open-iconic/png/excerpt-2x.png delete mode 100755 app/open-iconic/png/excerpt-3x.png delete mode 100755 app/open-iconic/png/excerpt-4x.png delete mode 100755 app/open-iconic/png/excerpt-6x.png delete mode 100755 app/open-iconic/png/excerpt-8x.png delete mode 100755 app/open-iconic/png/excerpt.png delete mode 100755 app/open-iconic/png/expand-down-2x.png delete mode 100755 app/open-iconic/png/expand-down-3x.png delete mode 100755 app/open-iconic/png/expand-down-4x.png delete mode 100755 app/open-iconic/png/expand-down-6x.png delete mode 100755 app/open-iconic/png/expand-down-8x.png delete mode 100755 app/open-iconic/png/expand-down.png delete mode 100755 app/open-iconic/png/expand-left-2x.png delete mode 100755 app/open-iconic/png/expand-left-3x.png delete mode 100755 app/open-iconic/png/expand-left-4x.png delete mode 100755 app/open-iconic/png/expand-left-6x.png delete mode 100755 app/open-iconic/png/expand-left-8x.png delete mode 100755 app/open-iconic/png/expand-left.png delete mode 100755 app/open-iconic/png/expand-right-2x.png delete mode 100755 app/open-iconic/png/expand-right-3x.png delete mode 100755 app/open-iconic/png/expand-right-4x.png delete mode 100755 app/open-iconic/png/expand-right-6x.png delete mode 100755 app/open-iconic/png/expand-right-8x.png delete mode 100755 app/open-iconic/png/expand-right.png delete mode 100755 app/open-iconic/png/expand-up-2x.png delete mode 100755 app/open-iconic/png/expand-up-3x.png delete mode 100755 app/open-iconic/png/expand-up-4x.png delete mode 100755 app/open-iconic/png/expand-up-6x.png delete mode 100755 app/open-iconic/png/expand-up-8x.png delete mode 100755 app/open-iconic/png/expand-up.png delete mode 100755 app/open-iconic/png/external-link-2x.png delete mode 100755 app/open-iconic/png/external-link-3x.png delete mode 100755 app/open-iconic/png/external-link-4x.png delete mode 100755 app/open-iconic/png/external-link-6x.png delete mode 100755 app/open-iconic/png/external-link-8x.png delete mode 100755 app/open-iconic/png/external-link.png delete mode 100755 app/open-iconic/png/eye-2x.png delete mode 100755 app/open-iconic/png/eye-3x.png delete mode 100755 app/open-iconic/png/eye-4x.png delete mode 100755 app/open-iconic/png/eye-6x.png delete mode 100755 app/open-iconic/png/eye-8x.png delete mode 100755 app/open-iconic/png/eye.png delete mode 100755 app/open-iconic/png/eyedropper-2x.png delete mode 100755 app/open-iconic/png/eyedropper-3x.png delete mode 100755 app/open-iconic/png/eyedropper-4x.png delete mode 100755 app/open-iconic/png/eyedropper-6x.png delete mode 100755 app/open-iconic/png/eyedropper-8x.png delete mode 100755 app/open-iconic/png/eyedropper.png delete mode 100755 app/open-iconic/png/file-2x.png delete mode 100755 app/open-iconic/png/file-3x.png delete mode 100755 app/open-iconic/png/file-4x.png delete mode 100755 app/open-iconic/png/file-6x.png delete mode 100755 app/open-iconic/png/file-8x.png delete mode 100755 app/open-iconic/png/file.png delete mode 100755 app/open-iconic/png/fire-2x.png delete mode 100755 app/open-iconic/png/fire-3x.png delete mode 100755 app/open-iconic/png/fire-4x.png delete mode 100755 app/open-iconic/png/fire-6x.png delete mode 100755 app/open-iconic/png/fire-8x.png delete mode 100755 app/open-iconic/png/fire.png delete mode 100755 app/open-iconic/png/flag-2x.png delete mode 100755 app/open-iconic/png/flag-3x.png delete mode 100755 app/open-iconic/png/flag-4x.png delete mode 100755 app/open-iconic/png/flag-6x.png delete mode 100755 app/open-iconic/png/flag-8x.png delete mode 100755 app/open-iconic/png/flag.png delete mode 100755 app/open-iconic/png/flash-2x.png delete mode 100755 app/open-iconic/png/flash-3x.png delete mode 100755 app/open-iconic/png/flash-4x.png delete mode 100755 app/open-iconic/png/flash-6x.png delete mode 100755 app/open-iconic/png/flash-8x.png delete mode 100755 app/open-iconic/png/flash.png delete mode 100755 app/open-iconic/png/folder-2x.png delete mode 100755 app/open-iconic/png/folder-3x.png delete mode 100755 app/open-iconic/png/folder-4x.png delete mode 100755 app/open-iconic/png/folder-6x.png delete mode 100755 app/open-iconic/png/folder-8x.png delete mode 100755 app/open-iconic/png/folder.png delete mode 100755 app/open-iconic/png/fork-2x.png delete mode 100755 app/open-iconic/png/fork-3x.png delete mode 100755 app/open-iconic/png/fork-4x.png delete mode 100755 app/open-iconic/png/fork-6x.png delete mode 100755 app/open-iconic/png/fork-8x.png delete mode 100755 app/open-iconic/png/fork.png delete mode 100755 app/open-iconic/png/fullscreen-enter-2x.png delete mode 100755 app/open-iconic/png/fullscreen-enter-3x.png delete mode 100755 app/open-iconic/png/fullscreen-enter-4x.png delete mode 100755 app/open-iconic/png/fullscreen-enter-6x.png delete mode 100755 app/open-iconic/png/fullscreen-enter-8x.png delete mode 100755 app/open-iconic/png/fullscreen-enter.png delete mode 100755 app/open-iconic/png/fullscreen-exit-2x.png delete mode 100755 app/open-iconic/png/fullscreen-exit-3x.png delete mode 100755 app/open-iconic/png/fullscreen-exit-4x.png delete mode 100755 app/open-iconic/png/fullscreen-exit-6x.png delete mode 100755 app/open-iconic/png/fullscreen-exit-8x.png delete mode 100755 app/open-iconic/png/fullscreen-exit.png delete mode 100755 app/open-iconic/png/globe-2x.png delete mode 100755 app/open-iconic/png/globe-3x.png delete mode 100755 app/open-iconic/png/globe-4x.png delete mode 100755 app/open-iconic/png/globe-6x.png delete mode 100755 app/open-iconic/png/globe-8x.png delete mode 100755 app/open-iconic/png/globe.png delete mode 100755 app/open-iconic/png/graph-2x.png delete mode 100755 app/open-iconic/png/graph-3x.png delete mode 100755 app/open-iconic/png/graph-4x.png delete mode 100755 app/open-iconic/png/graph-6x.png delete mode 100755 app/open-iconic/png/graph-8x.png delete mode 100755 app/open-iconic/png/graph.png delete mode 100755 app/open-iconic/png/grid-four-up-2x.png delete mode 100755 app/open-iconic/png/grid-four-up-3x.png delete mode 100755 app/open-iconic/png/grid-four-up-4x.png delete mode 100755 app/open-iconic/png/grid-four-up-6x.png delete mode 100755 app/open-iconic/png/grid-four-up-8x.png delete mode 100755 app/open-iconic/png/grid-four-up.png delete mode 100755 app/open-iconic/png/grid-three-up-2x.png delete mode 100755 app/open-iconic/png/grid-three-up-3x.png delete mode 100755 app/open-iconic/png/grid-three-up-4x.png delete mode 100755 app/open-iconic/png/grid-three-up-6x.png delete mode 100755 app/open-iconic/png/grid-three-up-8x.png delete mode 100755 app/open-iconic/png/grid-three-up.png delete mode 100755 app/open-iconic/png/grid-two-up-2x.png delete mode 100755 app/open-iconic/png/grid-two-up-3x.png delete mode 100755 app/open-iconic/png/grid-two-up-4x.png delete mode 100755 app/open-iconic/png/grid-two-up-6x.png delete mode 100755 app/open-iconic/png/grid-two-up-8x.png delete mode 100755 app/open-iconic/png/grid-two-up.png delete mode 100755 app/open-iconic/png/hard-drive-2x.png delete mode 100755 app/open-iconic/png/hard-drive-3x.png delete mode 100755 app/open-iconic/png/hard-drive-4x.png delete mode 100755 app/open-iconic/png/hard-drive-6x.png delete mode 100755 app/open-iconic/png/hard-drive-8x.png delete mode 100755 app/open-iconic/png/hard-drive.png delete mode 100755 app/open-iconic/png/header-2x.png delete mode 100755 app/open-iconic/png/header-3x.png delete mode 100755 app/open-iconic/png/header-4x.png delete mode 100755 app/open-iconic/png/header-6x.png delete mode 100755 app/open-iconic/png/header-8x.png delete mode 100755 app/open-iconic/png/header.png delete mode 100755 app/open-iconic/png/headphones-2x.png delete mode 100755 app/open-iconic/png/headphones-3x.png delete mode 100755 app/open-iconic/png/headphones-4x.png delete mode 100755 app/open-iconic/png/headphones-6x.png delete mode 100755 app/open-iconic/png/headphones-8x.png delete mode 100755 app/open-iconic/png/headphones.png delete mode 100755 app/open-iconic/png/heart-2x.png delete mode 100755 app/open-iconic/png/heart-3x.png delete mode 100755 app/open-iconic/png/heart-4x.png delete mode 100755 app/open-iconic/png/heart-6x.png delete mode 100755 app/open-iconic/png/heart-8x.png delete mode 100755 app/open-iconic/png/heart.png delete mode 100755 app/open-iconic/png/home-2x.png delete mode 100755 app/open-iconic/png/home-3x.png delete mode 100755 app/open-iconic/png/home-4x.png delete mode 100755 app/open-iconic/png/home-6x.png delete mode 100755 app/open-iconic/png/home-8x.png delete mode 100755 app/open-iconic/png/home.png delete mode 100755 app/open-iconic/png/image-2x.png delete mode 100755 app/open-iconic/png/image-3x.png delete mode 100755 app/open-iconic/png/image-4x.png delete mode 100755 app/open-iconic/png/image-6x.png delete mode 100755 app/open-iconic/png/image-8x.png delete mode 100755 app/open-iconic/png/image.png delete mode 100755 app/open-iconic/png/inbox-2x.png delete mode 100755 app/open-iconic/png/inbox-3x.png delete mode 100755 app/open-iconic/png/inbox-4x.png delete mode 100755 app/open-iconic/png/inbox-6x.png delete mode 100755 app/open-iconic/png/inbox-8x.png delete mode 100755 app/open-iconic/png/inbox.png delete mode 100755 app/open-iconic/png/infinity-2x.png delete mode 100755 app/open-iconic/png/infinity-3x.png delete mode 100755 app/open-iconic/png/infinity-4x.png delete mode 100755 app/open-iconic/png/infinity-6x.png delete mode 100755 app/open-iconic/png/infinity-8x.png delete mode 100755 app/open-iconic/png/infinity.png delete mode 100755 app/open-iconic/png/info-2x.png delete mode 100755 app/open-iconic/png/info-3x.png delete mode 100755 app/open-iconic/png/info-4x.png delete mode 100755 app/open-iconic/png/info-6x.png delete mode 100755 app/open-iconic/png/info-8x.png delete mode 100755 app/open-iconic/png/info.png delete mode 100755 app/open-iconic/png/italic-2x.png delete mode 100755 app/open-iconic/png/italic-3x.png delete mode 100755 app/open-iconic/png/italic-4x.png delete mode 100755 app/open-iconic/png/italic-6x.png delete mode 100755 app/open-iconic/png/italic-8x.png delete mode 100755 app/open-iconic/png/italic.png delete mode 100755 app/open-iconic/png/justify-center-2x.png delete mode 100755 app/open-iconic/png/justify-center-3x.png delete mode 100755 app/open-iconic/png/justify-center-4x.png delete mode 100755 app/open-iconic/png/justify-center-6x.png delete mode 100755 app/open-iconic/png/justify-center-8x.png delete mode 100755 app/open-iconic/png/justify-center.png delete mode 100755 app/open-iconic/png/justify-left-2x.png delete mode 100755 app/open-iconic/png/justify-left-3x.png delete mode 100755 app/open-iconic/png/justify-left-4x.png delete mode 100755 app/open-iconic/png/justify-left-6x.png delete mode 100755 app/open-iconic/png/justify-left-8x.png delete mode 100755 app/open-iconic/png/justify-left.png delete mode 100755 app/open-iconic/png/justify-right-2x.png delete mode 100755 app/open-iconic/png/justify-right-3x.png delete mode 100755 app/open-iconic/png/justify-right-4x.png delete mode 100755 app/open-iconic/png/justify-right-6x.png delete mode 100755 app/open-iconic/png/justify-right-8x.png delete mode 100755 app/open-iconic/png/justify-right.png delete mode 100755 app/open-iconic/png/key-2x.png delete mode 100755 app/open-iconic/png/key-3x.png delete mode 100755 app/open-iconic/png/key-4x.png delete mode 100755 app/open-iconic/png/key-6x.png delete mode 100755 app/open-iconic/png/key-8x.png delete mode 100755 app/open-iconic/png/key.png delete mode 100755 app/open-iconic/png/laptop-2x.png delete mode 100755 app/open-iconic/png/laptop-3x.png delete mode 100755 app/open-iconic/png/laptop-4x.png delete mode 100755 app/open-iconic/png/laptop-6x.png delete mode 100755 app/open-iconic/png/laptop-8x.png delete mode 100755 app/open-iconic/png/laptop.png delete mode 100755 app/open-iconic/png/layers-2x.png delete mode 100755 app/open-iconic/png/layers-3x.png delete mode 100755 app/open-iconic/png/layers-4x.png delete mode 100755 app/open-iconic/png/layers-6x.png delete mode 100755 app/open-iconic/png/layers-8x.png delete mode 100755 app/open-iconic/png/layers.png delete mode 100755 app/open-iconic/png/lightbulb-2x.png delete mode 100755 app/open-iconic/png/lightbulb-3x.png delete mode 100755 app/open-iconic/png/lightbulb-4x.png delete mode 100755 app/open-iconic/png/lightbulb-6x.png delete mode 100755 app/open-iconic/png/lightbulb-8x.png delete mode 100755 app/open-iconic/png/lightbulb.png delete mode 100755 app/open-iconic/png/link-broken-2x.png delete mode 100755 app/open-iconic/png/link-broken-3x.png delete mode 100755 app/open-iconic/png/link-broken-4x.png delete mode 100755 app/open-iconic/png/link-broken-6x.png delete mode 100755 app/open-iconic/png/link-broken-8x.png delete mode 100755 app/open-iconic/png/link-broken.png delete mode 100755 app/open-iconic/png/link-intact-2x.png delete mode 100755 app/open-iconic/png/link-intact-3x.png delete mode 100755 app/open-iconic/png/link-intact-4x.png delete mode 100755 app/open-iconic/png/link-intact-6x.png delete mode 100755 app/open-iconic/png/link-intact-8x.png delete mode 100755 app/open-iconic/png/link-intact.png delete mode 100755 app/open-iconic/png/list-2x.png delete mode 100755 app/open-iconic/png/list-3x.png delete mode 100755 app/open-iconic/png/list-4x.png delete mode 100755 app/open-iconic/png/list-6x.png delete mode 100755 app/open-iconic/png/list-8x.png delete mode 100755 app/open-iconic/png/list-rich-2x.png delete mode 100755 app/open-iconic/png/list-rich-3x.png delete mode 100755 app/open-iconic/png/list-rich-4x.png delete mode 100755 app/open-iconic/png/list-rich-6x.png delete mode 100755 app/open-iconic/png/list-rich-8x.png delete mode 100755 app/open-iconic/png/list-rich.png delete mode 100755 app/open-iconic/png/list.png delete mode 100755 app/open-iconic/png/location-2x.png delete mode 100755 app/open-iconic/png/location-3x.png delete mode 100755 app/open-iconic/png/location-4x.png delete mode 100755 app/open-iconic/png/location-6x.png delete mode 100755 app/open-iconic/png/location-8x.png delete mode 100755 app/open-iconic/png/location.png delete mode 100755 app/open-iconic/png/lock-locked-2x.png delete mode 100755 app/open-iconic/png/lock-locked-3x.png delete mode 100755 app/open-iconic/png/lock-locked-4x.png delete mode 100755 app/open-iconic/png/lock-locked-6x.png delete mode 100755 app/open-iconic/png/lock-locked-8x.png delete mode 100755 app/open-iconic/png/lock-locked.png delete mode 100755 app/open-iconic/png/lock-unlocked-2x.png delete mode 100755 app/open-iconic/png/lock-unlocked-3x.png delete mode 100755 app/open-iconic/png/lock-unlocked-4x.png delete mode 100755 app/open-iconic/png/lock-unlocked-6x.png delete mode 100755 app/open-iconic/png/lock-unlocked-8x.png delete mode 100755 app/open-iconic/png/lock-unlocked.png delete mode 100755 app/open-iconic/png/loop-2x.png delete mode 100755 app/open-iconic/png/loop-3x.png delete mode 100755 app/open-iconic/png/loop-4x.png delete mode 100755 app/open-iconic/png/loop-6x.png delete mode 100755 app/open-iconic/png/loop-8x.png delete mode 100755 app/open-iconic/png/loop-circular-2x.png delete mode 100755 app/open-iconic/png/loop-circular-3x.png delete mode 100755 app/open-iconic/png/loop-circular-4x.png delete mode 100755 app/open-iconic/png/loop-circular-6x.png delete mode 100755 app/open-iconic/png/loop-circular-8x.png delete mode 100755 app/open-iconic/png/loop-circular.png delete mode 100755 app/open-iconic/png/loop-square-2x.png delete mode 100755 app/open-iconic/png/loop-square-3x.png delete mode 100755 app/open-iconic/png/loop-square-4x.png delete mode 100755 app/open-iconic/png/loop-square-6x.png delete mode 100755 app/open-iconic/png/loop-square-8x.png delete mode 100755 app/open-iconic/png/loop-square.png delete mode 100755 app/open-iconic/png/loop.png delete mode 100755 app/open-iconic/png/magnifying-glass-2x.png delete mode 100755 app/open-iconic/png/magnifying-glass-3x.png delete mode 100755 app/open-iconic/png/magnifying-glass-4x.png delete mode 100755 app/open-iconic/png/magnifying-glass-6x.png delete mode 100755 app/open-iconic/png/magnifying-glass-8x.png delete mode 100755 app/open-iconic/png/magnifying-glass.png delete mode 100755 app/open-iconic/png/map-2x.png delete mode 100755 app/open-iconic/png/map-3x.png delete mode 100755 app/open-iconic/png/map-4x.png delete mode 100755 app/open-iconic/png/map-6x.png delete mode 100755 app/open-iconic/png/map-8x.png delete mode 100755 app/open-iconic/png/map-marker-2x.png delete mode 100755 app/open-iconic/png/map-marker-3x.png delete mode 100755 app/open-iconic/png/map-marker-4x.png delete mode 100755 app/open-iconic/png/map-marker-6x.png delete mode 100755 app/open-iconic/png/map-marker-8x.png delete mode 100755 app/open-iconic/png/map-marker.png delete mode 100755 app/open-iconic/png/map.png delete mode 100755 app/open-iconic/png/media-pause-2x.png delete mode 100755 app/open-iconic/png/media-pause-3x.png delete mode 100755 app/open-iconic/png/media-pause-4x.png delete mode 100755 app/open-iconic/png/media-pause-6x.png delete mode 100755 app/open-iconic/png/media-pause-8x.png delete mode 100755 app/open-iconic/png/media-pause.png delete mode 100755 app/open-iconic/png/media-play-2x.png delete mode 100755 app/open-iconic/png/media-play-3x.png delete mode 100755 app/open-iconic/png/media-play-4x.png delete mode 100755 app/open-iconic/png/media-play-6x.png delete mode 100755 app/open-iconic/png/media-play-8x.png delete mode 100755 app/open-iconic/png/media-play.png delete mode 100755 app/open-iconic/png/media-record-2x.png delete mode 100755 app/open-iconic/png/media-record-3x.png delete mode 100755 app/open-iconic/png/media-record-4x.png delete mode 100755 app/open-iconic/png/media-record-6x.png delete mode 100755 app/open-iconic/png/media-record-8x.png delete mode 100755 app/open-iconic/png/media-record.png delete mode 100755 app/open-iconic/png/media-skip-backward-2x.png delete mode 100755 app/open-iconic/png/media-skip-backward-3x.png delete mode 100755 app/open-iconic/png/media-skip-backward-4x.png delete mode 100755 app/open-iconic/png/media-skip-backward-6x.png delete mode 100755 app/open-iconic/png/media-skip-backward-8x.png delete mode 100755 app/open-iconic/png/media-skip-backward.png delete mode 100755 app/open-iconic/png/media-skip-forward-2x.png delete mode 100755 app/open-iconic/png/media-skip-forward-3x.png delete mode 100755 app/open-iconic/png/media-skip-forward-4x.png delete mode 100755 app/open-iconic/png/media-skip-forward-6x.png delete mode 100755 app/open-iconic/png/media-skip-forward-8x.png delete mode 100755 app/open-iconic/png/media-skip-forward.png delete mode 100755 app/open-iconic/png/media-step-backward-2x.png delete mode 100755 app/open-iconic/png/media-step-backward-3x.png delete mode 100755 app/open-iconic/png/media-step-backward-4x.png delete mode 100755 app/open-iconic/png/media-step-backward-6x.png delete mode 100755 app/open-iconic/png/media-step-backward-8x.png delete mode 100755 app/open-iconic/png/media-step-backward.png delete mode 100755 app/open-iconic/png/media-step-forward-2x.png delete mode 100755 app/open-iconic/png/media-step-forward-3x.png delete mode 100755 app/open-iconic/png/media-step-forward-4x.png delete mode 100755 app/open-iconic/png/media-step-forward-6x.png delete mode 100755 app/open-iconic/png/media-step-forward-8x.png delete mode 100755 app/open-iconic/png/media-step-forward.png delete mode 100755 app/open-iconic/png/media-stop-2x.png delete mode 100755 app/open-iconic/png/media-stop-3x.png delete mode 100755 app/open-iconic/png/media-stop-4x.png delete mode 100755 app/open-iconic/png/media-stop-6x.png delete mode 100755 app/open-iconic/png/media-stop-8x.png delete mode 100755 app/open-iconic/png/media-stop.png delete mode 100755 app/open-iconic/png/medical-cross-2x.png delete mode 100755 app/open-iconic/png/medical-cross-3x.png delete mode 100755 app/open-iconic/png/medical-cross-4x.png delete mode 100755 app/open-iconic/png/medical-cross-6x.png delete mode 100755 app/open-iconic/png/medical-cross-8x.png delete mode 100755 app/open-iconic/png/medical-cross.png delete mode 100755 app/open-iconic/png/menu-2x.png delete mode 100755 app/open-iconic/png/menu-3x.png delete mode 100755 app/open-iconic/png/menu-4x.png delete mode 100755 app/open-iconic/png/menu-6x.png delete mode 100755 app/open-iconic/png/menu-8x.png delete mode 100755 app/open-iconic/png/menu.png delete mode 100755 app/open-iconic/png/microphone-2x.png delete mode 100755 app/open-iconic/png/microphone-3x.png delete mode 100755 app/open-iconic/png/microphone-4x.png delete mode 100755 app/open-iconic/png/microphone-6x.png delete mode 100755 app/open-iconic/png/microphone-8x.png delete mode 100755 app/open-iconic/png/microphone.png delete mode 100755 app/open-iconic/png/minus-2x.png delete mode 100755 app/open-iconic/png/minus-3x.png delete mode 100755 app/open-iconic/png/minus-4x.png delete mode 100755 app/open-iconic/png/minus-6x.png delete mode 100755 app/open-iconic/png/minus-8x.png delete mode 100755 app/open-iconic/png/minus.png delete mode 100755 app/open-iconic/png/monitor-2x.png delete mode 100755 app/open-iconic/png/monitor-3x.png delete mode 100755 app/open-iconic/png/monitor-4x.png delete mode 100755 app/open-iconic/png/monitor-6x.png delete mode 100755 app/open-iconic/png/monitor-8x.png delete mode 100755 app/open-iconic/png/monitor.png delete mode 100755 app/open-iconic/png/moon-2x.png delete mode 100755 app/open-iconic/png/moon-3x.png delete mode 100755 app/open-iconic/png/moon-4x.png delete mode 100755 app/open-iconic/png/moon-6x.png delete mode 100755 app/open-iconic/png/moon-8x.png delete mode 100755 app/open-iconic/png/moon.png delete mode 100755 app/open-iconic/png/move-2x.png delete mode 100755 app/open-iconic/png/move-3x.png delete mode 100755 app/open-iconic/png/move-4x.png delete mode 100755 app/open-iconic/png/move-6x.png delete mode 100755 app/open-iconic/png/move-8x.png delete mode 100755 app/open-iconic/png/move.png delete mode 100755 app/open-iconic/png/musical-note-2x.png delete mode 100755 app/open-iconic/png/musical-note-3x.png delete mode 100755 app/open-iconic/png/musical-note-4x.png delete mode 100755 app/open-iconic/png/musical-note-6x.png delete mode 100755 app/open-iconic/png/musical-note-8x.png delete mode 100755 app/open-iconic/png/musical-note.png delete mode 100755 app/open-iconic/png/paperclip-2x.png delete mode 100755 app/open-iconic/png/paperclip-3x.png delete mode 100755 app/open-iconic/png/paperclip-4x.png delete mode 100755 app/open-iconic/png/paperclip-6x.png delete mode 100755 app/open-iconic/png/paperclip-8x.png delete mode 100755 app/open-iconic/png/paperclip.png delete mode 100755 app/open-iconic/png/pencil-2x.png delete mode 100755 app/open-iconic/png/pencil-3x.png delete mode 100755 app/open-iconic/png/pencil-4x.png delete mode 100755 app/open-iconic/png/pencil-6x.png delete mode 100755 app/open-iconic/png/pencil-8x.png delete mode 100755 app/open-iconic/png/pencil.png delete mode 100755 app/open-iconic/png/people-2x.png delete mode 100755 app/open-iconic/png/people-3x.png delete mode 100755 app/open-iconic/png/people-4x.png delete mode 100755 app/open-iconic/png/people-6x.png delete mode 100755 app/open-iconic/png/people-8x.png delete mode 100755 app/open-iconic/png/people.png delete mode 100755 app/open-iconic/png/person-2x.png delete mode 100755 app/open-iconic/png/person-3x.png delete mode 100755 app/open-iconic/png/person-4x.png delete mode 100755 app/open-iconic/png/person-6x.png delete mode 100755 app/open-iconic/png/person-8x.png delete mode 100755 app/open-iconic/png/person.png delete mode 100755 app/open-iconic/png/phone-2x.png delete mode 100755 app/open-iconic/png/phone-3x.png delete mode 100755 app/open-iconic/png/phone-4x.png delete mode 100755 app/open-iconic/png/phone-6x.png delete mode 100755 app/open-iconic/png/phone-8x.png delete mode 100755 app/open-iconic/png/phone.png delete mode 100755 app/open-iconic/png/pie-chart-2x.png delete mode 100755 app/open-iconic/png/pie-chart-3x.png delete mode 100755 app/open-iconic/png/pie-chart-4x.png delete mode 100755 app/open-iconic/png/pie-chart-6x.png delete mode 100755 app/open-iconic/png/pie-chart-8x.png delete mode 100755 app/open-iconic/png/pie-chart.png delete mode 100755 app/open-iconic/png/pin-2x.png delete mode 100755 app/open-iconic/png/pin-3x.png delete mode 100755 app/open-iconic/png/pin-4x.png delete mode 100755 app/open-iconic/png/pin-6x.png delete mode 100755 app/open-iconic/png/pin-8x.png delete mode 100755 app/open-iconic/png/pin.png delete mode 100755 app/open-iconic/png/play-circle-2x.png delete mode 100755 app/open-iconic/png/play-circle-3x.png delete mode 100755 app/open-iconic/png/play-circle-4x.png delete mode 100755 app/open-iconic/png/play-circle-6x.png delete mode 100755 app/open-iconic/png/play-circle-8x.png delete mode 100755 app/open-iconic/png/play-circle.png delete mode 100755 app/open-iconic/png/plus-2x.png delete mode 100755 app/open-iconic/png/plus-3x.png delete mode 100755 app/open-iconic/png/plus-4x.png delete mode 100755 app/open-iconic/png/plus-6x.png delete mode 100755 app/open-iconic/png/plus-8x.png delete mode 100755 app/open-iconic/png/plus.png delete mode 100755 app/open-iconic/png/power-standby-2x.png delete mode 100755 app/open-iconic/png/power-standby-3x.png delete mode 100755 app/open-iconic/png/power-standby-4x.png delete mode 100755 app/open-iconic/png/power-standby-6x.png delete mode 100755 app/open-iconic/png/power-standby-8x.png delete mode 100755 app/open-iconic/png/power-standby.png delete mode 100755 app/open-iconic/png/print-2x.png delete mode 100755 app/open-iconic/png/print-3x.png delete mode 100755 app/open-iconic/png/print-4x.png delete mode 100755 app/open-iconic/png/print-6x.png delete mode 100755 app/open-iconic/png/print-8x.png delete mode 100755 app/open-iconic/png/print.png delete mode 100755 app/open-iconic/png/project-2x.png delete mode 100755 app/open-iconic/png/project-3x.png delete mode 100755 app/open-iconic/png/project-4x.png delete mode 100755 app/open-iconic/png/project-6x.png delete mode 100755 app/open-iconic/png/project-8x.png delete mode 100755 app/open-iconic/png/project.png delete mode 100755 app/open-iconic/png/pulse-2x.png delete mode 100755 app/open-iconic/png/pulse-3x.png delete mode 100755 app/open-iconic/png/pulse-4x.png delete mode 100755 app/open-iconic/png/pulse-6x.png delete mode 100755 app/open-iconic/png/pulse-8x.png delete mode 100755 app/open-iconic/png/pulse.png delete mode 100755 app/open-iconic/png/puzzle-piece-2x.png delete mode 100755 app/open-iconic/png/puzzle-piece-3x.png delete mode 100755 app/open-iconic/png/puzzle-piece-4x.png delete mode 100755 app/open-iconic/png/puzzle-piece-6x.png delete mode 100755 app/open-iconic/png/puzzle-piece-8x.png delete mode 100755 app/open-iconic/png/puzzle-piece.png delete mode 100755 app/open-iconic/png/question-mark-2x.png delete mode 100755 app/open-iconic/png/question-mark-3x.png delete mode 100755 app/open-iconic/png/question-mark-4x.png delete mode 100755 app/open-iconic/png/question-mark-6x.png delete mode 100755 app/open-iconic/png/question-mark-8x.png delete mode 100755 app/open-iconic/png/question-mark.png delete mode 100755 app/open-iconic/png/rain-2x.png delete mode 100755 app/open-iconic/png/rain-3x.png delete mode 100755 app/open-iconic/png/rain-4x.png delete mode 100755 app/open-iconic/png/rain-6x.png delete mode 100755 app/open-iconic/png/rain-8x.png delete mode 100755 app/open-iconic/png/rain.png delete mode 100755 app/open-iconic/png/random-2x.png delete mode 100755 app/open-iconic/png/random-3x.png delete mode 100755 app/open-iconic/png/random-4x.png delete mode 100755 app/open-iconic/png/random-6x.png delete mode 100755 app/open-iconic/png/random-8x.png delete mode 100755 app/open-iconic/png/random.png delete mode 100755 app/open-iconic/png/reload-2x.png delete mode 100755 app/open-iconic/png/reload-3x.png delete mode 100755 app/open-iconic/png/reload-4x.png delete mode 100755 app/open-iconic/png/reload-6x.png delete mode 100755 app/open-iconic/png/reload-8x.png delete mode 100755 app/open-iconic/png/reload.png delete mode 100755 app/open-iconic/png/resize-both-2x.png delete mode 100755 app/open-iconic/png/resize-both-3x.png delete mode 100755 app/open-iconic/png/resize-both-4x.png delete mode 100755 app/open-iconic/png/resize-both-6x.png delete mode 100755 app/open-iconic/png/resize-both-8x.png delete mode 100755 app/open-iconic/png/resize-both.png delete mode 100755 app/open-iconic/png/resize-height-2x.png delete mode 100755 app/open-iconic/png/resize-height-3x.png delete mode 100755 app/open-iconic/png/resize-height-4x.png delete mode 100755 app/open-iconic/png/resize-height-6x.png delete mode 100755 app/open-iconic/png/resize-height-8x.png delete mode 100755 app/open-iconic/png/resize-height.png delete mode 100755 app/open-iconic/png/resize-width-2x.png delete mode 100755 app/open-iconic/png/resize-width-3x.png delete mode 100755 app/open-iconic/png/resize-width-4x.png delete mode 100755 app/open-iconic/png/resize-width-6x.png delete mode 100755 app/open-iconic/png/resize-width-8x.png delete mode 100755 app/open-iconic/png/resize-width.png delete mode 100755 app/open-iconic/png/rss-2x.png delete mode 100755 app/open-iconic/png/rss-3x.png delete mode 100755 app/open-iconic/png/rss-4x.png delete mode 100755 app/open-iconic/png/rss-6x.png delete mode 100755 app/open-iconic/png/rss-8x.png delete mode 100755 app/open-iconic/png/rss-alt-2x.png delete mode 100755 app/open-iconic/png/rss-alt-3x.png delete mode 100755 app/open-iconic/png/rss-alt-4x.png delete mode 100755 app/open-iconic/png/rss-alt-6x.png delete mode 100755 app/open-iconic/png/rss-alt-8x.png delete mode 100755 app/open-iconic/png/rss-alt.png delete mode 100755 app/open-iconic/png/rss.png delete mode 100755 app/open-iconic/png/script-2x.png delete mode 100755 app/open-iconic/png/script-3x.png delete mode 100755 app/open-iconic/png/script-4x.png delete mode 100755 app/open-iconic/png/script-6x.png delete mode 100755 app/open-iconic/png/script-8x.png delete mode 100755 app/open-iconic/png/script.png delete mode 100755 app/open-iconic/png/share-2x.png delete mode 100755 app/open-iconic/png/share-3x.png delete mode 100755 app/open-iconic/png/share-4x.png delete mode 100755 app/open-iconic/png/share-6x.png delete mode 100755 app/open-iconic/png/share-8x.png delete mode 100755 app/open-iconic/png/share-boxed-2x.png delete mode 100755 app/open-iconic/png/share-boxed-3x.png delete mode 100755 app/open-iconic/png/share-boxed-4x.png delete mode 100755 app/open-iconic/png/share-boxed-6x.png delete mode 100755 app/open-iconic/png/share-boxed-8x.png delete mode 100755 app/open-iconic/png/share-boxed.png delete mode 100755 app/open-iconic/png/share.png delete mode 100755 app/open-iconic/png/shield-2x.png delete mode 100755 app/open-iconic/png/shield-3x.png delete mode 100755 app/open-iconic/png/shield-4x.png delete mode 100755 app/open-iconic/png/shield-6x.png delete mode 100755 app/open-iconic/png/shield-8x.png delete mode 100755 app/open-iconic/png/shield.png delete mode 100755 app/open-iconic/png/signal-2x.png delete mode 100755 app/open-iconic/png/signal-3x.png delete mode 100755 app/open-iconic/png/signal-4x.png delete mode 100755 app/open-iconic/png/signal-6x.png delete mode 100755 app/open-iconic/png/signal-8x.png delete mode 100755 app/open-iconic/png/signal.png delete mode 100755 app/open-iconic/png/signpost-2x.png delete mode 100755 app/open-iconic/png/signpost-3x.png delete mode 100755 app/open-iconic/png/signpost-4x.png delete mode 100755 app/open-iconic/png/signpost-6x.png delete mode 100755 app/open-iconic/png/signpost-8x.png delete mode 100755 app/open-iconic/png/signpost.png delete mode 100755 app/open-iconic/png/sort-ascending-2x.png delete mode 100755 app/open-iconic/png/sort-ascending-3x.png delete mode 100755 app/open-iconic/png/sort-ascending-4x.png delete mode 100755 app/open-iconic/png/sort-ascending-6x.png delete mode 100755 app/open-iconic/png/sort-ascending-8x.png delete mode 100755 app/open-iconic/png/sort-ascending.png delete mode 100755 app/open-iconic/png/sort-descending-2x.png delete mode 100755 app/open-iconic/png/sort-descending-3x.png delete mode 100755 app/open-iconic/png/sort-descending-4x.png delete mode 100755 app/open-iconic/png/sort-descending-6x.png delete mode 100755 app/open-iconic/png/sort-descending-8x.png delete mode 100755 app/open-iconic/png/sort-descending.png delete mode 100755 app/open-iconic/png/spreadsheet-2x.png delete mode 100755 app/open-iconic/png/spreadsheet-3x.png delete mode 100755 app/open-iconic/png/spreadsheet-4x.png delete mode 100755 app/open-iconic/png/spreadsheet-6x.png delete mode 100755 app/open-iconic/png/spreadsheet-8x.png delete mode 100755 app/open-iconic/png/spreadsheet.png delete mode 100755 app/open-iconic/png/star-2x.png delete mode 100755 app/open-iconic/png/star-3x.png delete mode 100755 app/open-iconic/png/star-4x.png delete mode 100755 app/open-iconic/png/star-6x.png delete mode 100755 app/open-iconic/png/star-8x.png delete mode 100755 app/open-iconic/png/star.png delete mode 100755 app/open-iconic/png/sun-2x.png delete mode 100755 app/open-iconic/png/sun-3x.png delete mode 100755 app/open-iconic/png/sun-4x.png delete mode 100755 app/open-iconic/png/sun-6x.png delete mode 100755 app/open-iconic/png/sun-8x.png delete mode 100755 app/open-iconic/png/sun.png delete mode 100755 app/open-iconic/png/tablet-2x.png delete mode 100755 app/open-iconic/png/tablet-3x.png delete mode 100755 app/open-iconic/png/tablet-4x.png delete mode 100755 app/open-iconic/png/tablet-6x.png delete mode 100755 app/open-iconic/png/tablet-8x.png delete mode 100755 app/open-iconic/png/tablet.png delete mode 100755 app/open-iconic/png/tag-2x.png delete mode 100755 app/open-iconic/png/tag-3x.png delete mode 100755 app/open-iconic/png/tag-4x.png delete mode 100755 app/open-iconic/png/tag-6x.png delete mode 100755 app/open-iconic/png/tag-8x.png delete mode 100755 app/open-iconic/png/tag.png delete mode 100755 app/open-iconic/png/tags-2x.png delete mode 100755 app/open-iconic/png/tags-3x.png delete mode 100755 app/open-iconic/png/tags-4x.png delete mode 100755 app/open-iconic/png/tags-6x.png delete mode 100755 app/open-iconic/png/tags-8x.png delete mode 100755 app/open-iconic/png/tags.png delete mode 100755 app/open-iconic/png/target-2x.png delete mode 100755 app/open-iconic/png/target-3x.png delete mode 100755 app/open-iconic/png/target-4x.png delete mode 100755 app/open-iconic/png/target-6x.png delete mode 100755 app/open-iconic/png/target-8x.png delete mode 100755 app/open-iconic/png/target.png delete mode 100755 app/open-iconic/png/task-2x.png delete mode 100755 app/open-iconic/png/task-3x.png delete mode 100755 app/open-iconic/png/task-4x.png delete mode 100755 app/open-iconic/png/task-6x.png delete mode 100755 app/open-iconic/png/task-8x.png delete mode 100755 app/open-iconic/png/task.png delete mode 100755 app/open-iconic/png/terminal-2x.png delete mode 100755 app/open-iconic/png/terminal-3x.png delete mode 100755 app/open-iconic/png/terminal-4x.png delete mode 100755 app/open-iconic/png/terminal-6x.png delete mode 100755 app/open-iconic/png/terminal-8x.png delete mode 100755 app/open-iconic/png/terminal.png delete mode 100755 app/open-iconic/png/text-2x.png delete mode 100755 app/open-iconic/png/text-3x.png delete mode 100755 app/open-iconic/png/text-4x.png delete mode 100755 app/open-iconic/png/text-6x.png delete mode 100755 app/open-iconic/png/text-8x.png delete mode 100755 app/open-iconic/png/text.png delete mode 100755 app/open-iconic/png/thumb-down-2x.png delete mode 100755 app/open-iconic/png/thumb-down-3x.png delete mode 100755 app/open-iconic/png/thumb-down-4x.png delete mode 100755 app/open-iconic/png/thumb-down-6x.png delete mode 100755 app/open-iconic/png/thumb-down-8x.png delete mode 100755 app/open-iconic/png/thumb-down.png delete mode 100755 app/open-iconic/png/thumb-up-2x.png delete mode 100755 app/open-iconic/png/thumb-up-3x.png delete mode 100755 app/open-iconic/png/thumb-up-4x.png delete mode 100755 app/open-iconic/png/thumb-up-6x.png delete mode 100755 app/open-iconic/png/thumb-up-8x.png delete mode 100755 app/open-iconic/png/thumb-up.png delete mode 100755 app/open-iconic/png/timer-2x.png delete mode 100755 app/open-iconic/png/timer-3x.png delete mode 100755 app/open-iconic/png/timer-4x.png delete mode 100755 app/open-iconic/png/timer-6x.png delete mode 100755 app/open-iconic/png/timer-8x.png delete mode 100755 app/open-iconic/png/timer.png delete mode 100755 app/open-iconic/png/transfer-2x.png delete mode 100755 app/open-iconic/png/transfer-3x.png delete mode 100755 app/open-iconic/png/transfer-4x.png delete mode 100755 app/open-iconic/png/transfer-6x.png delete mode 100755 app/open-iconic/png/transfer-8x.png delete mode 100755 app/open-iconic/png/transfer.png delete mode 100755 app/open-iconic/png/trash-2x.png delete mode 100755 app/open-iconic/png/trash-3x.png delete mode 100755 app/open-iconic/png/trash-4x.png delete mode 100755 app/open-iconic/png/trash-6x.png delete mode 100755 app/open-iconic/png/trash-8x.png delete mode 100755 app/open-iconic/png/trash.png delete mode 100755 app/open-iconic/png/underline-2x.png delete mode 100755 app/open-iconic/png/underline-3x.png delete mode 100755 app/open-iconic/png/underline-4x.png delete mode 100755 app/open-iconic/png/underline-6x.png delete mode 100755 app/open-iconic/png/underline-8x.png delete mode 100755 app/open-iconic/png/underline.png delete mode 100755 app/open-iconic/png/vertical-align-bottom-2x.png delete mode 100755 app/open-iconic/png/vertical-align-bottom-3x.png delete mode 100755 app/open-iconic/png/vertical-align-bottom-4x.png delete mode 100755 app/open-iconic/png/vertical-align-bottom-6x.png delete mode 100755 app/open-iconic/png/vertical-align-bottom-8x.png delete mode 100755 app/open-iconic/png/vertical-align-bottom.png delete mode 100755 app/open-iconic/png/vertical-align-center-2x.png delete mode 100755 app/open-iconic/png/vertical-align-center-3x.png delete mode 100755 app/open-iconic/png/vertical-align-center-4x.png delete mode 100755 app/open-iconic/png/vertical-align-center-6x.png delete mode 100755 app/open-iconic/png/vertical-align-center-8x.png delete mode 100755 app/open-iconic/png/vertical-align-center.png delete mode 100755 app/open-iconic/png/vertical-align-top-2x.png delete mode 100755 app/open-iconic/png/vertical-align-top-3x.png delete mode 100755 app/open-iconic/png/vertical-align-top-4x.png delete mode 100755 app/open-iconic/png/vertical-align-top-6x.png delete mode 100755 app/open-iconic/png/vertical-align-top-8x.png delete mode 100755 app/open-iconic/png/vertical-align-top.png delete mode 100755 app/open-iconic/png/video-2x.png delete mode 100755 app/open-iconic/png/video-3x.png delete mode 100755 app/open-iconic/png/video-4x.png delete mode 100755 app/open-iconic/png/video-6x.png delete mode 100755 app/open-iconic/png/video-8x.png delete mode 100755 app/open-iconic/png/video.png delete mode 100755 app/open-iconic/png/volume-high-2x.png delete mode 100755 app/open-iconic/png/volume-high-3x.png delete mode 100755 app/open-iconic/png/volume-high-4x.png delete mode 100755 app/open-iconic/png/volume-high-6x.png delete mode 100755 app/open-iconic/png/volume-high-8x.png delete mode 100755 app/open-iconic/png/volume-high.png delete mode 100755 app/open-iconic/png/volume-low-2x.png delete mode 100755 app/open-iconic/png/volume-low-3x.png delete mode 100755 app/open-iconic/png/volume-low-4x.png delete mode 100755 app/open-iconic/png/volume-low-6x.png delete mode 100755 app/open-iconic/png/volume-low-8x.png delete mode 100755 app/open-iconic/png/volume-low.png delete mode 100755 app/open-iconic/png/volume-off-2x.png delete mode 100755 app/open-iconic/png/volume-off-3x.png delete mode 100755 app/open-iconic/png/volume-off-4x.png delete mode 100755 app/open-iconic/png/volume-off-6x.png delete mode 100755 app/open-iconic/png/volume-off-8x.png delete mode 100755 app/open-iconic/png/volume-off.png delete mode 100755 app/open-iconic/png/warning-2x.png delete mode 100755 app/open-iconic/png/warning-3x.png delete mode 100755 app/open-iconic/png/warning-4x.png delete mode 100755 app/open-iconic/png/warning-6x.png delete mode 100755 app/open-iconic/png/warning-8x.png delete mode 100755 app/open-iconic/png/warning.png delete mode 100755 app/open-iconic/png/wifi-2x.png delete mode 100755 app/open-iconic/png/wifi-3x.png delete mode 100755 app/open-iconic/png/wifi-4x.png delete mode 100755 app/open-iconic/png/wifi-6x.png delete mode 100755 app/open-iconic/png/wifi-8x.png delete mode 100755 app/open-iconic/png/wifi.png delete mode 100755 app/open-iconic/png/wrench-2x.png delete mode 100755 app/open-iconic/png/wrench-3x.png delete mode 100755 app/open-iconic/png/wrench-4x.png delete mode 100755 app/open-iconic/png/wrench-6x.png delete mode 100755 app/open-iconic/png/wrench-8x.png delete mode 100755 app/open-iconic/png/wrench.png delete mode 100755 app/open-iconic/png/x-2x.png delete mode 100755 app/open-iconic/png/x-3x.png delete mode 100755 app/open-iconic/png/x-4x.png delete mode 100755 app/open-iconic/png/x-6x.png delete mode 100755 app/open-iconic/png/x-8x.png delete mode 100755 app/open-iconic/png/x.png delete mode 100755 app/open-iconic/png/yen-2x.png delete mode 100755 app/open-iconic/png/yen-3x.png delete mode 100755 app/open-iconic/png/yen-4x.png delete mode 100755 app/open-iconic/png/yen-6x.png delete mode 100755 app/open-iconic/png/yen-8x.png delete mode 100755 app/open-iconic/png/yen.png delete mode 100755 app/open-iconic/png/zoom-in-2x.png delete mode 100755 app/open-iconic/png/zoom-in-3x.png delete mode 100755 app/open-iconic/png/zoom-in-4x.png delete mode 100755 app/open-iconic/png/zoom-in-6x.png delete mode 100755 app/open-iconic/png/zoom-in-8x.png delete mode 100755 app/open-iconic/png/zoom-in.png delete mode 100755 app/open-iconic/png/zoom-out-2x.png delete mode 100755 app/open-iconic/png/zoom-out-3x.png delete mode 100755 app/open-iconic/png/zoom-out-4x.png delete mode 100755 app/open-iconic/png/zoom-out-6x.png delete mode 100755 app/open-iconic/png/zoom-out-8x.png delete mode 100755 app/open-iconic/png/zoom-out.png delete mode 100755 app/open-iconic/sprite/open-iconic.html delete mode 100755 app/open-iconic/sprite/open-iconic.min.svg delete mode 100755 app/open-iconic/sprite/open-iconic.svg delete mode 100755 app/open-iconic/sprite/sprite.html delete mode 100755 app/open-iconic/sprite/sprite.min.svg delete mode 100755 app/open-iconic/sprite/sprite.svg delete mode 100755 app/open-iconic/svg/account-login.svg delete mode 100755 app/open-iconic/svg/account-logout.svg delete mode 100755 app/open-iconic/svg/action-redo.svg delete mode 100755 app/open-iconic/svg/action-undo.svg delete mode 100755 app/open-iconic/svg/align-center.svg delete mode 100755 app/open-iconic/svg/align-left.svg delete mode 100755 app/open-iconic/svg/align-right.svg delete mode 100755 app/open-iconic/svg/aperture.svg delete mode 100755 app/open-iconic/svg/arrow-bottom.svg delete mode 100755 app/open-iconic/svg/arrow-circle-bottom.svg delete mode 100755 app/open-iconic/svg/arrow-circle-left.svg delete mode 100755 app/open-iconic/svg/arrow-circle-right.svg delete mode 100755 app/open-iconic/svg/arrow-circle-top.svg delete mode 100755 app/open-iconic/svg/arrow-left.svg delete mode 100755 app/open-iconic/svg/arrow-right.svg delete mode 100755 app/open-iconic/svg/arrow-thick-bottom.svg delete mode 100755 app/open-iconic/svg/arrow-thick-left.svg delete mode 100755 app/open-iconic/svg/arrow-thick-right.svg delete mode 100755 app/open-iconic/svg/arrow-thick-top.svg delete mode 100755 app/open-iconic/svg/arrow-top.svg delete mode 100755 app/open-iconic/svg/audio-spectrum.svg delete mode 100755 app/open-iconic/svg/audio.svg delete mode 100755 app/open-iconic/svg/badge.svg delete mode 100755 app/open-iconic/svg/ban.svg delete mode 100755 app/open-iconic/svg/bar-chart.svg delete mode 100755 app/open-iconic/svg/basket.svg delete mode 100755 app/open-iconic/svg/battery-empty.svg delete mode 100755 app/open-iconic/svg/battery-full.svg delete mode 100755 app/open-iconic/svg/beaker.svg delete mode 100755 app/open-iconic/svg/bell.svg delete mode 100755 app/open-iconic/svg/bluetooth.svg delete mode 100755 app/open-iconic/svg/bold.svg delete mode 100755 app/open-iconic/svg/bolt.svg delete mode 100755 app/open-iconic/svg/book.svg delete mode 100755 app/open-iconic/svg/bookmark.svg delete mode 100755 app/open-iconic/svg/box.svg delete mode 100755 app/open-iconic/svg/briefcase.svg delete mode 100755 app/open-iconic/svg/british-pound.svg delete mode 100755 app/open-iconic/svg/browser.svg delete mode 100755 app/open-iconic/svg/brush.svg delete mode 100755 app/open-iconic/svg/bug.svg delete mode 100755 app/open-iconic/svg/bullhorn.svg delete mode 100755 app/open-iconic/svg/calculator.svg delete mode 100755 app/open-iconic/svg/calendar.svg delete mode 100755 app/open-iconic/svg/camera-slr.svg delete mode 100755 app/open-iconic/svg/caret-bottom.svg delete mode 100755 app/open-iconic/svg/caret-left.svg delete mode 100755 app/open-iconic/svg/caret-right.svg delete mode 100755 app/open-iconic/svg/caret-top.svg delete mode 100755 app/open-iconic/svg/cart.svg delete mode 100755 app/open-iconic/svg/chat.svg delete mode 100755 app/open-iconic/svg/check.svg delete mode 100755 app/open-iconic/svg/chevron-bottom.svg delete mode 100755 app/open-iconic/svg/chevron-left.svg delete mode 100755 app/open-iconic/svg/chevron-right.svg delete mode 100755 app/open-iconic/svg/chevron-top.svg delete mode 100755 app/open-iconic/svg/circle-check.svg delete mode 100755 app/open-iconic/svg/circle-x.svg delete mode 100755 app/open-iconic/svg/clipboard.svg delete mode 100755 app/open-iconic/svg/clock.svg delete mode 100755 app/open-iconic/svg/cloud-download.svg delete mode 100755 app/open-iconic/svg/cloud-upload.svg delete mode 100755 app/open-iconic/svg/cloud.svg delete mode 100755 app/open-iconic/svg/cloudy.svg delete mode 100755 app/open-iconic/svg/code.svg delete mode 100755 app/open-iconic/svg/cog.svg delete mode 100755 app/open-iconic/svg/collapse-down.svg delete mode 100755 app/open-iconic/svg/collapse-left.svg delete mode 100755 app/open-iconic/svg/collapse-right.svg delete mode 100755 app/open-iconic/svg/collapse-up.svg delete mode 100755 app/open-iconic/svg/command.svg delete mode 100755 app/open-iconic/svg/comment-square.svg delete mode 100755 app/open-iconic/svg/compass.svg delete mode 100755 app/open-iconic/svg/contrast.svg delete mode 100755 app/open-iconic/svg/copywriting.svg delete mode 100755 app/open-iconic/svg/credit-card.svg delete mode 100755 app/open-iconic/svg/crop.svg delete mode 100755 app/open-iconic/svg/dashboard.svg delete mode 100755 app/open-iconic/svg/data-transfer-download.svg delete mode 100755 app/open-iconic/svg/data-transfer-upload.svg delete mode 100755 app/open-iconic/svg/delete.svg delete mode 100755 app/open-iconic/svg/dial.svg delete mode 100755 app/open-iconic/svg/document.svg delete mode 100755 app/open-iconic/svg/dollar.svg delete mode 100755 app/open-iconic/svg/double-quote-sans-left.svg delete mode 100755 app/open-iconic/svg/double-quote-sans-right.svg delete mode 100755 app/open-iconic/svg/double-quote-serif-left.svg delete mode 100755 app/open-iconic/svg/double-quote-serif-right.svg delete mode 100755 app/open-iconic/svg/droplet.svg delete mode 100755 app/open-iconic/svg/eject.svg delete mode 100755 app/open-iconic/svg/elevator.svg delete mode 100755 app/open-iconic/svg/ellipses.svg delete mode 100755 app/open-iconic/svg/envelope-closed.svg delete mode 100755 app/open-iconic/svg/envelope-open.svg delete mode 100755 app/open-iconic/svg/euro.svg delete mode 100755 app/open-iconic/svg/excerpt.svg delete mode 100755 app/open-iconic/svg/expand-down.svg delete mode 100755 app/open-iconic/svg/expand-left.svg delete mode 100755 app/open-iconic/svg/expand-right.svg delete mode 100755 app/open-iconic/svg/expand-up.svg delete mode 100755 app/open-iconic/svg/external-link.svg delete mode 100755 app/open-iconic/svg/eye.svg delete mode 100755 app/open-iconic/svg/eyedropper.svg delete mode 100755 app/open-iconic/svg/file.svg delete mode 100755 app/open-iconic/svg/fire.svg delete mode 100755 app/open-iconic/svg/flag.svg delete mode 100755 app/open-iconic/svg/flash.svg delete mode 100755 app/open-iconic/svg/folder.svg delete mode 100755 app/open-iconic/svg/fork.svg delete mode 100755 app/open-iconic/svg/fullscreen-enter.svg delete mode 100755 app/open-iconic/svg/fullscreen-exit.svg delete mode 100755 app/open-iconic/svg/globe.svg delete mode 100755 app/open-iconic/svg/graph.svg delete mode 100755 app/open-iconic/svg/grid-four-up.svg delete mode 100755 app/open-iconic/svg/grid-three-up.svg delete mode 100755 app/open-iconic/svg/grid-two-up.svg delete mode 100755 app/open-iconic/svg/hard-drive.svg delete mode 100755 app/open-iconic/svg/header.svg delete mode 100755 app/open-iconic/svg/headphones.svg delete mode 100755 app/open-iconic/svg/heart.svg delete mode 100755 app/open-iconic/svg/home.svg delete mode 100755 app/open-iconic/svg/image.svg delete mode 100755 app/open-iconic/svg/inbox.svg delete mode 100755 app/open-iconic/svg/infinity.svg delete mode 100755 app/open-iconic/svg/info.svg delete mode 100755 app/open-iconic/svg/italic.svg delete mode 100755 app/open-iconic/svg/justify-center.svg delete mode 100755 app/open-iconic/svg/justify-left.svg delete mode 100755 app/open-iconic/svg/justify-right.svg delete mode 100755 app/open-iconic/svg/key.svg delete mode 100755 app/open-iconic/svg/laptop.svg delete mode 100755 app/open-iconic/svg/layers.svg delete mode 100755 app/open-iconic/svg/lightbulb.svg delete mode 100755 app/open-iconic/svg/link-broken.svg delete mode 100755 app/open-iconic/svg/link-intact.svg delete mode 100755 app/open-iconic/svg/list-rich.svg delete mode 100755 app/open-iconic/svg/list.svg delete mode 100755 app/open-iconic/svg/location.svg delete mode 100755 app/open-iconic/svg/lock-locked.svg delete mode 100755 app/open-iconic/svg/lock-unlocked.svg delete mode 100755 app/open-iconic/svg/loop-circular.svg delete mode 100755 app/open-iconic/svg/loop-square.svg delete mode 100755 app/open-iconic/svg/loop.svg delete mode 100755 app/open-iconic/svg/magnifying-glass.svg delete mode 100755 app/open-iconic/svg/map-marker.svg delete mode 100755 app/open-iconic/svg/map.svg delete mode 100755 app/open-iconic/svg/media-pause.svg delete mode 100755 app/open-iconic/svg/media-play.svg delete mode 100755 app/open-iconic/svg/media-record.svg delete mode 100755 app/open-iconic/svg/media-skip-backward.svg delete mode 100755 app/open-iconic/svg/media-skip-forward.svg delete mode 100755 app/open-iconic/svg/media-step-backward.svg delete mode 100755 app/open-iconic/svg/media-step-forward.svg delete mode 100755 app/open-iconic/svg/media-stop.svg delete mode 100755 app/open-iconic/svg/medical-cross.svg delete mode 100755 app/open-iconic/svg/menu.svg delete mode 100755 app/open-iconic/svg/microphone.svg delete mode 100755 app/open-iconic/svg/minus.svg delete mode 100755 app/open-iconic/svg/monitor.svg delete mode 100755 app/open-iconic/svg/moon.svg delete mode 100755 app/open-iconic/svg/move.svg delete mode 100755 app/open-iconic/svg/musical-note.svg delete mode 100755 app/open-iconic/svg/paperclip.svg delete mode 100755 app/open-iconic/svg/pencil.svg delete mode 100755 app/open-iconic/svg/people.svg delete mode 100755 app/open-iconic/svg/person.svg delete mode 100755 app/open-iconic/svg/phone.svg delete mode 100755 app/open-iconic/svg/pie-chart.svg delete mode 100755 app/open-iconic/svg/pin.svg delete mode 100755 app/open-iconic/svg/play-circle.svg delete mode 100755 app/open-iconic/svg/plus.svg delete mode 100755 app/open-iconic/svg/power-standby.svg delete mode 100755 app/open-iconic/svg/print.svg delete mode 100755 app/open-iconic/svg/project.svg delete mode 100755 app/open-iconic/svg/pulse.svg delete mode 100755 app/open-iconic/svg/puzzle-piece.svg delete mode 100755 app/open-iconic/svg/question-mark.svg delete mode 100755 app/open-iconic/svg/rain.svg delete mode 100755 app/open-iconic/svg/random.svg delete mode 100755 app/open-iconic/svg/reload.svg delete mode 100755 app/open-iconic/svg/resize-both.svg delete mode 100755 app/open-iconic/svg/resize-height.svg delete mode 100755 app/open-iconic/svg/resize-width.svg delete mode 100755 app/open-iconic/svg/rss-alt.svg delete mode 100755 app/open-iconic/svg/rss.svg delete mode 100755 app/open-iconic/svg/script.svg delete mode 100755 app/open-iconic/svg/share-boxed.svg delete mode 100755 app/open-iconic/svg/share.svg delete mode 100755 app/open-iconic/svg/shield.svg delete mode 100755 app/open-iconic/svg/signal.svg delete mode 100755 app/open-iconic/svg/signpost.svg delete mode 100755 app/open-iconic/svg/sort-ascending.svg delete mode 100755 app/open-iconic/svg/sort-descending.svg delete mode 100755 app/open-iconic/svg/spreadsheet.svg delete mode 100755 app/open-iconic/svg/star.svg delete mode 100755 app/open-iconic/svg/sun.svg delete mode 100755 app/open-iconic/svg/tablet.svg delete mode 100755 app/open-iconic/svg/tag.svg delete mode 100755 app/open-iconic/svg/tags.svg delete mode 100755 app/open-iconic/svg/target.svg delete mode 100755 app/open-iconic/svg/task.svg delete mode 100755 app/open-iconic/svg/terminal.svg delete mode 100755 app/open-iconic/svg/text.svg delete mode 100755 app/open-iconic/svg/thumb-down.svg delete mode 100755 app/open-iconic/svg/thumb-up.svg delete mode 100755 app/open-iconic/svg/timer.svg delete mode 100755 app/open-iconic/svg/transfer.svg delete mode 100755 app/open-iconic/svg/trash.svg delete mode 100755 app/open-iconic/svg/underline.svg delete mode 100755 app/open-iconic/svg/vertical-align-bottom.svg delete mode 100755 app/open-iconic/svg/vertical-align-center.svg delete mode 100755 app/open-iconic/svg/vertical-align-top.svg delete mode 100755 app/open-iconic/svg/video.svg delete mode 100755 app/open-iconic/svg/volume-high.svg delete mode 100755 app/open-iconic/svg/volume-low.svg delete mode 100755 app/open-iconic/svg/volume-off.svg delete mode 100755 app/open-iconic/svg/warning.svg delete mode 100755 app/open-iconic/svg/wifi.svg delete mode 100755 app/open-iconic/svg/wrench.svg delete mode 100755 app/open-iconic/svg/x.svg delete mode 100755 app/open-iconic/svg/yen.svg delete mode 100755 app/open-iconic/svg/zoom-in.svg delete mode 100755 app/open-iconic/svg/zoom-out.svg delete mode 100755 app/open-iconic/webp/account-login-2x.webp delete mode 100755 app/open-iconic/webp/account-login-3x.webp delete mode 100755 app/open-iconic/webp/account-login-4x.webp delete mode 100755 app/open-iconic/webp/account-login-6x.webp delete mode 100755 app/open-iconic/webp/account-login-8x.webp delete mode 100755 app/open-iconic/webp/account-login.webp delete mode 100755 app/open-iconic/webp/account-logout-2x.webp delete mode 100755 app/open-iconic/webp/account-logout-3x.webp delete mode 100755 app/open-iconic/webp/account-logout-4x.webp delete mode 100755 app/open-iconic/webp/account-logout-6x.webp delete mode 100755 app/open-iconic/webp/account-logout-8x.webp delete mode 100755 app/open-iconic/webp/account-logout.webp delete mode 100755 app/open-iconic/webp/action-redo-2x.webp delete mode 100755 app/open-iconic/webp/action-redo-3x.webp delete mode 100755 app/open-iconic/webp/action-redo-4x.webp delete mode 100755 app/open-iconic/webp/action-redo-6x.webp delete mode 100755 app/open-iconic/webp/action-redo-8x.webp delete mode 100755 app/open-iconic/webp/action-redo.webp delete mode 100755 app/open-iconic/webp/action-undo-2x.webp delete mode 100755 app/open-iconic/webp/action-undo-3x.webp delete mode 100755 app/open-iconic/webp/action-undo-4x.webp delete mode 100755 app/open-iconic/webp/action-undo-6x.webp delete mode 100755 app/open-iconic/webp/action-undo-8x.webp delete mode 100755 app/open-iconic/webp/action-undo.webp delete mode 100755 app/open-iconic/webp/align-center-2x.webp delete mode 100755 app/open-iconic/webp/align-center-3x.webp delete mode 100755 app/open-iconic/webp/align-center-4x.webp delete mode 100755 app/open-iconic/webp/align-center-6x.webp delete mode 100755 app/open-iconic/webp/align-center-8x.webp delete mode 100755 app/open-iconic/webp/align-center.webp delete mode 100755 app/open-iconic/webp/align-left-2x.webp delete mode 100755 app/open-iconic/webp/align-left-3x.webp delete mode 100755 app/open-iconic/webp/align-left-4x.webp delete mode 100755 app/open-iconic/webp/align-left-6x.webp delete mode 100755 app/open-iconic/webp/align-left-8x.webp delete mode 100755 app/open-iconic/webp/align-left.webp delete mode 100755 app/open-iconic/webp/align-right-2x.webp delete mode 100755 app/open-iconic/webp/align-right-3x.webp delete mode 100755 app/open-iconic/webp/align-right-4x.webp delete mode 100755 app/open-iconic/webp/align-right-6x.webp delete mode 100755 app/open-iconic/webp/align-right-8x.webp delete mode 100755 app/open-iconic/webp/align-right.webp delete mode 100755 app/open-iconic/webp/aperture-2x.webp delete mode 100755 app/open-iconic/webp/aperture-3x.webp delete mode 100755 app/open-iconic/webp/aperture-4x.webp delete mode 100755 app/open-iconic/webp/aperture-6x.webp delete mode 100755 app/open-iconic/webp/aperture-8x.webp delete mode 100755 app/open-iconic/webp/aperture.webp delete mode 100755 app/open-iconic/webp/arrow-bottom-2x.webp delete mode 100755 app/open-iconic/webp/arrow-bottom-3x.webp delete mode 100755 app/open-iconic/webp/arrow-bottom-4x.webp delete mode 100755 app/open-iconic/webp/arrow-bottom-6x.webp delete mode 100755 app/open-iconic/webp/arrow-bottom-8x.webp delete mode 100755 app/open-iconic/webp/arrow-bottom.webp delete mode 100755 app/open-iconic/webp/arrow-circle-bottom-2x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-bottom-3x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-bottom-4x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-bottom-6x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-bottom-8x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-bottom.webp delete mode 100755 app/open-iconic/webp/arrow-circle-left-2x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-left-3x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-left-4x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-left-6x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-left-8x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-left.webp delete mode 100755 app/open-iconic/webp/arrow-circle-right-2x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-right-3x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-right-4x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-right-6x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-right-8x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-right.webp delete mode 100755 app/open-iconic/webp/arrow-circle-top-2x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-top-3x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-top-4x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-top-6x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-top-8x.webp delete mode 100755 app/open-iconic/webp/arrow-circle-top.webp delete mode 100755 app/open-iconic/webp/arrow-left-2x.webp delete mode 100755 app/open-iconic/webp/arrow-left-3x.webp delete mode 100755 app/open-iconic/webp/arrow-left-4x.webp delete mode 100755 app/open-iconic/webp/arrow-left-6x.webp delete mode 100755 app/open-iconic/webp/arrow-left-8x.webp delete mode 100755 app/open-iconic/webp/arrow-left.webp delete mode 100755 app/open-iconic/webp/arrow-right-2x.webp delete mode 100755 app/open-iconic/webp/arrow-right-3x.webp delete mode 100755 app/open-iconic/webp/arrow-right-4x.webp delete mode 100755 app/open-iconic/webp/arrow-right-6x.webp delete mode 100755 app/open-iconic/webp/arrow-right-8x.webp delete mode 100755 app/open-iconic/webp/arrow-right.webp delete mode 100755 app/open-iconic/webp/arrow-thick-bottom-2x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-bottom-3x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-bottom-4x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-bottom-6x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-bottom-8x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-bottom.webp delete mode 100755 app/open-iconic/webp/arrow-thick-left-2x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-left-3x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-left-4x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-left-6x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-left-8x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-left.webp delete mode 100755 app/open-iconic/webp/arrow-thick-right-2x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-right-3x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-right-4x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-right-6x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-right-8x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-right.webp delete mode 100755 app/open-iconic/webp/arrow-thick-top-2x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-top-3x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-top-4x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-top-6x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-top-8x.webp delete mode 100755 app/open-iconic/webp/arrow-thick-top.webp delete mode 100755 app/open-iconic/webp/arrow-top-2x.webp delete mode 100755 app/open-iconic/webp/arrow-top-3x.webp delete mode 100755 app/open-iconic/webp/arrow-top-4x.webp delete mode 100755 app/open-iconic/webp/arrow-top-6x.webp delete mode 100755 app/open-iconic/webp/arrow-top-8x.webp delete mode 100755 app/open-iconic/webp/arrow-top.webp delete mode 100755 app/open-iconic/webp/audio-2x.webp delete mode 100755 app/open-iconic/webp/audio-3x.webp delete mode 100755 app/open-iconic/webp/audio-4x.webp delete mode 100755 app/open-iconic/webp/audio-6x.webp delete mode 100755 app/open-iconic/webp/audio-8x.webp delete mode 100755 app/open-iconic/webp/audio-spectrum-2x.webp delete mode 100755 app/open-iconic/webp/audio-spectrum-3x.webp delete mode 100755 app/open-iconic/webp/audio-spectrum-4x.webp delete mode 100755 app/open-iconic/webp/audio-spectrum-6x.webp delete mode 100755 app/open-iconic/webp/audio-spectrum-8x.webp delete mode 100755 app/open-iconic/webp/audio-spectrum.webp delete mode 100755 app/open-iconic/webp/audio.webp delete mode 100755 app/open-iconic/webp/badge-2x.webp delete mode 100755 app/open-iconic/webp/badge-3x.webp delete mode 100755 app/open-iconic/webp/badge-4x.webp delete mode 100755 app/open-iconic/webp/badge-6x.webp delete mode 100755 app/open-iconic/webp/badge-8x.webp delete mode 100755 app/open-iconic/webp/badge.webp delete mode 100755 app/open-iconic/webp/ban-2x.webp delete mode 100755 app/open-iconic/webp/ban-3x.webp delete mode 100755 app/open-iconic/webp/ban-4x.webp delete mode 100755 app/open-iconic/webp/ban-6x.webp delete mode 100755 app/open-iconic/webp/ban-8x.webp delete mode 100755 app/open-iconic/webp/ban.webp delete mode 100755 app/open-iconic/webp/bar-chart-2x.webp delete mode 100755 app/open-iconic/webp/bar-chart-3x.webp delete mode 100755 app/open-iconic/webp/bar-chart-4x.webp delete mode 100755 app/open-iconic/webp/bar-chart-6x.webp delete mode 100755 app/open-iconic/webp/bar-chart-8x.webp delete mode 100755 app/open-iconic/webp/bar-chart.webp delete mode 100755 app/open-iconic/webp/basket-2x.webp delete mode 100755 app/open-iconic/webp/basket-3x.webp delete mode 100755 app/open-iconic/webp/basket-4x.webp delete mode 100755 app/open-iconic/webp/basket-6x.webp delete mode 100755 app/open-iconic/webp/basket-8x.webp delete mode 100755 app/open-iconic/webp/basket.webp delete mode 100755 app/open-iconic/webp/battery-empty-2x.webp delete mode 100755 app/open-iconic/webp/battery-empty-3x.webp delete mode 100755 app/open-iconic/webp/battery-empty-4x.webp delete mode 100755 app/open-iconic/webp/battery-empty-6x.webp delete mode 100755 app/open-iconic/webp/battery-empty-8x.webp delete mode 100755 app/open-iconic/webp/battery-empty.webp delete mode 100755 app/open-iconic/webp/battery-full-2x.webp delete mode 100755 app/open-iconic/webp/battery-full-3x.webp delete mode 100755 app/open-iconic/webp/battery-full-4x.webp delete mode 100755 app/open-iconic/webp/battery-full-6x.webp delete mode 100755 app/open-iconic/webp/battery-full-8x.webp delete mode 100755 app/open-iconic/webp/battery-full.webp delete mode 100755 app/open-iconic/webp/beaker-2x.webp delete mode 100755 app/open-iconic/webp/beaker-3x.webp delete mode 100755 app/open-iconic/webp/beaker-4x.webp delete mode 100755 app/open-iconic/webp/beaker-6x.webp delete mode 100755 app/open-iconic/webp/beaker-8x.webp delete mode 100755 app/open-iconic/webp/beaker.webp delete mode 100755 app/open-iconic/webp/bell-2x.webp delete mode 100755 app/open-iconic/webp/bell-3x.webp delete mode 100755 app/open-iconic/webp/bell-4x.webp delete mode 100755 app/open-iconic/webp/bell-6x.webp delete mode 100755 app/open-iconic/webp/bell-8x.webp delete mode 100755 app/open-iconic/webp/bell.webp delete mode 100755 app/open-iconic/webp/bluetooth-2x.webp delete mode 100755 app/open-iconic/webp/bluetooth-3x.webp delete mode 100755 app/open-iconic/webp/bluetooth-4x.webp delete mode 100755 app/open-iconic/webp/bluetooth-6x.webp delete mode 100755 app/open-iconic/webp/bluetooth-8x.webp delete mode 100755 app/open-iconic/webp/bluetooth.webp delete mode 100755 app/open-iconic/webp/bold-2x.webp delete mode 100755 app/open-iconic/webp/bold-3x.webp delete mode 100755 app/open-iconic/webp/bold-4x.webp delete mode 100755 app/open-iconic/webp/bold-6x.webp delete mode 100755 app/open-iconic/webp/bold-8x.webp delete mode 100755 app/open-iconic/webp/bold.webp delete mode 100755 app/open-iconic/webp/bolt-2x.webp delete mode 100755 app/open-iconic/webp/bolt-3x.webp delete mode 100755 app/open-iconic/webp/bolt-4x.webp delete mode 100755 app/open-iconic/webp/bolt-6x.webp delete mode 100755 app/open-iconic/webp/bolt-8x.webp delete mode 100755 app/open-iconic/webp/bolt.webp delete mode 100755 app/open-iconic/webp/book-2x.webp delete mode 100755 app/open-iconic/webp/book-3x.webp delete mode 100755 app/open-iconic/webp/book-4x.webp delete mode 100755 app/open-iconic/webp/book-6x.webp delete mode 100755 app/open-iconic/webp/book-8x.webp delete mode 100755 app/open-iconic/webp/book.webp delete mode 100755 app/open-iconic/webp/bookmark-2x.webp delete mode 100755 app/open-iconic/webp/bookmark-3x.webp delete mode 100755 app/open-iconic/webp/bookmark-4x.webp delete mode 100755 app/open-iconic/webp/bookmark-6x.webp delete mode 100755 app/open-iconic/webp/bookmark-8x.webp delete mode 100755 app/open-iconic/webp/bookmark.webp delete mode 100755 app/open-iconic/webp/box-2x.webp delete mode 100755 app/open-iconic/webp/box-3x.webp delete mode 100755 app/open-iconic/webp/box-4x.webp delete mode 100755 app/open-iconic/webp/box-6x.webp delete mode 100755 app/open-iconic/webp/box-8x.webp delete mode 100755 app/open-iconic/webp/box.webp delete mode 100755 app/open-iconic/webp/briefcase-2x.webp delete mode 100755 app/open-iconic/webp/briefcase-3x.webp delete mode 100755 app/open-iconic/webp/briefcase-4x.webp delete mode 100755 app/open-iconic/webp/briefcase-6x.webp delete mode 100755 app/open-iconic/webp/briefcase-8x.webp delete mode 100755 app/open-iconic/webp/briefcase.webp delete mode 100755 app/open-iconic/webp/british-pound-2x.webp delete mode 100755 app/open-iconic/webp/british-pound-3x.webp delete mode 100755 app/open-iconic/webp/british-pound-4x.webp delete mode 100755 app/open-iconic/webp/british-pound-6x.webp delete mode 100755 app/open-iconic/webp/british-pound-8x.webp delete mode 100755 app/open-iconic/webp/british-pound.webp delete mode 100755 app/open-iconic/webp/browser-2x.webp delete mode 100755 app/open-iconic/webp/browser-3x.webp delete mode 100755 app/open-iconic/webp/browser-4x.webp delete mode 100755 app/open-iconic/webp/browser-6x.webp delete mode 100755 app/open-iconic/webp/browser-8x.webp delete mode 100755 app/open-iconic/webp/browser.webp delete mode 100755 app/open-iconic/webp/brush-2x.webp delete mode 100755 app/open-iconic/webp/brush-3x.webp delete mode 100755 app/open-iconic/webp/brush-4x.webp delete mode 100755 app/open-iconic/webp/brush-6x.webp delete mode 100755 app/open-iconic/webp/brush-8x.webp delete mode 100755 app/open-iconic/webp/brush.webp delete mode 100755 app/open-iconic/webp/bug-2x.webp delete mode 100755 app/open-iconic/webp/bug-3x.webp delete mode 100755 app/open-iconic/webp/bug-4x.webp delete mode 100755 app/open-iconic/webp/bug-6x.webp delete mode 100755 app/open-iconic/webp/bug-8x.webp delete mode 100755 app/open-iconic/webp/bug.webp delete mode 100755 app/open-iconic/webp/bullhorn-2x.webp delete mode 100755 app/open-iconic/webp/bullhorn-3x.webp delete mode 100755 app/open-iconic/webp/bullhorn-4x.webp delete mode 100755 app/open-iconic/webp/bullhorn-6x.webp delete mode 100755 app/open-iconic/webp/bullhorn-8x.webp delete mode 100755 app/open-iconic/webp/bullhorn.webp delete mode 100755 app/open-iconic/webp/calculator-2x.webp delete mode 100755 app/open-iconic/webp/calculator-3x.webp delete mode 100755 app/open-iconic/webp/calculator-4x.webp delete mode 100755 app/open-iconic/webp/calculator-6x.webp delete mode 100755 app/open-iconic/webp/calculator-8x.webp delete mode 100755 app/open-iconic/webp/calculator.webp delete mode 100755 app/open-iconic/webp/calendar-2x.webp delete mode 100755 app/open-iconic/webp/calendar-3x.webp delete mode 100755 app/open-iconic/webp/calendar-4x.webp delete mode 100755 app/open-iconic/webp/calendar-6x.webp delete mode 100755 app/open-iconic/webp/calendar-8x.webp delete mode 100755 app/open-iconic/webp/calendar.webp delete mode 100755 app/open-iconic/webp/camera-slr-2x.webp delete mode 100755 app/open-iconic/webp/camera-slr-3x.webp delete mode 100755 app/open-iconic/webp/camera-slr-4x.webp delete mode 100755 app/open-iconic/webp/camera-slr-6x.webp delete mode 100755 app/open-iconic/webp/camera-slr-8x.webp delete mode 100755 app/open-iconic/webp/camera-slr.webp delete mode 100755 app/open-iconic/webp/caret-bottom-2x.webp delete mode 100755 app/open-iconic/webp/caret-bottom-3x.webp delete mode 100755 app/open-iconic/webp/caret-bottom-4x.webp delete mode 100755 app/open-iconic/webp/caret-bottom-6x.webp delete mode 100755 app/open-iconic/webp/caret-bottom-8x.webp delete mode 100755 app/open-iconic/webp/caret-bottom.webp delete mode 100755 app/open-iconic/webp/caret-left-2x.webp delete mode 100755 app/open-iconic/webp/caret-left-3x.webp delete mode 100755 app/open-iconic/webp/caret-left-4x.webp delete mode 100755 app/open-iconic/webp/caret-left-6x.webp delete mode 100755 app/open-iconic/webp/caret-left-8x.webp delete mode 100755 app/open-iconic/webp/caret-left.webp delete mode 100755 app/open-iconic/webp/caret-right-2x.webp delete mode 100755 app/open-iconic/webp/caret-right-3x.webp delete mode 100755 app/open-iconic/webp/caret-right-4x.webp delete mode 100755 app/open-iconic/webp/caret-right-6x.webp delete mode 100755 app/open-iconic/webp/caret-right-8x.webp delete mode 100755 app/open-iconic/webp/caret-right.webp delete mode 100755 app/open-iconic/webp/caret-top-2x.webp delete mode 100755 app/open-iconic/webp/caret-top-3x.webp delete mode 100755 app/open-iconic/webp/caret-top-4x.webp delete mode 100755 app/open-iconic/webp/caret-top-6x.webp delete mode 100755 app/open-iconic/webp/caret-top-8x.webp delete mode 100755 app/open-iconic/webp/caret-top.webp delete mode 100755 app/open-iconic/webp/cart-2x.webp delete mode 100755 app/open-iconic/webp/cart-3x.webp delete mode 100755 app/open-iconic/webp/cart-4x.webp delete mode 100755 app/open-iconic/webp/cart-6x.webp delete mode 100755 app/open-iconic/webp/cart-8x.webp delete mode 100755 app/open-iconic/webp/cart.webp delete mode 100755 app/open-iconic/webp/chat-2x.webp delete mode 100755 app/open-iconic/webp/chat-3x.webp delete mode 100755 app/open-iconic/webp/chat-4x.webp delete mode 100755 app/open-iconic/webp/chat-6x.webp delete mode 100755 app/open-iconic/webp/chat-8x.webp delete mode 100755 app/open-iconic/webp/chat.webp delete mode 100755 app/open-iconic/webp/check-2x.webp delete mode 100755 app/open-iconic/webp/check-3x.webp delete mode 100755 app/open-iconic/webp/check-4x.webp delete mode 100755 app/open-iconic/webp/check-6x.webp delete mode 100755 app/open-iconic/webp/check-8x.webp delete mode 100755 app/open-iconic/webp/check.webp delete mode 100755 app/open-iconic/webp/chevron-bottom-2x.webp delete mode 100755 app/open-iconic/webp/chevron-bottom-3x.webp delete mode 100755 app/open-iconic/webp/chevron-bottom-4x.webp delete mode 100755 app/open-iconic/webp/chevron-bottom-6x.webp delete mode 100755 app/open-iconic/webp/chevron-bottom-8x.webp delete mode 100755 app/open-iconic/webp/chevron-bottom.webp delete mode 100755 app/open-iconic/webp/chevron-left-2x.webp delete mode 100755 app/open-iconic/webp/chevron-left-3x.webp delete mode 100755 app/open-iconic/webp/chevron-left-4x.webp delete mode 100755 app/open-iconic/webp/chevron-left-6x.webp delete mode 100755 app/open-iconic/webp/chevron-left-8x.webp delete mode 100755 app/open-iconic/webp/chevron-left.webp delete mode 100755 app/open-iconic/webp/chevron-right-2x.webp delete mode 100755 app/open-iconic/webp/chevron-right-3x.webp delete mode 100755 app/open-iconic/webp/chevron-right-4x.webp delete mode 100755 app/open-iconic/webp/chevron-right-6x.webp delete mode 100755 app/open-iconic/webp/chevron-right-8x.webp delete mode 100755 app/open-iconic/webp/chevron-right.webp delete mode 100755 app/open-iconic/webp/chevron-top-2x.webp delete mode 100755 app/open-iconic/webp/chevron-top-3x.webp delete mode 100755 app/open-iconic/webp/chevron-top-4x.webp delete mode 100755 app/open-iconic/webp/chevron-top-6x.webp delete mode 100755 app/open-iconic/webp/chevron-top-8x.webp delete mode 100755 app/open-iconic/webp/chevron-top.webp delete mode 100755 app/open-iconic/webp/circle-check-2x.webp delete mode 100755 app/open-iconic/webp/circle-check-3x.webp delete mode 100755 app/open-iconic/webp/circle-check-4x.webp delete mode 100755 app/open-iconic/webp/circle-check-6x.webp delete mode 100755 app/open-iconic/webp/circle-check-8x.webp delete mode 100755 app/open-iconic/webp/circle-check.webp delete mode 100755 app/open-iconic/webp/circle-x-2x.webp delete mode 100755 app/open-iconic/webp/circle-x-3x.webp delete mode 100755 app/open-iconic/webp/circle-x-4x.webp delete mode 100755 app/open-iconic/webp/circle-x-6x.webp delete mode 100755 app/open-iconic/webp/circle-x-8x.webp delete mode 100755 app/open-iconic/webp/circle-x.webp delete mode 100755 app/open-iconic/webp/clipboard-2x.webp delete mode 100755 app/open-iconic/webp/clipboard-3x.webp delete mode 100755 app/open-iconic/webp/clipboard-4x.webp delete mode 100755 app/open-iconic/webp/clipboard-6x.webp delete mode 100755 app/open-iconic/webp/clipboard-8x.webp delete mode 100755 app/open-iconic/webp/clipboard.webp delete mode 100755 app/open-iconic/webp/clock-2x.webp delete mode 100755 app/open-iconic/webp/clock-3x.webp delete mode 100755 app/open-iconic/webp/clock-4x.webp delete mode 100755 app/open-iconic/webp/clock-6x.webp delete mode 100755 app/open-iconic/webp/clock-8x.webp delete mode 100755 app/open-iconic/webp/clock.webp delete mode 100755 app/open-iconic/webp/cloud-2x.webp delete mode 100755 app/open-iconic/webp/cloud-3x.webp delete mode 100755 app/open-iconic/webp/cloud-4x.webp delete mode 100755 app/open-iconic/webp/cloud-6x.webp delete mode 100755 app/open-iconic/webp/cloud-8x.webp delete mode 100755 app/open-iconic/webp/cloud-download-2x.webp delete mode 100755 app/open-iconic/webp/cloud-download-3x.webp delete mode 100755 app/open-iconic/webp/cloud-download-4x.webp delete mode 100755 app/open-iconic/webp/cloud-download-6x.webp delete mode 100755 app/open-iconic/webp/cloud-download-8x.webp delete mode 100755 app/open-iconic/webp/cloud-download.webp delete mode 100755 app/open-iconic/webp/cloud-upload-2x.webp delete mode 100755 app/open-iconic/webp/cloud-upload-3x.webp delete mode 100755 app/open-iconic/webp/cloud-upload-4x.webp delete mode 100755 app/open-iconic/webp/cloud-upload-6x.webp delete mode 100755 app/open-iconic/webp/cloud-upload-8x.webp delete mode 100755 app/open-iconic/webp/cloud-upload.webp delete mode 100755 app/open-iconic/webp/cloud.webp delete mode 100755 app/open-iconic/webp/cloudy-2x.webp delete mode 100755 app/open-iconic/webp/cloudy-3x.webp delete mode 100755 app/open-iconic/webp/cloudy-4x.webp delete mode 100755 app/open-iconic/webp/cloudy-6x.webp delete mode 100755 app/open-iconic/webp/cloudy-8x.webp delete mode 100755 app/open-iconic/webp/cloudy.webp delete mode 100755 app/open-iconic/webp/code-2x.webp delete mode 100755 app/open-iconic/webp/code-3x.webp delete mode 100755 app/open-iconic/webp/code-4x.webp delete mode 100755 app/open-iconic/webp/code-6x.webp delete mode 100755 app/open-iconic/webp/code-8x.webp delete mode 100755 app/open-iconic/webp/code.webp delete mode 100755 app/open-iconic/webp/cog-2x.webp delete mode 100755 app/open-iconic/webp/cog-3x.webp delete mode 100755 app/open-iconic/webp/cog-4x.webp delete mode 100755 app/open-iconic/webp/cog-6x.webp delete mode 100755 app/open-iconic/webp/cog-8x.webp delete mode 100755 app/open-iconic/webp/cog.webp delete mode 100755 app/open-iconic/webp/collapse-down-2x.webp delete mode 100755 app/open-iconic/webp/collapse-down-3x.webp delete mode 100755 app/open-iconic/webp/collapse-down-4x.webp delete mode 100755 app/open-iconic/webp/collapse-down-6x.webp delete mode 100755 app/open-iconic/webp/collapse-down-8x.webp delete mode 100755 app/open-iconic/webp/collapse-down.webp delete mode 100755 app/open-iconic/webp/collapse-left-2x.webp delete mode 100755 app/open-iconic/webp/collapse-left-3x.webp delete mode 100755 app/open-iconic/webp/collapse-left-4x.webp delete mode 100755 app/open-iconic/webp/collapse-left-6x.webp delete mode 100755 app/open-iconic/webp/collapse-left-8x.webp delete mode 100755 app/open-iconic/webp/collapse-left.webp delete mode 100755 app/open-iconic/webp/collapse-right-2x.webp delete mode 100755 app/open-iconic/webp/collapse-right-3x.webp delete mode 100755 app/open-iconic/webp/collapse-right-4x.webp delete mode 100755 app/open-iconic/webp/collapse-right-6x.webp delete mode 100755 app/open-iconic/webp/collapse-right-8x.webp delete mode 100755 app/open-iconic/webp/collapse-right.webp delete mode 100755 app/open-iconic/webp/collapse-up-2x.webp delete mode 100755 app/open-iconic/webp/collapse-up-3x.webp delete mode 100755 app/open-iconic/webp/collapse-up-4x.webp delete mode 100755 app/open-iconic/webp/collapse-up-6x.webp delete mode 100755 app/open-iconic/webp/collapse-up-8x.webp delete mode 100755 app/open-iconic/webp/collapse-up.webp delete mode 100755 app/open-iconic/webp/command-2x.webp delete mode 100755 app/open-iconic/webp/command-3x.webp delete mode 100755 app/open-iconic/webp/command-4x.webp delete mode 100755 app/open-iconic/webp/command-6x.webp delete mode 100755 app/open-iconic/webp/command-8x.webp delete mode 100755 app/open-iconic/webp/command.webp delete mode 100755 app/open-iconic/webp/comment-square-2x.webp delete mode 100755 app/open-iconic/webp/comment-square-3x.webp delete mode 100755 app/open-iconic/webp/comment-square-4x.webp delete mode 100755 app/open-iconic/webp/comment-square-6x.webp delete mode 100755 app/open-iconic/webp/comment-square-8x.webp delete mode 100755 app/open-iconic/webp/comment-square.webp delete mode 100755 app/open-iconic/webp/compass-2x.webp delete mode 100755 app/open-iconic/webp/compass-3x.webp delete mode 100755 app/open-iconic/webp/compass-4x.webp delete mode 100755 app/open-iconic/webp/compass-6x.webp delete mode 100755 app/open-iconic/webp/compass-8x.webp delete mode 100755 app/open-iconic/webp/compass.webp delete mode 100755 app/open-iconic/webp/contrast-2x.webp delete mode 100755 app/open-iconic/webp/contrast-3x.webp delete mode 100755 app/open-iconic/webp/contrast-4x.webp delete mode 100755 app/open-iconic/webp/contrast-6x.webp delete mode 100755 app/open-iconic/webp/contrast-8x.webp delete mode 100755 app/open-iconic/webp/contrast.webp delete mode 100755 app/open-iconic/webp/copywriting-2x.webp delete mode 100755 app/open-iconic/webp/copywriting-3x.webp delete mode 100755 app/open-iconic/webp/copywriting-4x.webp delete mode 100755 app/open-iconic/webp/copywriting-6x.webp delete mode 100755 app/open-iconic/webp/copywriting-8x.webp delete mode 100755 app/open-iconic/webp/copywriting.webp delete mode 100755 app/open-iconic/webp/credit-card-2x.webp delete mode 100755 app/open-iconic/webp/credit-card-3x.webp delete mode 100755 app/open-iconic/webp/credit-card-4x.webp delete mode 100755 app/open-iconic/webp/credit-card-6x.webp delete mode 100755 app/open-iconic/webp/credit-card-8x.webp delete mode 100755 app/open-iconic/webp/credit-card.webp delete mode 100755 app/open-iconic/webp/crop-2x.webp delete mode 100755 app/open-iconic/webp/crop-3x.webp delete mode 100755 app/open-iconic/webp/crop-4x.webp delete mode 100755 app/open-iconic/webp/crop-6x.webp delete mode 100755 app/open-iconic/webp/crop-8x.webp delete mode 100755 app/open-iconic/webp/crop.webp delete mode 100755 app/open-iconic/webp/dashboard-2x.webp delete mode 100755 app/open-iconic/webp/dashboard-3x.webp delete mode 100755 app/open-iconic/webp/dashboard-4x.webp delete mode 100755 app/open-iconic/webp/dashboard-6x.webp delete mode 100755 app/open-iconic/webp/dashboard-8x.webp delete mode 100755 app/open-iconic/webp/dashboard.webp delete mode 100755 app/open-iconic/webp/data-transfer-download-2x.webp delete mode 100755 app/open-iconic/webp/data-transfer-download-3x.webp delete mode 100755 app/open-iconic/webp/data-transfer-download-4x.webp delete mode 100755 app/open-iconic/webp/data-transfer-download-6x.webp delete mode 100755 app/open-iconic/webp/data-transfer-download-8x.webp delete mode 100755 app/open-iconic/webp/data-transfer-download.webp delete mode 100755 app/open-iconic/webp/data-transfer-upload-2x.webp delete mode 100755 app/open-iconic/webp/data-transfer-upload-3x.webp delete mode 100755 app/open-iconic/webp/data-transfer-upload-4x.webp delete mode 100755 app/open-iconic/webp/data-transfer-upload-6x.webp delete mode 100755 app/open-iconic/webp/data-transfer-upload-8x.webp delete mode 100755 app/open-iconic/webp/data-transfer-upload.webp delete mode 100755 app/open-iconic/webp/delete-2x.webp delete mode 100755 app/open-iconic/webp/delete-3x.webp delete mode 100755 app/open-iconic/webp/delete-4x.webp delete mode 100755 app/open-iconic/webp/delete-6x.webp delete mode 100755 app/open-iconic/webp/delete-8x.webp delete mode 100755 app/open-iconic/webp/delete.webp delete mode 100755 app/open-iconic/webp/dial-2x.webp delete mode 100755 app/open-iconic/webp/dial-3x.webp delete mode 100755 app/open-iconic/webp/dial-4x.webp delete mode 100755 app/open-iconic/webp/dial-6x.webp delete mode 100755 app/open-iconic/webp/dial-8x.webp delete mode 100755 app/open-iconic/webp/dial.webp delete mode 100755 app/open-iconic/webp/document-2x.webp delete mode 100755 app/open-iconic/webp/document-3x.webp delete mode 100755 app/open-iconic/webp/document-4x.webp delete mode 100755 app/open-iconic/webp/document-6x.webp delete mode 100755 app/open-iconic/webp/document-8x.webp delete mode 100755 app/open-iconic/webp/document.webp delete mode 100755 app/open-iconic/webp/dollar-2x.webp delete mode 100755 app/open-iconic/webp/dollar-3x.webp delete mode 100755 app/open-iconic/webp/dollar-4x.webp delete mode 100755 app/open-iconic/webp/dollar-6x.webp delete mode 100755 app/open-iconic/webp/dollar-8x.webp delete mode 100755 app/open-iconic/webp/dollar.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-left-2x.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-left-3x.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-left-4x.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-left-6x.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-left-8x.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-left.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-right-2x.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-right-3x.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-right-4x.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-right-6x.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-right-8x.webp delete mode 100755 app/open-iconic/webp/double-quote-sans-right.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-left-2x.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-left-3x.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-left-4x.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-left-6x.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-left-8x.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-left.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-right-2x.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-right-3x.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-right-4x.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-right-6x.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-right-8x.webp delete mode 100755 app/open-iconic/webp/double-quote-serif-right.webp delete mode 100755 app/open-iconic/webp/droplet-2x.webp delete mode 100755 app/open-iconic/webp/droplet-3x.webp delete mode 100755 app/open-iconic/webp/droplet-4x.webp delete mode 100755 app/open-iconic/webp/droplet-6x.webp delete mode 100755 app/open-iconic/webp/droplet-8x.webp delete mode 100755 app/open-iconic/webp/droplet.webp delete mode 100755 app/open-iconic/webp/eject-2x.webp delete mode 100755 app/open-iconic/webp/eject-3x.webp delete mode 100755 app/open-iconic/webp/eject-4x.webp delete mode 100755 app/open-iconic/webp/eject-6x.webp delete mode 100755 app/open-iconic/webp/eject-8x.webp delete mode 100755 app/open-iconic/webp/eject.webp delete mode 100755 app/open-iconic/webp/elevator-2x.webp delete mode 100755 app/open-iconic/webp/elevator-3x.webp delete mode 100755 app/open-iconic/webp/elevator-4x.webp delete mode 100755 app/open-iconic/webp/elevator-6x.webp delete mode 100755 app/open-iconic/webp/elevator-8x.webp delete mode 100755 app/open-iconic/webp/elevator.webp delete mode 100755 app/open-iconic/webp/ellipses-2x.webp delete mode 100755 app/open-iconic/webp/ellipses-3x.webp delete mode 100755 app/open-iconic/webp/ellipses-4x.webp delete mode 100755 app/open-iconic/webp/ellipses-6x.webp delete mode 100755 app/open-iconic/webp/ellipses-8x.webp delete mode 100755 app/open-iconic/webp/ellipses.webp delete mode 100755 app/open-iconic/webp/envelope-closed-2x.webp delete mode 100755 app/open-iconic/webp/envelope-closed-3x.webp delete mode 100755 app/open-iconic/webp/envelope-closed-4x.webp delete mode 100755 app/open-iconic/webp/envelope-closed-6x.webp delete mode 100755 app/open-iconic/webp/envelope-closed-8x.webp delete mode 100755 app/open-iconic/webp/envelope-closed.webp delete mode 100755 app/open-iconic/webp/envelope-open-2x.webp delete mode 100755 app/open-iconic/webp/envelope-open-3x.webp delete mode 100755 app/open-iconic/webp/envelope-open-4x.webp delete mode 100755 app/open-iconic/webp/envelope-open-6x.webp delete mode 100755 app/open-iconic/webp/envelope-open-8x.webp delete mode 100755 app/open-iconic/webp/envelope-open.webp delete mode 100755 app/open-iconic/webp/euro-2x.webp delete mode 100755 app/open-iconic/webp/euro-3x.webp delete mode 100755 app/open-iconic/webp/euro-4x.webp delete mode 100755 app/open-iconic/webp/euro-6x.webp delete mode 100755 app/open-iconic/webp/euro-8x.webp delete mode 100755 app/open-iconic/webp/euro.webp delete mode 100755 app/open-iconic/webp/excerpt-2x.webp delete mode 100755 app/open-iconic/webp/excerpt-3x.webp delete mode 100755 app/open-iconic/webp/excerpt-4x.webp delete mode 100755 app/open-iconic/webp/excerpt-6x.webp delete mode 100755 app/open-iconic/webp/excerpt-8x.webp delete mode 100755 app/open-iconic/webp/excerpt.webp delete mode 100755 app/open-iconic/webp/expand-down-2x.webp delete mode 100755 app/open-iconic/webp/expand-down-3x.webp delete mode 100755 app/open-iconic/webp/expand-down-4x.webp delete mode 100755 app/open-iconic/webp/expand-down-6x.webp delete mode 100755 app/open-iconic/webp/expand-down-8x.webp delete mode 100755 app/open-iconic/webp/expand-down.webp delete mode 100755 app/open-iconic/webp/expand-left-2x.webp delete mode 100755 app/open-iconic/webp/expand-left-3x.webp delete mode 100755 app/open-iconic/webp/expand-left-4x.webp delete mode 100755 app/open-iconic/webp/expand-left-6x.webp delete mode 100755 app/open-iconic/webp/expand-left-8x.webp delete mode 100755 app/open-iconic/webp/expand-left.webp delete mode 100755 app/open-iconic/webp/expand-right-2x.webp delete mode 100755 app/open-iconic/webp/expand-right-3x.webp delete mode 100755 app/open-iconic/webp/expand-right-4x.webp delete mode 100755 app/open-iconic/webp/expand-right-6x.webp delete mode 100755 app/open-iconic/webp/expand-right-8x.webp delete mode 100755 app/open-iconic/webp/expand-right.webp delete mode 100755 app/open-iconic/webp/expand-up-2x.webp delete mode 100755 app/open-iconic/webp/expand-up-3x.webp delete mode 100755 app/open-iconic/webp/expand-up-4x.webp delete mode 100755 app/open-iconic/webp/expand-up-6x.webp delete mode 100755 app/open-iconic/webp/expand-up-8x.webp delete mode 100755 app/open-iconic/webp/expand-up.webp delete mode 100755 app/open-iconic/webp/external-link-2x.webp delete mode 100755 app/open-iconic/webp/external-link-3x.webp delete mode 100755 app/open-iconic/webp/external-link-4x.webp delete mode 100755 app/open-iconic/webp/external-link-6x.webp delete mode 100755 app/open-iconic/webp/external-link-8x.webp delete mode 100755 app/open-iconic/webp/external-link.webp delete mode 100755 app/open-iconic/webp/eye-2x.webp delete mode 100755 app/open-iconic/webp/eye-3x.webp delete mode 100755 app/open-iconic/webp/eye-4x.webp delete mode 100755 app/open-iconic/webp/eye-6x.webp delete mode 100755 app/open-iconic/webp/eye-8x.webp delete mode 100755 app/open-iconic/webp/eye.webp delete mode 100755 app/open-iconic/webp/eyedropper-2x.webp delete mode 100755 app/open-iconic/webp/eyedropper-3x.webp delete mode 100755 app/open-iconic/webp/eyedropper-4x.webp delete mode 100755 app/open-iconic/webp/eyedropper-6x.webp delete mode 100755 app/open-iconic/webp/eyedropper-8x.webp delete mode 100755 app/open-iconic/webp/eyedropper.webp delete mode 100755 app/open-iconic/webp/file-2x.webp delete mode 100755 app/open-iconic/webp/file-3x.webp delete mode 100755 app/open-iconic/webp/file-4x.webp delete mode 100755 app/open-iconic/webp/file-6x.webp delete mode 100755 app/open-iconic/webp/file-8x.webp delete mode 100755 app/open-iconic/webp/file.webp delete mode 100755 app/open-iconic/webp/fire-2x.webp delete mode 100755 app/open-iconic/webp/fire-3x.webp delete mode 100755 app/open-iconic/webp/fire-4x.webp delete mode 100755 app/open-iconic/webp/fire-6x.webp delete mode 100755 app/open-iconic/webp/fire-8x.webp delete mode 100755 app/open-iconic/webp/fire.webp delete mode 100755 app/open-iconic/webp/flag-2x.webp delete mode 100755 app/open-iconic/webp/flag-3x.webp delete mode 100755 app/open-iconic/webp/flag-4x.webp delete mode 100755 app/open-iconic/webp/flag-6x.webp delete mode 100755 app/open-iconic/webp/flag-8x.webp delete mode 100755 app/open-iconic/webp/flag.webp delete mode 100755 app/open-iconic/webp/flash-2x.webp delete mode 100755 app/open-iconic/webp/flash-3x.webp delete mode 100755 app/open-iconic/webp/flash-4x.webp delete mode 100755 app/open-iconic/webp/flash-6x.webp delete mode 100755 app/open-iconic/webp/flash-8x.webp delete mode 100755 app/open-iconic/webp/flash.webp delete mode 100755 app/open-iconic/webp/folder-2x.webp delete mode 100755 app/open-iconic/webp/folder-3x.webp delete mode 100755 app/open-iconic/webp/folder-4x.webp delete mode 100755 app/open-iconic/webp/folder-6x.webp delete mode 100755 app/open-iconic/webp/folder-8x.webp delete mode 100755 app/open-iconic/webp/folder.webp delete mode 100755 app/open-iconic/webp/fork-2x.webp delete mode 100755 app/open-iconic/webp/fork-3x.webp delete mode 100755 app/open-iconic/webp/fork-4x.webp delete mode 100755 app/open-iconic/webp/fork-6x.webp delete mode 100755 app/open-iconic/webp/fork-8x.webp delete mode 100755 app/open-iconic/webp/fork.webp delete mode 100755 app/open-iconic/webp/fullscreen-enter-2x.webp delete mode 100755 app/open-iconic/webp/fullscreen-enter-3x.webp delete mode 100755 app/open-iconic/webp/fullscreen-enter-4x.webp delete mode 100755 app/open-iconic/webp/fullscreen-enter-6x.webp delete mode 100755 app/open-iconic/webp/fullscreen-enter-8x.webp delete mode 100755 app/open-iconic/webp/fullscreen-enter.webp delete mode 100755 app/open-iconic/webp/fullscreen-exit-2x.webp delete mode 100755 app/open-iconic/webp/fullscreen-exit-3x.webp delete mode 100755 app/open-iconic/webp/fullscreen-exit-4x.webp delete mode 100755 app/open-iconic/webp/fullscreen-exit-6x.webp delete mode 100755 app/open-iconic/webp/fullscreen-exit-8x.webp delete mode 100755 app/open-iconic/webp/fullscreen-exit.webp delete mode 100755 app/open-iconic/webp/globe-2x.webp delete mode 100755 app/open-iconic/webp/globe-3x.webp delete mode 100755 app/open-iconic/webp/globe-4x.webp delete mode 100755 app/open-iconic/webp/globe-6x.webp delete mode 100755 app/open-iconic/webp/globe-8x.webp delete mode 100755 app/open-iconic/webp/globe.webp delete mode 100755 app/open-iconic/webp/graph-2x.webp delete mode 100755 app/open-iconic/webp/graph-3x.webp delete mode 100755 app/open-iconic/webp/graph-4x.webp delete mode 100755 app/open-iconic/webp/graph-6x.webp delete mode 100755 app/open-iconic/webp/graph-8x.webp delete mode 100755 app/open-iconic/webp/graph.webp delete mode 100755 app/open-iconic/webp/grid-four-up-2x.webp delete mode 100755 app/open-iconic/webp/grid-four-up-3x.webp delete mode 100755 app/open-iconic/webp/grid-four-up-4x.webp delete mode 100755 app/open-iconic/webp/grid-four-up-6x.webp delete mode 100755 app/open-iconic/webp/grid-four-up-8x.webp delete mode 100755 app/open-iconic/webp/grid-four-up.webp delete mode 100755 app/open-iconic/webp/grid-three-up-2x.webp delete mode 100755 app/open-iconic/webp/grid-three-up-3x.webp delete mode 100755 app/open-iconic/webp/grid-three-up-4x.webp delete mode 100755 app/open-iconic/webp/grid-three-up-6x.webp delete mode 100755 app/open-iconic/webp/grid-three-up-8x.webp delete mode 100755 app/open-iconic/webp/grid-three-up.webp delete mode 100755 app/open-iconic/webp/grid-two-up-2x.webp delete mode 100755 app/open-iconic/webp/grid-two-up-3x.webp delete mode 100755 app/open-iconic/webp/grid-two-up-4x.webp delete mode 100755 app/open-iconic/webp/grid-two-up-6x.webp delete mode 100755 app/open-iconic/webp/grid-two-up-8x.webp delete mode 100755 app/open-iconic/webp/grid-two-up.webp delete mode 100755 app/open-iconic/webp/hard-drive-2x.webp delete mode 100755 app/open-iconic/webp/hard-drive-3x.webp delete mode 100755 app/open-iconic/webp/hard-drive-4x.webp delete mode 100755 app/open-iconic/webp/hard-drive-6x.webp delete mode 100755 app/open-iconic/webp/hard-drive-8x.webp delete mode 100755 app/open-iconic/webp/hard-drive.webp delete mode 100755 app/open-iconic/webp/header-2x.webp delete mode 100755 app/open-iconic/webp/header-3x.webp delete mode 100755 app/open-iconic/webp/header-4x.webp delete mode 100755 app/open-iconic/webp/header-6x.webp delete mode 100755 app/open-iconic/webp/header-8x.webp delete mode 100755 app/open-iconic/webp/header.webp delete mode 100755 app/open-iconic/webp/headphones-2x.webp delete mode 100755 app/open-iconic/webp/headphones-3x.webp delete mode 100755 app/open-iconic/webp/headphones-4x.webp delete mode 100755 app/open-iconic/webp/headphones-6x.webp delete mode 100755 app/open-iconic/webp/headphones-8x.webp delete mode 100755 app/open-iconic/webp/headphones.webp delete mode 100755 app/open-iconic/webp/heart-2x.webp delete mode 100755 app/open-iconic/webp/heart-3x.webp delete mode 100755 app/open-iconic/webp/heart-4x.webp delete mode 100755 app/open-iconic/webp/heart-6x.webp delete mode 100755 app/open-iconic/webp/heart-8x.webp delete mode 100755 app/open-iconic/webp/heart.webp delete mode 100755 app/open-iconic/webp/home-2x.webp delete mode 100755 app/open-iconic/webp/home-3x.webp delete mode 100755 app/open-iconic/webp/home-4x.webp delete mode 100755 app/open-iconic/webp/home-6x.webp delete mode 100755 app/open-iconic/webp/home-8x.webp delete mode 100755 app/open-iconic/webp/home.webp delete mode 100755 app/open-iconic/webp/image-2x.webp delete mode 100755 app/open-iconic/webp/image-3x.webp delete mode 100755 app/open-iconic/webp/image-4x.webp delete mode 100755 app/open-iconic/webp/image-6x.webp delete mode 100755 app/open-iconic/webp/image-8x.webp delete mode 100755 app/open-iconic/webp/image.webp delete mode 100755 app/open-iconic/webp/inbox-2x.webp delete mode 100755 app/open-iconic/webp/inbox-3x.webp delete mode 100755 app/open-iconic/webp/inbox-4x.webp delete mode 100755 app/open-iconic/webp/inbox-6x.webp delete mode 100755 app/open-iconic/webp/inbox-8x.webp delete mode 100755 app/open-iconic/webp/inbox.webp delete mode 100755 app/open-iconic/webp/infinity-2x.webp delete mode 100755 app/open-iconic/webp/infinity-3x.webp delete mode 100755 app/open-iconic/webp/infinity-4x.webp delete mode 100755 app/open-iconic/webp/infinity-6x.webp delete mode 100755 app/open-iconic/webp/infinity-8x.webp delete mode 100755 app/open-iconic/webp/infinity.webp delete mode 100755 app/open-iconic/webp/info-2x.webp delete mode 100755 app/open-iconic/webp/info-3x.webp delete mode 100755 app/open-iconic/webp/info-4x.webp delete mode 100755 app/open-iconic/webp/info-6x.webp delete mode 100755 app/open-iconic/webp/info-8x.webp delete mode 100755 app/open-iconic/webp/info.webp delete mode 100755 app/open-iconic/webp/italic-2x.webp delete mode 100755 app/open-iconic/webp/italic-3x.webp delete mode 100755 app/open-iconic/webp/italic-4x.webp delete mode 100755 app/open-iconic/webp/italic-6x.webp delete mode 100755 app/open-iconic/webp/italic-8x.webp delete mode 100755 app/open-iconic/webp/italic.webp delete mode 100755 app/open-iconic/webp/justify-center-2x.webp delete mode 100755 app/open-iconic/webp/justify-center-3x.webp delete mode 100755 app/open-iconic/webp/justify-center-4x.webp delete mode 100755 app/open-iconic/webp/justify-center-6x.webp delete mode 100755 app/open-iconic/webp/justify-center-8x.webp delete mode 100755 app/open-iconic/webp/justify-center.webp delete mode 100755 app/open-iconic/webp/justify-left-2x.webp delete mode 100755 app/open-iconic/webp/justify-left-3x.webp delete mode 100755 app/open-iconic/webp/justify-left-4x.webp delete mode 100755 app/open-iconic/webp/justify-left-6x.webp delete mode 100755 app/open-iconic/webp/justify-left-8x.webp delete mode 100755 app/open-iconic/webp/justify-left.webp delete mode 100755 app/open-iconic/webp/justify-right-2x.webp delete mode 100755 app/open-iconic/webp/justify-right-3x.webp delete mode 100755 app/open-iconic/webp/justify-right-4x.webp delete mode 100755 app/open-iconic/webp/justify-right-6x.webp delete mode 100755 app/open-iconic/webp/justify-right-8x.webp delete mode 100755 app/open-iconic/webp/justify-right.webp delete mode 100755 app/open-iconic/webp/key-2x.webp delete mode 100755 app/open-iconic/webp/key-3x.webp delete mode 100755 app/open-iconic/webp/key-4x.webp delete mode 100755 app/open-iconic/webp/key-6x.webp delete mode 100755 app/open-iconic/webp/key-8x.webp delete mode 100755 app/open-iconic/webp/key.webp delete mode 100755 app/open-iconic/webp/laptop-2x.webp delete mode 100755 app/open-iconic/webp/laptop-3x.webp delete mode 100755 app/open-iconic/webp/laptop-4x.webp delete mode 100755 app/open-iconic/webp/laptop-6x.webp delete mode 100755 app/open-iconic/webp/laptop-8x.webp delete mode 100755 app/open-iconic/webp/laptop.webp delete mode 100755 app/open-iconic/webp/layers-2x.webp delete mode 100755 app/open-iconic/webp/layers-3x.webp delete mode 100755 app/open-iconic/webp/layers-4x.webp delete mode 100755 app/open-iconic/webp/layers-6x.webp delete mode 100755 app/open-iconic/webp/layers-8x.webp delete mode 100755 app/open-iconic/webp/layers.webp delete mode 100755 app/open-iconic/webp/lightbulb-2x.webp delete mode 100755 app/open-iconic/webp/lightbulb-3x.webp delete mode 100755 app/open-iconic/webp/lightbulb-4x.webp delete mode 100755 app/open-iconic/webp/lightbulb-6x.webp delete mode 100755 app/open-iconic/webp/lightbulb-8x.webp delete mode 100755 app/open-iconic/webp/lightbulb.webp delete mode 100755 app/open-iconic/webp/link-broken-2x.webp delete mode 100755 app/open-iconic/webp/link-broken-3x.webp delete mode 100755 app/open-iconic/webp/link-broken-4x.webp delete mode 100755 app/open-iconic/webp/link-broken-6x.webp delete mode 100755 app/open-iconic/webp/link-broken-8x.webp delete mode 100755 app/open-iconic/webp/link-broken.webp delete mode 100755 app/open-iconic/webp/link-intact-2x.webp delete mode 100755 app/open-iconic/webp/link-intact-3x.webp delete mode 100755 app/open-iconic/webp/link-intact-4x.webp delete mode 100755 app/open-iconic/webp/link-intact-6x.webp delete mode 100755 app/open-iconic/webp/link-intact-8x.webp delete mode 100755 app/open-iconic/webp/link-intact.webp delete mode 100755 app/open-iconic/webp/list-2x.webp delete mode 100755 app/open-iconic/webp/list-3x.webp delete mode 100755 app/open-iconic/webp/list-4x.webp delete mode 100755 app/open-iconic/webp/list-6x.webp delete mode 100755 app/open-iconic/webp/list-8x.webp delete mode 100755 app/open-iconic/webp/list-rich-2x.webp delete mode 100755 app/open-iconic/webp/list-rich-3x.webp delete mode 100755 app/open-iconic/webp/list-rich-4x.webp delete mode 100755 app/open-iconic/webp/list-rich-6x.webp delete mode 100755 app/open-iconic/webp/list-rich-8x.webp delete mode 100755 app/open-iconic/webp/list-rich.webp delete mode 100755 app/open-iconic/webp/list.webp delete mode 100755 app/open-iconic/webp/location-2x.webp delete mode 100755 app/open-iconic/webp/location-3x.webp delete mode 100755 app/open-iconic/webp/location-4x.webp delete mode 100755 app/open-iconic/webp/location-6x.webp delete mode 100755 app/open-iconic/webp/location-8x.webp delete mode 100755 app/open-iconic/webp/location.webp delete mode 100755 app/open-iconic/webp/lock-locked-2x.webp delete mode 100755 app/open-iconic/webp/lock-locked-3x.webp delete mode 100755 app/open-iconic/webp/lock-locked-4x.webp delete mode 100755 app/open-iconic/webp/lock-locked-6x.webp delete mode 100755 app/open-iconic/webp/lock-locked-8x.webp delete mode 100755 app/open-iconic/webp/lock-locked.webp delete mode 100755 app/open-iconic/webp/lock-unlocked-2x.webp delete mode 100755 app/open-iconic/webp/lock-unlocked-3x.webp delete mode 100755 app/open-iconic/webp/lock-unlocked-4x.webp delete mode 100755 app/open-iconic/webp/lock-unlocked-6x.webp delete mode 100755 app/open-iconic/webp/lock-unlocked-8x.webp delete mode 100755 app/open-iconic/webp/lock-unlocked.webp delete mode 100755 app/open-iconic/webp/loop-2x.webp delete mode 100755 app/open-iconic/webp/loop-3x.webp delete mode 100755 app/open-iconic/webp/loop-4x.webp delete mode 100755 app/open-iconic/webp/loop-6x.webp delete mode 100755 app/open-iconic/webp/loop-8x.webp delete mode 100755 app/open-iconic/webp/loop-circular-2x.webp delete mode 100755 app/open-iconic/webp/loop-circular-3x.webp delete mode 100755 app/open-iconic/webp/loop-circular-4x.webp delete mode 100755 app/open-iconic/webp/loop-circular-6x.webp delete mode 100755 app/open-iconic/webp/loop-circular-8x.webp delete mode 100755 app/open-iconic/webp/loop-circular.webp delete mode 100755 app/open-iconic/webp/loop-square-2x.webp delete mode 100755 app/open-iconic/webp/loop-square-3x.webp delete mode 100755 app/open-iconic/webp/loop-square-4x.webp delete mode 100755 app/open-iconic/webp/loop-square-6x.webp delete mode 100755 app/open-iconic/webp/loop-square-8x.webp delete mode 100755 app/open-iconic/webp/loop-square.webp delete mode 100755 app/open-iconic/webp/loop.webp delete mode 100755 app/open-iconic/webp/magnifying-glass-2x.webp delete mode 100755 app/open-iconic/webp/magnifying-glass-3x.webp delete mode 100755 app/open-iconic/webp/magnifying-glass-4x.webp delete mode 100755 app/open-iconic/webp/magnifying-glass-6x.webp delete mode 100755 app/open-iconic/webp/magnifying-glass-8x.webp delete mode 100755 app/open-iconic/webp/magnifying-glass.webp delete mode 100755 app/open-iconic/webp/map-2x.webp delete mode 100755 app/open-iconic/webp/map-3x.webp delete mode 100755 app/open-iconic/webp/map-4x.webp delete mode 100755 app/open-iconic/webp/map-6x.webp delete mode 100755 app/open-iconic/webp/map-8x.webp delete mode 100755 app/open-iconic/webp/map-marker-2x.webp delete mode 100755 app/open-iconic/webp/map-marker-3x.webp delete mode 100755 app/open-iconic/webp/map-marker-4x.webp delete mode 100755 app/open-iconic/webp/map-marker-6x.webp delete mode 100755 app/open-iconic/webp/map-marker-8x.webp delete mode 100755 app/open-iconic/webp/map-marker.webp delete mode 100755 app/open-iconic/webp/map.webp delete mode 100755 app/open-iconic/webp/media-pause-2x.webp delete mode 100755 app/open-iconic/webp/media-pause-3x.webp delete mode 100755 app/open-iconic/webp/media-pause-4x.webp delete mode 100755 app/open-iconic/webp/media-pause-6x.webp delete mode 100755 app/open-iconic/webp/media-pause-8x.webp delete mode 100755 app/open-iconic/webp/media-pause.webp delete mode 100755 app/open-iconic/webp/media-play-2x.webp delete mode 100755 app/open-iconic/webp/media-play-3x.webp delete mode 100755 app/open-iconic/webp/media-play-4x.webp delete mode 100755 app/open-iconic/webp/media-play-6x.webp delete mode 100755 app/open-iconic/webp/media-play-8x.webp delete mode 100755 app/open-iconic/webp/media-play.webp delete mode 100755 app/open-iconic/webp/media-record-2x.webp delete mode 100755 app/open-iconic/webp/media-record-3x.webp delete mode 100755 app/open-iconic/webp/media-record-4x.webp delete mode 100755 app/open-iconic/webp/media-record-6x.webp delete mode 100755 app/open-iconic/webp/media-record-8x.webp delete mode 100755 app/open-iconic/webp/media-record.webp delete mode 100755 app/open-iconic/webp/media-skip-backward-2x.webp delete mode 100755 app/open-iconic/webp/media-skip-backward-3x.webp delete mode 100755 app/open-iconic/webp/media-skip-backward-4x.webp delete mode 100755 app/open-iconic/webp/media-skip-backward-6x.webp delete mode 100755 app/open-iconic/webp/media-skip-backward-8x.webp delete mode 100755 app/open-iconic/webp/media-skip-backward.webp delete mode 100755 app/open-iconic/webp/media-skip-forward-2x.webp delete mode 100755 app/open-iconic/webp/media-skip-forward-3x.webp delete mode 100755 app/open-iconic/webp/media-skip-forward-4x.webp delete mode 100755 app/open-iconic/webp/media-skip-forward-6x.webp delete mode 100755 app/open-iconic/webp/media-skip-forward-8x.webp delete mode 100755 app/open-iconic/webp/media-skip-forward.webp delete mode 100755 app/open-iconic/webp/media-step-backward-2x.webp delete mode 100755 app/open-iconic/webp/media-step-backward-3x.webp delete mode 100755 app/open-iconic/webp/media-step-backward-4x.webp delete mode 100755 app/open-iconic/webp/media-step-backward-6x.webp delete mode 100755 app/open-iconic/webp/media-step-backward-8x.webp delete mode 100755 app/open-iconic/webp/media-step-backward.webp delete mode 100755 app/open-iconic/webp/media-step-forward-2x.webp delete mode 100755 app/open-iconic/webp/media-step-forward-3x.webp delete mode 100755 app/open-iconic/webp/media-step-forward-4x.webp delete mode 100755 app/open-iconic/webp/media-step-forward-6x.webp delete mode 100755 app/open-iconic/webp/media-step-forward-8x.webp delete mode 100755 app/open-iconic/webp/media-step-forward.webp delete mode 100755 app/open-iconic/webp/media-stop-2x.webp delete mode 100755 app/open-iconic/webp/media-stop-3x.webp delete mode 100755 app/open-iconic/webp/media-stop-4x.webp delete mode 100755 app/open-iconic/webp/media-stop-6x.webp delete mode 100755 app/open-iconic/webp/media-stop-8x.webp delete mode 100755 app/open-iconic/webp/media-stop.webp delete mode 100755 app/open-iconic/webp/medical-cross-2x.webp delete mode 100755 app/open-iconic/webp/medical-cross-3x.webp delete mode 100755 app/open-iconic/webp/medical-cross-4x.webp delete mode 100755 app/open-iconic/webp/medical-cross-6x.webp delete mode 100755 app/open-iconic/webp/medical-cross-8x.webp delete mode 100755 app/open-iconic/webp/medical-cross.webp delete mode 100755 app/open-iconic/webp/menu-2x.webp delete mode 100755 app/open-iconic/webp/menu-3x.webp delete mode 100755 app/open-iconic/webp/menu-4x.webp delete mode 100755 app/open-iconic/webp/menu-6x.webp delete mode 100755 app/open-iconic/webp/menu-8x.webp delete mode 100755 app/open-iconic/webp/menu.webp delete mode 100755 app/open-iconic/webp/microphone-2x.webp delete mode 100755 app/open-iconic/webp/microphone-3x.webp delete mode 100755 app/open-iconic/webp/microphone-4x.webp delete mode 100755 app/open-iconic/webp/microphone-6x.webp delete mode 100755 app/open-iconic/webp/microphone-8x.webp delete mode 100755 app/open-iconic/webp/microphone.webp delete mode 100755 app/open-iconic/webp/minus-2x.webp delete mode 100755 app/open-iconic/webp/minus-3x.webp delete mode 100755 app/open-iconic/webp/minus-4x.webp delete mode 100755 app/open-iconic/webp/minus-6x.webp delete mode 100755 app/open-iconic/webp/minus-8x.webp delete mode 100755 app/open-iconic/webp/minus.webp delete mode 100755 app/open-iconic/webp/monitor-2x.webp delete mode 100755 app/open-iconic/webp/monitor-3x.webp delete mode 100755 app/open-iconic/webp/monitor-4x.webp delete mode 100755 app/open-iconic/webp/monitor-6x.webp delete mode 100755 app/open-iconic/webp/monitor-8x.webp delete mode 100755 app/open-iconic/webp/monitor.webp delete mode 100755 app/open-iconic/webp/moon-2x.webp delete mode 100755 app/open-iconic/webp/moon-3x.webp delete mode 100755 app/open-iconic/webp/moon-4x.webp delete mode 100755 app/open-iconic/webp/moon-6x.webp delete mode 100755 app/open-iconic/webp/moon-8x.webp delete mode 100755 app/open-iconic/webp/moon.webp delete mode 100755 app/open-iconic/webp/move-2x.webp delete mode 100755 app/open-iconic/webp/move-3x.webp delete mode 100755 app/open-iconic/webp/move-4x.webp delete mode 100755 app/open-iconic/webp/move-6x.webp delete mode 100755 app/open-iconic/webp/move-8x.webp delete mode 100755 app/open-iconic/webp/move.webp delete mode 100755 app/open-iconic/webp/musical-note-2x.webp delete mode 100755 app/open-iconic/webp/musical-note-3x.webp delete mode 100755 app/open-iconic/webp/musical-note-4x.webp delete mode 100755 app/open-iconic/webp/musical-note-6x.webp delete mode 100755 app/open-iconic/webp/musical-note-8x.webp delete mode 100755 app/open-iconic/webp/musical-note.webp delete mode 100755 app/open-iconic/webp/paperclip-2x.webp delete mode 100755 app/open-iconic/webp/paperclip-3x.webp delete mode 100755 app/open-iconic/webp/paperclip-4x.webp delete mode 100755 app/open-iconic/webp/paperclip-6x.webp delete mode 100755 app/open-iconic/webp/paperclip-8x.webp delete mode 100755 app/open-iconic/webp/paperclip.webp delete mode 100755 app/open-iconic/webp/pencil-2x.webp delete mode 100755 app/open-iconic/webp/pencil-3x.webp delete mode 100755 app/open-iconic/webp/pencil-4x.webp delete mode 100755 app/open-iconic/webp/pencil-6x.webp delete mode 100755 app/open-iconic/webp/pencil-8x.webp delete mode 100755 app/open-iconic/webp/pencil.webp delete mode 100755 app/open-iconic/webp/people-2x.webp delete mode 100755 app/open-iconic/webp/people-3x.webp delete mode 100755 app/open-iconic/webp/people-4x.webp delete mode 100755 app/open-iconic/webp/people-6x.webp delete mode 100755 app/open-iconic/webp/people-8x.webp delete mode 100755 app/open-iconic/webp/people.webp delete mode 100755 app/open-iconic/webp/person-2x.webp delete mode 100755 app/open-iconic/webp/person-3x.webp delete mode 100755 app/open-iconic/webp/person-4x.webp delete mode 100755 app/open-iconic/webp/person-6x.webp delete mode 100755 app/open-iconic/webp/person-8x.webp delete mode 100755 app/open-iconic/webp/person.webp delete mode 100755 app/open-iconic/webp/phone-2x.webp delete mode 100755 app/open-iconic/webp/phone-3x.webp delete mode 100755 app/open-iconic/webp/phone-4x.webp delete mode 100755 app/open-iconic/webp/phone-6x.webp delete mode 100755 app/open-iconic/webp/phone-8x.webp delete mode 100755 app/open-iconic/webp/phone.webp delete mode 100755 app/open-iconic/webp/pie-chart-2x.webp delete mode 100755 app/open-iconic/webp/pie-chart-3x.webp delete mode 100755 app/open-iconic/webp/pie-chart-4x.webp delete mode 100755 app/open-iconic/webp/pie-chart-6x.webp delete mode 100755 app/open-iconic/webp/pie-chart-8x.webp delete mode 100755 app/open-iconic/webp/pie-chart.webp delete mode 100755 app/open-iconic/webp/pin-2x.webp delete mode 100755 app/open-iconic/webp/pin-3x.webp delete mode 100755 app/open-iconic/webp/pin-4x.webp delete mode 100755 app/open-iconic/webp/pin-6x.webp delete mode 100755 app/open-iconic/webp/pin-8x.webp delete mode 100755 app/open-iconic/webp/pin.webp delete mode 100755 app/open-iconic/webp/play-circle-2x.webp delete mode 100755 app/open-iconic/webp/play-circle-3x.webp delete mode 100755 app/open-iconic/webp/play-circle-4x.webp delete mode 100755 app/open-iconic/webp/play-circle-6x.webp delete mode 100755 app/open-iconic/webp/play-circle-8x.webp delete mode 100755 app/open-iconic/webp/play-circle.webp delete mode 100755 app/open-iconic/webp/plus-2x.webp delete mode 100755 app/open-iconic/webp/plus-3x.webp delete mode 100755 app/open-iconic/webp/plus-4x.webp delete mode 100755 app/open-iconic/webp/plus-6x.webp delete mode 100755 app/open-iconic/webp/plus-8x.webp delete mode 100755 app/open-iconic/webp/plus.webp delete mode 100755 app/open-iconic/webp/power-standby-2x.webp delete mode 100755 app/open-iconic/webp/power-standby-3x.webp delete mode 100755 app/open-iconic/webp/power-standby-4x.webp delete mode 100755 app/open-iconic/webp/power-standby-6x.webp delete mode 100755 app/open-iconic/webp/power-standby-8x.webp delete mode 100755 app/open-iconic/webp/power-standby.webp delete mode 100755 app/open-iconic/webp/print-2x.webp delete mode 100755 app/open-iconic/webp/print-3x.webp delete mode 100755 app/open-iconic/webp/print-4x.webp delete mode 100755 app/open-iconic/webp/print-6x.webp delete mode 100755 app/open-iconic/webp/print-8x.webp delete mode 100755 app/open-iconic/webp/print.webp delete mode 100755 app/open-iconic/webp/project-2x.webp delete mode 100755 app/open-iconic/webp/project-3x.webp delete mode 100755 app/open-iconic/webp/project-4x.webp delete mode 100755 app/open-iconic/webp/project-6x.webp delete mode 100755 app/open-iconic/webp/project-8x.webp delete mode 100755 app/open-iconic/webp/project.webp delete mode 100755 app/open-iconic/webp/pulse-2x.webp delete mode 100755 app/open-iconic/webp/pulse-3x.webp delete mode 100755 app/open-iconic/webp/pulse-4x.webp delete mode 100755 app/open-iconic/webp/pulse-6x.webp delete mode 100755 app/open-iconic/webp/pulse-8x.webp delete mode 100755 app/open-iconic/webp/pulse.webp delete mode 100755 app/open-iconic/webp/puzzle-piece-2x.webp delete mode 100755 app/open-iconic/webp/puzzle-piece-3x.webp delete mode 100755 app/open-iconic/webp/puzzle-piece-4x.webp delete mode 100755 app/open-iconic/webp/puzzle-piece-6x.webp delete mode 100755 app/open-iconic/webp/puzzle-piece-8x.webp delete mode 100755 app/open-iconic/webp/puzzle-piece.webp delete mode 100755 app/open-iconic/webp/question-mark-2x.webp delete mode 100755 app/open-iconic/webp/question-mark-3x.webp delete mode 100755 app/open-iconic/webp/question-mark-4x.webp delete mode 100755 app/open-iconic/webp/question-mark-6x.webp delete mode 100755 app/open-iconic/webp/question-mark-8x.webp delete mode 100755 app/open-iconic/webp/question-mark.webp delete mode 100755 app/open-iconic/webp/rain-2x.webp delete mode 100755 app/open-iconic/webp/rain-3x.webp delete mode 100755 app/open-iconic/webp/rain-4x.webp delete mode 100755 app/open-iconic/webp/rain-6x.webp delete mode 100755 app/open-iconic/webp/rain-8x.webp delete mode 100755 app/open-iconic/webp/rain.webp delete mode 100755 app/open-iconic/webp/random-2x.webp delete mode 100755 app/open-iconic/webp/random-3x.webp delete mode 100755 app/open-iconic/webp/random-4x.webp delete mode 100755 app/open-iconic/webp/random-6x.webp delete mode 100755 app/open-iconic/webp/random-8x.webp delete mode 100755 app/open-iconic/webp/random.webp delete mode 100755 app/open-iconic/webp/reload-2x.webp delete mode 100755 app/open-iconic/webp/reload-3x.webp delete mode 100755 app/open-iconic/webp/reload-4x.webp delete mode 100755 app/open-iconic/webp/reload-6x.webp delete mode 100755 app/open-iconic/webp/reload-8x.webp delete mode 100755 app/open-iconic/webp/reload.webp delete mode 100755 app/open-iconic/webp/resize-both-2x.webp delete mode 100755 app/open-iconic/webp/resize-both-3x.webp delete mode 100755 app/open-iconic/webp/resize-both-4x.webp delete mode 100755 app/open-iconic/webp/resize-both-6x.webp delete mode 100755 app/open-iconic/webp/resize-both-8x.webp delete mode 100755 app/open-iconic/webp/resize-both.webp delete mode 100755 app/open-iconic/webp/resize-height-2x.webp delete mode 100755 app/open-iconic/webp/resize-height-3x.webp delete mode 100755 app/open-iconic/webp/resize-height-4x.webp delete mode 100755 app/open-iconic/webp/resize-height-6x.webp delete mode 100755 app/open-iconic/webp/resize-height-8x.webp delete mode 100755 app/open-iconic/webp/resize-height.webp delete mode 100755 app/open-iconic/webp/resize-width-2x.webp delete mode 100755 app/open-iconic/webp/resize-width-3x.webp delete mode 100755 app/open-iconic/webp/resize-width-4x.webp delete mode 100755 app/open-iconic/webp/resize-width-6x.webp delete mode 100755 app/open-iconic/webp/resize-width-8x.webp delete mode 100755 app/open-iconic/webp/resize-width.webp delete mode 100755 app/open-iconic/webp/rss-2x.webp delete mode 100755 app/open-iconic/webp/rss-3x.webp delete mode 100755 app/open-iconic/webp/rss-4x.webp delete mode 100755 app/open-iconic/webp/rss-6x.webp delete mode 100755 app/open-iconic/webp/rss-8x.webp delete mode 100755 app/open-iconic/webp/rss-alt-2x.webp delete mode 100755 app/open-iconic/webp/rss-alt-3x.webp delete mode 100755 app/open-iconic/webp/rss-alt-4x.webp delete mode 100755 app/open-iconic/webp/rss-alt-6x.webp delete mode 100755 app/open-iconic/webp/rss-alt-8x.webp delete mode 100755 app/open-iconic/webp/rss-alt.webp delete mode 100755 app/open-iconic/webp/rss.webp delete mode 100755 app/open-iconic/webp/script-2x.webp delete mode 100755 app/open-iconic/webp/script-3x.webp delete mode 100755 app/open-iconic/webp/script-4x.webp delete mode 100755 app/open-iconic/webp/script-6x.webp delete mode 100755 app/open-iconic/webp/script-8x.webp delete mode 100755 app/open-iconic/webp/script.webp delete mode 100755 app/open-iconic/webp/share-2x.webp delete mode 100755 app/open-iconic/webp/share-3x.webp delete mode 100755 app/open-iconic/webp/share-4x.webp delete mode 100755 app/open-iconic/webp/share-6x.webp delete mode 100755 app/open-iconic/webp/share-8x.webp delete mode 100755 app/open-iconic/webp/share-boxed-2x.webp delete mode 100755 app/open-iconic/webp/share-boxed-3x.webp delete mode 100755 app/open-iconic/webp/share-boxed-4x.webp delete mode 100755 app/open-iconic/webp/share-boxed-6x.webp delete mode 100755 app/open-iconic/webp/share-boxed-8x.webp delete mode 100755 app/open-iconic/webp/share-boxed.webp delete mode 100755 app/open-iconic/webp/share.webp delete mode 100755 app/open-iconic/webp/shield-2x.webp delete mode 100755 app/open-iconic/webp/shield-3x.webp delete mode 100755 app/open-iconic/webp/shield-4x.webp delete mode 100755 app/open-iconic/webp/shield-6x.webp delete mode 100755 app/open-iconic/webp/shield-8x.webp delete mode 100755 app/open-iconic/webp/shield.webp delete mode 100755 app/open-iconic/webp/signal-2x.webp delete mode 100755 app/open-iconic/webp/signal-3x.webp delete mode 100755 app/open-iconic/webp/signal-4x.webp delete mode 100755 app/open-iconic/webp/signal-6x.webp delete mode 100755 app/open-iconic/webp/signal-8x.webp delete mode 100755 app/open-iconic/webp/signal.webp delete mode 100755 app/open-iconic/webp/signpost-2x.webp delete mode 100755 app/open-iconic/webp/signpost-3x.webp delete mode 100755 app/open-iconic/webp/signpost-4x.webp delete mode 100755 app/open-iconic/webp/signpost-6x.webp delete mode 100755 app/open-iconic/webp/signpost-8x.webp delete mode 100755 app/open-iconic/webp/signpost.webp delete mode 100755 app/open-iconic/webp/sort-ascending-2x.webp delete mode 100755 app/open-iconic/webp/sort-ascending-3x.webp delete mode 100755 app/open-iconic/webp/sort-ascending-4x.webp delete mode 100755 app/open-iconic/webp/sort-ascending-6x.webp delete mode 100755 app/open-iconic/webp/sort-ascending-8x.webp delete mode 100755 app/open-iconic/webp/sort-ascending.webp delete mode 100755 app/open-iconic/webp/sort-descending-2x.webp delete mode 100755 app/open-iconic/webp/sort-descending-3x.webp delete mode 100755 app/open-iconic/webp/sort-descending-4x.webp delete mode 100755 app/open-iconic/webp/sort-descending-6x.webp delete mode 100755 app/open-iconic/webp/sort-descending-8x.webp delete mode 100755 app/open-iconic/webp/sort-descending.webp delete mode 100755 app/open-iconic/webp/spreadsheet-2x.webp delete mode 100755 app/open-iconic/webp/spreadsheet-3x.webp delete mode 100755 app/open-iconic/webp/spreadsheet-4x.webp delete mode 100755 app/open-iconic/webp/spreadsheet-6x.webp delete mode 100755 app/open-iconic/webp/spreadsheet-8x.webp delete mode 100755 app/open-iconic/webp/spreadsheet.webp delete mode 100755 app/open-iconic/webp/star-2x.webp delete mode 100755 app/open-iconic/webp/star-3x.webp delete mode 100755 app/open-iconic/webp/star-4x.webp delete mode 100755 app/open-iconic/webp/star-6x.webp delete mode 100755 app/open-iconic/webp/star-8x.webp delete mode 100755 app/open-iconic/webp/star.webp delete mode 100755 app/open-iconic/webp/sun-2x.webp delete mode 100755 app/open-iconic/webp/sun-3x.webp delete mode 100755 app/open-iconic/webp/sun-4x.webp delete mode 100755 app/open-iconic/webp/sun-6x.webp delete mode 100755 app/open-iconic/webp/sun-8x.webp delete mode 100755 app/open-iconic/webp/sun.webp delete mode 100755 app/open-iconic/webp/tablet-2x.webp delete mode 100755 app/open-iconic/webp/tablet-3x.webp delete mode 100755 app/open-iconic/webp/tablet-4x.webp delete mode 100755 app/open-iconic/webp/tablet-6x.webp delete mode 100755 app/open-iconic/webp/tablet-8x.webp delete mode 100755 app/open-iconic/webp/tablet.webp delete mode 100755 app/open-iconic/webp/tag-2x.webp delete mode 100755 app/open-iconic/webp/tag-3x.webp delete mode 100755 app/open-iconic/webp/tag-4x.webp delete mode 100755 app/open-iconic/webp/tag-6x.webp delete mode 100755 app/open-iconic/webp/tag-8x.webp delete mode 100755 app/open-iconic/webp/tag.webp delete mode 100755 app/open-iconic/webp/tags-2x.webp delete mode 100755 app/open-iconic/webp/tags-3x.webp delete mode 100755 app/open-iconic/webp/tags-4x.webp delete mode 100755 app/open-iconic/webp/tags-6x.webp delete mode 100755 app/open-iconic/webp/tags-8x.webp delete mode 100755 app/open-iconic/webp/tags.webp delete mode 100755 app/open-iconic/webp/target-2x.webp delete mode 100755 app/open-iconic/webp/target-3x.webp delete mode 100755 app/open-iconic/webp/target-4x.webp delete mode 100755 app/open-iconic/webp/target-6x.webp delete mode 100755 app/open-iconic/webp/target-8x.webp delete mode 100755 app/open-iconic/webp/target.webp delete mode 100755 app/open-iconic/webp/task-2x.webp delete mode 100755 app/open-iconic/webp/task-3x.webp delete mode 100755 app/open-iconic/webp/task-4x.webp delete mode 100755 app/open-iconic/webp/task-6x.webp delete mode 100755 app/open-iconic/webp/task-8x.webp delete mode 100755 app/open-iconic/webp/task.webp delete mode 100755 app/open-iconic/webp/terminal-2x.webp delete mode 100755 app/open-iconic/webp/terminal-3x.webp delete mode 100755 app/open-iconic/webp/terminal-4x.webp delete mode 100755 app/open-iconic/webp/terminal-6x.webp delete mode 100755 app/open-iconic/webp/terminal-8x.webp delete mode 100755 app/open-iconic/webp/terminal.webp delete mode 100755 app/open-iconic/webp/text-2x.webp delete mode 100755 app/open-iconic/webp/text-3x.webp delete mode 100755 app/open-iconic/webp/text-4x.webp delete mode 100755 app/open-iconic/webp/text-6x.webp delete mode 100755 app/open-iconic/webp/text-8x.webp delete mode 100755 app/open-iconic/webp/text.webp delete mode 100755 app/open-iconic/webp/thumb-down-2x.webp delete mode 100755 app/open-iconic/webp/thumb-down-3x.webp delete mode 100755 app/open-iconic/webp/thumb-down-4x.webp delete mode 100755 app/open-iconic/webp/thumb-down-6x.webp delete mode 100755 app/open-iconic/webp/thumb-down-8x.webp delete mode 100755 app/open-iconic/webp/thumb-down.webp delete mode 100755 app/open-iconic/webp/thumb-up-2x.webp delete mode 100755 app/open-iconic/webp/thumb-up-3x.webp delete mode 100755 app/open-iconic/webp/thumb-up-4x.webp delete mode 100755 app/open-iconic/webp/thumb-up-6x.webp delete mode 100755 app/open-iconic/webp/thumb-up-8x.webp delete mode 100755 app/open-iconic/webp/thumb-up.webp delete mode 100755 app/open-iconic/webp/timer-2x.webp delete mode 100755 app/open-iconic/webp/timer-3x.webp delete mode 100755 app/open-iconic/webp/timer-4x.webp delete mode 100755 app/open-iconic/webp/timer-6x.webp delete mode 100755 app/open-iconic/webp/timer-8x.webp delete mode 100755 app/open-iconic/webp/timer.webp delete mode 100755 app/open-iconic/webp/transfer-2x.webp delete mode 100755 app/open-iconic/webp/transfer-3x.webp delete mode 100755 app/open-iconic/webp/transfer-4x.webp delete mode 100755 app/open-iconic/webp/transfer-6x.webp delete mode 100755 app/open-iconic/webp/transfer-8x.webp delete mode 100755 app/open-iconic/webp/transfer.webp delete mode 100755 app/open-iconic/webp/trash-2x.webp delete mode 100755 app/open-iconic/webp/trash-3x.webp delete mode 100755 app/open-iconic/webp/trash-4x.webp delete mode 100755 app/open-iconic/webp/trash-6x.webp delete mode 100755 app/open-iconic/webp/trash-8x.webp delete mode 100755 app/open-iconic/webp/trash.webp delete mode 100755 app/open-iconic/webp/underline-2x.webp delete mode 100755 app/open-iconic/webp/underline-3x.webp delete mode 100755 app/open-iconic/webp/underline-4x.webp delete mode 100755 app/open-iconic/webp/underline-6x.webp delete mode 100755 app/open-iconic/webp/underline-8x.webp delete mode 100755 app/open-iconic/webp/underline.webp delete mode 100755 app/open-iconic/webp/vertical-align-bottom-2x.webp delete mode 100755 app/open-iconic/webp/vertical-align-bottom-3x.webp delete mode 100755 app/open-iconic/webp/vertical-align-bottom-4x.webp delete mode 100755 app/open-iconic/webp/vertical-align-bottom-6x.webp delete mode 100755 app/open-iconic/webp/vertical-align-bottom-8x.webp delete mode 100755 app/open-iconic/webp/vertical-align-bottom.webp delete mode 100755 app/open-iconic/webp/vertical-align-center-2x.webp delete mode 100755 app/open-iconic/webp/vertical-align-center-3x.webp delete mode 100755 app/open-iconic/webp/vertical-align-center-4x.webp delete mode 100755 app/open-iconic/webp/vertical-align-center-6x.webp delete mode 100755 app/open-iconic/webp/vertical-align-center-8x.webp delete mode 100755 app/open-iconic/webp/vertical-align-center.webp delete mode 100755 app/open-iconic/webp/vertical-align-top-2x.webp delete mode 100755 app/open-iconic/webp/vertical-align-top-3x.webp delete mode 100755 app/open-iconic/webp/vertical-align-top-4x.webp delete mode 100755 app/open-iconic/webp/vertical-align-top-6x.webp delete mode 100755 app/open-iconic/webp/vertical-align-top-8x.webp delete mode 100755 app/open-iconic/webp/vertical-align-top.webp delete mode 100755 app/open-iconic/webp/video-2x.webp delete mode 100755 app/open-iconic/webp/video-3x.webp delete mode 100755 app/open-iconic/webp/video-4x.webp delete mode 100755 app/open-iconic/webp/video-6x.webp delete mode 100755 app/open-iconic/webp/video-8x.webp delete mode 100755 app/open-iconic/webp/video.webp delete mode 100755 app/open-iconic/webp/volume-high-2x.webp delete mode 100755 app/open-iconic/webp/volume-high-3x.webp delete mode 100755 app/open-iconic/webp/volume-high-4x.webp delete mode 100755 app/open-iconic/webp/volume-high-6x.webp delete mode 100755 app/open-iconic/webp/volume-high-8x.webp delete mode 100755 app/open-iconic/webp/volume-high.webp delete mode 100755 app/open-iconic/webp/volume-low-2x.webp delete mode 100755 app/open-iconic/webp/volume-low-3x.webp delete mode 100755 app/open-iconic/webp/volume-low-4x.webp delete mode 100755 app/open-iconic/webp/volume-low-6x.webp delete mode 100755 app/open-iconic/webp/volume-low-8x.webp delete mode 100755 app/open-iconic/webp/volume-low.webp delete mode 100755 app/open-iconic/webp/volume-off-2x.webp delete mode 100755 app/open-iconic/webp/volume-off-3x.webp delete mode 100755 app/open-iconic/webp/volume-off-4x.webp delete mode 100755 app/open-iconic/webp/volume-off-6x.webp delete mode 100755 app/open-iconic/webp/volume-off-8x.webp delete mode 100755 app/open-iconic/webp/volume-off.webp delete mode 100755 app/open-iconic/webp/warning-2x.webp delete mode 100755 app/open-iconic/webp/warning-3x.webp delete mode 100755 app/open-iconic/webp/warning-4x.webp delete mode 100755 app/open-iconic/webp/warning-6x.webp delete mode 100755 app/open-iconic/webp/warning-8x.webp delete mode 100755 app/open-iconic/webp/warning.webp delete mode 100755 app/open-iconic/webp/wifi-2x.webp delete mode 100755 app/open-iconic/webp/wifi-3x.webp delete mode 100755 app/open-iconic/webp/wifi-4x.webp delete mode 100755 app/open-iconic/webp/wifi-6x.webp delete mode 100755 app/open-iconic/webp/wifi-8x.webp delete mode 100755 app/open-iconic/webp/wifi.webp delete mode 100755 app/open-iconic/webp/wrench-2x.webp delete mode 100755 app/open-iconic/webp/wrench-3x.webp delete mode 100755 app/open-iconic/webp/wrench-4x.webp delete mode 100755 app/open-iconic/webp/wrench-6x.webp delete mode 100755 app/open-iconic/webp/wrench-8x.webp delete mode 100755 app/open-iconic/webp/wrench.webp delete mode 100755 app/open-iconic/webp/x-2x.webp delete mode 100755 app/open-iconic/webp/x-3x.webp delete mode 100755 app/open-iconic/webp/x-4x.webp delete mode 100755 app/open-iconic/webp/x-6x.webp delete mode 100755 app/open-iconic/webp/x-8x.webp delete mode 100755 app/open-iconic/webp/x.webp delete mode 100755 app/open-iconic/webp/yen-2x.webp delete mode 100755 app/open-iconic/webp/yen-3x.webp delete mode 100755 app/open-iconic/webp/yen-4x.webp delete mode 100755 app/open-iconic/webp/yen-6x.webp delete mode 100755 app/open-iconic/webp/yen-8x.webp delete mode 100755 app/open-iconic/webp/yen.webp delete mode 100755 app/open-iconic/webp/zoom-in-2x.webp delete mode 100755 app/open-iconic/webp/zoom-in-3x.webp delete mode 100755 app/open-iconic/webp/zoom-in-4x.webp delete mode 100755 app/open-iconic/webp/zoom-in-6x.webp delete mode 100755 app/open-iconic/webp/zoom-in-8x.webp delete mode 100755 app/open-iconic/webp/zoom-in.webp delete mode 100755 app/open-iconic/webp/zoom-out-2x.webp delete mode 100755 app/open-iconic/webp/zoom-out-3x.webp delete mode 100755 app/open-iconic/webp/zoom-out-4x.webp delete mode 100755 app/open-iconic/webp/zoom-out-6x.webp delete mode 100755 app/open-iconic/webp/zoom-out-8x.webp delete mode 100755 app/open-iconic/webp/zoom-out.webp delete mode 100755 bin/deploy.sh create mode 100644 contracts/AbstractSubdomainRegistrar.json delete mode 100644 contracts/AbstractSubdomainRegistrar.sol create mode 100644 contracts/Address.json create mode 100644 contracts/BaseRegistrar.json create mode 100644 contracts/BaseRegistrarImplementation.json create mode 100644 contracts/Deed.json create mode 100644 contracts/DeedImplementation.json create mode 100644 contracts/ENS.json create mode 100644 contracts/ENSMigrationSubdomainRegistrar.json delete mode 100644 contracts/ENSMigrationSubdomainRegistrar.sol create mode 100644 contracts/ENSRegistry.json create mode 100644 contracts/ENSRegistryWithFallback.json create mode 100644 contracts/ERC165.json create mode 100644 contracts/ERC721.json create mode 100644 contracts/EthRegistrarSubdomainRegistrar.json delete mode 100644 contracts/EthRegistrarSubdomainRegistrar.sol create mode 100644 contracts/HashRegistrar.json create mode 100644 contracts/IERC165.json create mode 100644 contracts/IERC721.json create mode 100644 contracts/IERC721Receiver.json create mode 100644 contracts/Migrations.json delete mode 100644 contracts/Migrations.sol create mode 100644 contracts/OldBaseRegistrarImplementation.json create mode 100644 contracts/Ownable.json create mode 100644 contracts/Registrar.json create mode 100644 contracts/RegistrarInterface.json delete mode 100644 contracts/RegistrarInterface.sol create mode 100644 contracts/Resolver.json delete mode 100644 contracts/Resolver.sol create mode 100644 contracts/SafeMath.json create mode 100644 contracts/SubdomainMigrationRegistrar.json delete mode 100644 contracts/SubdomainMigrationRegistrar.sol create mode 100644 contracts/SubdomainRegistrar.json delete mode 100644 contracts/SubdomainRegistrar.sol create mode 100644 contracts/TestResolver.json delete mode 100644 contracts/TestResolver.sol delete mode 100644 contracts/deps.sol rename app/img/mist-logo.png => edaf0aafd04a515d4acc41aa09af10e4.png (100%) rename app/img/metamask-logo.png => f7745a98eda755e612fa564532c302d6.png (100%) rename {app/img => img}/ens.svg (100%) create mode 100644 img/metamask-logo.png create mode 100644 img/mist-logo.png create mode 100644 img/trust-logo.png create mode 100644 index.html delete mode 100644 migrations/1_initial_migration.js delete mode 100644 migrations/2_deploy_contracts.js delete mode 100644 package-lock.json delete mode 100644 package.json create mode 100644 public/fonts/ens.svg rename {app/open-iconic/font => public}/fonts/open-iconic.eot (100%) mode change 100755 => 100644 rename {app/open-iconic/font => public}/fonts/open-iconic.otf (100%) mode change 100755 => 100644 rename {app/open-iconic/font => public}/fonts/open-iconic.svg (100%) mode change 100755 => 100644 rename {app/open-iconic/font => public}/fonts/open-iconic.ttf (100%) mode change 100755 => 100644 rename {app/open-iconic/font => public}/fonts/open-iconic.woff (100%) mode change 100755 => 100644 delete mode 100644 test/Dependencies.sol delete mode 100644 test/ENSMigrationSubdomainRegistrar.js delete mode 100644 test/TestEthRegistrarSubdomainRegistrar.js delete mode 100644 test/TestSubdomainMigrationRegistrar.js delete mode 100644 test/TestSubdomainRegistrar.js delete mode 100644 test/helpers/Utils.js delete mode 100644 truffle.js delete mode 100644 webpack.config.js diff --git a/.bootstraprc b/.bootstraprc deleted file mode 100644 index f93696d..0000000 --- a/.bootstraprc +++ /dev/null @@ -1,106 +0,0 @@ ---- -# Output debugging info -# loglevel: debug - -# Major version of Bootstrap: 3 or 4 -bootstrapVersion: 4 - -# Webpack loaders, order matters -styleLoaders: - - style - - css - - sass - -# Extract styles to stand-alone css file -# Different settings for different environments can be used, -# It depends on value of NODE_ENV environment variable -# This param can also be set in webpack config: -# entry: 'bootstrap-loader/extractStyles' -extractStyles: false -# env: -# development: -# extractStyles: false -# production: -# extractStyles: true - - -# Customize Bootstrap variables that get imported before the original Bootstrap variables. -# Thus, derived Bootstrap variables can depend on values from here. -# See the Bootstrap _variables.scss file for examples of derived Bootstrap variables. -# -# preBootstrapCustomizations: ./path/to/bootstrap/pre-customizations.scss - - -# This gets loaded after bootstrap/variables is loaded -# Thus, you may customize Bootstrap variables -# based on the values established in the Bootstrap _variables.scss file -# -# bootstrapCustomizations: ./path/to/bootstrap/customizations.scss - - -# Import your custom styles here -# Usually this endpoint-file contains list of @imports of your application styles -# -appStyles: ./app/css/app.css - - -### Bootstrap styles -styles: - - # Mixins - mixins: true - - # Reset and dependencies - print: true - - # Core CSS - buttons: true - code: true - forms: true - grid: true - images: true - reboot: true - tables: true - type: true - - # Components - alert: true - badge: true - breadcrumb: true - button-group: true - card: true - close: true - custom-forms: true - dropdown: true - input-group: true - jumbotron: true - list-group: true - media: true - nav: true - navbar: true - pagination: true - progress: true - transitions: true - - # Components w/ JavaScript - carousel: true - modal: true - popover: true - tooltip: true - - # Utility classes - utilities: true - -### Bootstrap scripts -scripts: - alert: true - button: true - carousel: true - collapse: true - dropdown: true - modal: true - popover: true - scrollspy: true - tab: true - tooltip: true - util: true diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 52031de..0000000 --- a/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.sol linguist-language=Solidity diff --git a/.npmignore b/.npmignore deleted file mode 100644 index c2658d7..0000000 --- a/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/.soliumignore b/.soliumignore deleted file mode 100644 index b512c09..0000000 --- a/.soliumignore +++ /dev/null @@ -1 +0,0 @@ -node_modules \ No newline at end of file diff --git a/.soliumrc.json b/.soliumrc.json deleted file mode 100644 index d3fe054..0000000 --- a/.soliumrc.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "solium:all", - "rules": { - "indentation": ["error", 4], - "quotes": ["error", "double"], - "arg-overflow": "off", - "blank-lines": "off" - } -} \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6fcb26e..0000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -sudo: required - -dist: trusty - -language: node_js - -node_js: - - "8" -env: - - TASK=test - - TASK=lint -matrix: - fast_finish: true - allow_failures: - - env: TASK=lint -script: - - npm run $TASK - -notifications: - email: false diff --git a/app/img/trust-logo.png b/4f666bb87dc00f514a1c6bebc31ddbfe.png similarity index 100% rename from app/img/trust-logo.png rename to 4f666bb87dc00f514a1c6bebc31ddbfe.png diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..01220c1 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +now.ens.domains diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 3e31637..0000000 --- a/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -BSD 2-Clause License - -Copyright (c) 2017, Nick Johnson -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md deleted file mode 100644 index 898927e..0000000 --- a/README.md +++ /dev/null @@ -1,92 +0,0 @@ -# ENS Subdomain registrar - -[![Build Status](https://travis-ci.org/ensdomains/subdomain-registrar.svg?branch=master)](https://travis-ci.org/ensdomains/subdomain-registrar) [![License](https://img.shields.io/badge/License-BSD--2--Clause-blue.svg)](LICENSE) - -This is a set of smart contracts and corresponding webapp that facilitates easy registration of ENS subdomains for users. By simply entering a desired subdomain name and choosing from a list of available domains, they can register a subdomain and point it at their account in one click. - -This code is currently BETA. Prior versions of the smart contract have been audited, but changes have been made subsequently, for which an audit has not yet been completed. Use with care. - -## Getting Started - -These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. - -### Installing - -The ENS Subdomain registrar uses npm to manage dependencies, therefore the installation process is kept simple: - -``` -npm install -``` - -### Running tests - -The ENS Subdomain registrar uses truffle for its ethereum development environment. All tests can be run using truffle: - -``` -truffle test -``` - -To run linting, use solium: - -``` -solium --dir ./contracts -``` - -### Running the dapp - -``` -ganache-cli & -truffle deploy -npm run dev -``` - -## Operation - -`SubdomainRegistrar` implements a contract that takes ownership of (multiple) .eth domains, and sells subdomains to users for a simple one-time fee. When users register a subdomain, it is automatically configured with a default resolver and pointed at their account. This permits easy one-transaction claiming and assignment of an ENS domain for users, significantly improving the ENS user-experience. - -A variety of frontends can be built to interact with the subdomain registrar; a simple implementation is provided in this repository. Domain owners may set a 'commission rate', which is a percentage fee that is sent to the address the frontend nominates. This can be any amount, but frontends are free to set criteria for inclusion or prioritisation based on the fee paid. - -There is no functionality in the contract for listing or querying domains that are registered with it, though events are emitted when new domains are registered. To avoid spamming with low-quality domains, we recommend that frontend operators maintain a whitelist of domains to offer subdomain registrations on. - -### Adding a domain - -Any .eth domain owner may use this contract by: - - 1. Transferring ownership of the Deed to the deployed contract. - 2. Calling `configureDomain(name, price, referralFeePPM)`, where `name` is the name of the domain (without .eth), price is the price in wei to charge for a subdomain registration, and `referralFeePPM` is the referral fee to offer to frontends, in parts-per-million. - 3. Getting the new domain whitelisted with frontends so users can buy it. - -Note that this process is IRREVOCABLE! For the security of customers, once you have transferred your domain to the subdomain registrar, you cannot claim it back except under very limited circumstances (see below). - -### Upgrades to the subdomain registrar - -In the event of a bug or issue with the subdomain registrar being found, a migration path to a new implementation is provided. The owner of the subdomain registrar may halt new registrations, followed by setting a migration address to a new implementation. Afterwards, domain owners may call `migrate` to transfer ownership of their domain to the new implementation. Only domain owners may do this, so as to prevent the owner of the subdomain registrar from being able to sieze ownership of the names. - -### Upgrades to the .eth registrar - -The current .eth registrar is an interim implementation, and is expected to be replaced in the near future. This is likely to be accompanied by a change in API, which makes catering to this in existing contracts difficult. To avoid this, the subdomain registrar implements a precommitment strategy. - -At any point, the owner of a domain may specify a 'transfer address' for their domain. Once a transfer address is set, it may not be changed or unset. At the point at which the .eth registrar is replaced (and not before), the owner may call the `upgrade` function, transferring ownership of the Deed to this address. - -The intended workflow is as follows: - - 1. A new .eth registrar is deployed, but not yet activated. Users are advised of a migration date. - 2. Domain owners on the subdomain registrar set the transfer address for their domains to that of a 'migration contract' that will handle upgrading the domain to the new registrar and committing it to a new subdomain registrar. - 3. Users have an opportunity to evaluate the upgrade path, and stop using their subdomains if unhappy with it. - 3. The .eth registrar upgrade happens. - 4. The domain owner calls `upgrade`, transferring ownership and performing the upgrade process. - -## Built With -* [Truffle](https://github.com/trufflesuite/truffle) - Ethereum development environment - - -## Authors - -* **Nick Johnson** - [Arachnid](https://github.com/Arachnid) -* **Dean Eigenmann** - [decanus](https://github.com/decanus) - -See also the list of [contributors](https://github.com/ensdomains/subdomain-registrar/contributors) who participated in this project. - -## License - -This project is licensed under the BSD 2-clause "Simplified" License - see the [LICENSE](LICENSE) file for details diff --git a/app.js b/app.js new file mode 100644 index 0000000..4770d8e --- /dev/null +++ b/app.js @@ -0,0 +1,67287 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 208); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +;(function (root, factory) { + if (true) { + // CommonJS + module.exports = exports = factory(); + } + else if (typeof define === "function" && define.amd) { + // AMD + define([], factory); + } + else { + // Global (browser) + root.CryptoJS = factory(); + } +}(this, function () { + + /** + * CryptoJS core components. + */ + var CryptoJS = CryptoJS || (function (Math, undefined) { + /* + * Local polyfil of Object.create + */ + var create = Object.create || (function () { + function F() {}; + + return function (obj) { + var subtype; + + F.prototype = obj; + + subtype = new F(); + + F.prototype = null; + + return subtype; + }; + }()) + + /** + * CryptoJS namespace. + */ + var C = {}; + + /** + * Library namespace. + */ + var C_lib = C.lib = {}; + + /** + * Base object for prototypal inheritance. + */ + var Base = C_lib.Base = (function () { + + + return { + /** + * Creates a new object that inherits from this object. + * + * @param {Object} overrides Properties to copy into the new object. + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * field: 'value', + * + * method: function () { + * } + * }); + */ + extend: function (overrides) { + // Spawn + var subtype = create(this); + + // Augment + if (overrides) { + subtype.mixIn(overrides); + } + + // Create default initializer + if (!subtype.hasOwnProperty('init') || this.init === subtype.init) { + subtype.init = function () { + subtype.$super.init.apply(this, arguments); + }; + } + + // Initializer's prototype is the subtype object + subtype.init.prototype = subtype; + + // Reference supertype + subtype.$super = this; + + return subtype; + }, + + /** + * Extends this object and runs the init method. + * Arguments to create() will be passed to init(). + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var instance = MyType.create(); + */ + create: function () { + var instance = this.extend(); + instance.init.apply(instance, arguments); + + return instance; + }, + + /** + * Initializes a newly created object. + * Override this method to add some logic when your objects are created. + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * init: function () { + * // ... + * } + * }); + */ + init: function () { + }, + + /** + * Copies properties into this object. + * + * @param {Object} properties The properties to mix in. + * + * @example + * + * MyType.mixIn({ + * field: 'value' + * }); + */ + mixIn: function (properties) { + for (var propertyName in properties) { + if (properties.hasOwnProperty(propertyName)) { + this[propertyName] = properties[propertyName]; + } + } + + // IE won't copy toString using the loop above + if (properties.hasOwnProperty('toString')) { + this.toString = properties.toString; + } + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = instance.clone(); + */ + clone: function () { + return this.init.prototype.extend(this); + } + }; + }()); + + /** + * An array of 32-bit words. + * + * @property {Array} words The array of 32-bit words. + * @property {number} sigBytes The number of significant bytes in this word array. + */ + var WordArray = C_lib.WordArray = Base.extend({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of 32-bit words. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.create(); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6); + */ + init: function (words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 4; + } + }, + + /** + * Converts this word array to a string. + * + * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex + * + * @return {string} The stringified word array. + * + * @example + * + * var string = wordArray + ''; + * var string = wordArray.toString(); + * var string = wordArray.toString(CryptoJS.enc.Utf8); + */ + toString: function (encoder) { + return (encoder || Hex).stringify(this); + }, + + /** + * Concatenates a word array to this word array. + * + * @param {WordArray} wordArray The word array to append. + * + * @return {WordArray} This word array. + * + * @example + * + * wordArray1.concat(wordArray2); + */ + concat: function (wordArray) { + // Shortcuts + var thisWords = this.words; + var thatWords = wordArray.words; + var thisSigBytes = this.sigBytes; + var thatSigBytes = wordArray.sigBytes; + + // Clamp excess bits + this.clamp(); + + // Concat + if (thisSigBytes % 4) { + // Copy one byte at a time + for (var i = 0; i < thatSigBytes; i++) { + var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8); + } + } else { + // Copy one word at a time + for (var i = 0; i < thatSigBytes; i += 4) { + thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2]; + } + } + this.sigBytes += thatSigBytes; + + // Chainable + return this; + }, + + /** + * Removes insignificant bits. + * + * @example + * + * wordArray.clamp(); + */ + clamp: function () { + // Shortcuts + var words = this.words; + var sigBytes = this.sigBytes; + + // Clamp + words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8); + words.length = Math.ceil(sigBytes / 4); + }, + + /** + * Creates a copy of this word array. + * + * @return {WordArray} The clone. + * + * @example + * + * var clone = wordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone.words = this.words.slice(0); + + return clone; + }, + + /** + * Creates a word array filled with random bytes. + * + * @param {number} nBytes The number of random bytes to generate. + * + * @return {WordArray} The random word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.random(16); + */ + random: function (nBytes) { + var words = []; + + var r = (function (m_w) { + var m_w = m_w; + var m_z = 0x3ade68b1; + var mask = 0xffffffff; + + return function () { + m_z = (0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10)) & mask; + m_w = (0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10)) & mask; + var result = ((m_z << 0x10) + m_w) & mask; + result /= 0x100000000; + result += 0.5; + return result * (Math.random() > .5 ? 1 : -1); + } + }); + + for (var i = 0, rcache; i < nBytes; i += 4) { + var _r = r((rcache || Math.random()) * 0x100000000); + + rcache = _r() * 0x3ade67b7; + words.push((_r() * 0x100000000) | 0); + } + + return new WordArray.init(words, nBytes); + } + }); + + /** + * Encoder namespace. + */ + var C_enc = C.enc = {}; + + /** + * Hex encoding strategy. + */ + var Hex = C_enc.Hex = { + /** + * Converts a word array to a hex string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The hex string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.enc.Hex.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var hexChars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + hexChars.push((bite >>> 4).toString(16)); + hexChars.push((bite & 0x0f).toString(16)); + } + + return hexChars.join(''); + }, + + /** + * Converts a hex string to a word array. + * + * @param {string} hexStr The hex string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Hex.parse(hexString); + */ + parse: function (hexStr) { + // Shortcut + var hexStrLength = hexStr.length; + + // Convert + var words = []; + for (var i = 0; i < hexStrLength; i += 2) { + words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4); + } + + return new WordArray.init(words, hexStrLength / 2); + } + }; + + /** + * Latin1 encoding strategy. + */ + var Latin1 = C_enc.Latin1 = { + /** + * Converts a word array to a Latin1 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Latin1 string. + * + * @static + * + * @example + * + * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var latin1Chars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + latin1Chars.push(String.fromCharCode(bite)); + } + + return latin1Chars.join(''); + }, + + /** + * Converts a Latin1 string to a word array. + * + * @param {string} latin1Str The Latin1 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); + */ + parse: function (latin1Str) { + // Shortcut + var latin1StrLength = latin1Str.length; + + // Convert + var words = []; + for (var i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8); + } + + return new WordArray.init(words, latin1StrLength); + } + }; + + /** + * UTF-8 encoding strategy. + */ + var Utf8 = C_enc.Utf8 = { + /** + * Converts a word array to a UTF-8 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-8 string. + * + * @static + * + * @example + * + * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); + */ + stringify: function (wordArray) { + try { + return decodeURIComponent(escape(Latin1.stringify(wordArray))); + } catch (e) { + throw new Error('Malformed UTF-8 data'); + } + }, + + /** + * Converts a UTF-8 string to a word array. + * + * @param {string} utf8Str The UTF-8 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); + */ + parse: function (utf8Str) { + return Latin1.parse(unescape(encodeURIComponent(utf8Str))); + } + }; + + /** + * Abstract buffered block algorithm template. + * + * The property blockSize must be implemented in a concrete subtype. + * + * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0 + */ + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({ + /** + * Resets this block algorithm's data buffer to its initial state. + * + * @example + * + * bufferedBlockAlgorithm.reset(); + */ + reset: function () { + // Initial values + this._data = new WordArray.init(); + this._nDataBytes = 0; + }, + + /** + * Adds new data to this block algorithm's buffer. + * + * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8. + * + * @example + * + * bufferedBlockAlgorithm._append('data'); + * bufferedBlockAlgorithm._append(wordArray); + */ + _append: function (data) { + // Convert string to WordArray, else assume WordArray already + if (typeof data == 'string') { + data = Utf8.parse(data); + } + + // Append + this._data.concat(data); + this._nDataBytes += data.sigBytes; + }, + + /** + * Processes available data blocks. + * + * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype. + * + * @param {boolean} doFlush Whether all blocks and partial blocks should be processed. + * + * @return {WordArray} The processed data. + * + * @example + * + * var processedData = bufferedBlockAlgorithm._process(); + * var processedData = bufferedBlockAlgorithm._process(!!'flush'); + */ + _process: function (doFlush) { + // Shortcuts + var data = this._data; + var dataWords = data.words; + var dataSigBytes = data.sigBytes; + var blockSize = this.blockSize; + var blockSizeBytes = blockSize * 4; + + // Count blocks ready + var nBlocksReady = dataSigBytes / blockSizeBytes; + if (doFlush) { + // Round up to include partial blocks + nBlocksReady = Math.ceil(nBlocksReady); + } else { + // Round down to include only full blocks, + // less the number of blocks that must remain in the buffer + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + + // Count words ready + var nWordsReady = nBlocksReady * blockSize; + + // Count bytes ready + var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); + + // Process blocks + if (nWordsReady) { + for (var offset = 0; offset < nWordsReady; offset += blockSize) { + // Perform concrete-algorithm logic + this._doProcessBlock(dataWords, offset); + } + + // Remove processed words + var processedWords = dataWords.splice(0, nWordsReady); + data.sigBytes -= nBytesReady; + } + + // Return processed words + return new WordArray.init(processedWords, nBytesReady); + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = bufferedBlockAlgorithm.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone._data = this._data.clone(); + + return clone; + }, + + _minBufferSize: 0 + }); + + /** + * Abstract hasher template. + * + * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits) + */ + var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + */ + cfg: Base.extend(), + + /** + * Initializes a newly created hasher. + * + * @param {Object} cfg (Optional) The configuration options to use for this hash computation. + * + * @example + * + * var hasher = CryptoJS.algo.SHA256.create(); + */ + init: function (cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Set initial values + this.reset(); + }, + + /** + * Resets this hasher to its initial state. + * + * @example + * + * hasher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-hasher logic + this._doReset(); + }, + + /** + * Updates this hasher with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {Hasher} This hasher. + * + * @example + * + * hasher.update('message'); + * hasher.update(wordArray); + */ + update: function (messageUpdate) { + // Append + this._append(messageUpdate); + + // Update the hash + this._process(); + + // Chainable + return this; + }, + + /** + * Finalizes the hash computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The hash. + * + * @example + * + * var hash = hasher.finalize(); + * var hash = hasher.finalize('message'); + * var hash = hasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Final message update + if (messageUpdate) { + this._append(messageUpdate); + } + + // Perform concrete-hasher logic + var hash = this._doFinalize(); + + return hash; + }, + + blockSize: 512/32, + + /** + * Creates a shortcut function to a hasher's object interface. + * + * @param {Hasher} hasher The hasher to create a helper for. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); + */ + _createHelper: function (hasher) { + return function (message, cfg) { + return new hasher.init(cfg).finalize(message); + }; + }, + + /** + * Creates a shortcut function to the HMAC's object interface. + * + * @param {Hasher} hasher The hasher to use in this HMAC helper. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); + */ + _createHmacHelper: function (hasher) { + return function (message, key) { + return new C_algo.HMAC.init(hasher, key).finalize(message); + }; + } + }); + + /** + * Algorithm namespace. + */ + var C_algo = C.algo = {}; + + return C; + }(Math)); + + + return CryptoJS; + +})); + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +;(function (root, factory) { + if (true) { + // CommonJS + module.exports = exports = factory(__webpack_require__(0)); + } + else if (typeof define === "function" && define.amd) { + // AMD + define(["./core"], factory); + } + else { + // Global (browser) + factory(root.CryptoJS); + } +}(this, function (CryptoJS) { + + /** + * Cipher core components. + */ + CryptoJS.lib.Cipher || (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm; + var C_enc = C.enc; + var Utf8 = C_enc.Utf8; + var Base64 = C_enc.Base64; + var C_algo = C.algo; + var EvpKDF = C_algo.EvpKDF; + + /** + * Abstract base cipher template. + * + * @property {number} keySize This cipher's key size. Default: 4 (128 bits) + * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits) + * @property {number} _ENC_XFORM_MODE A constant representing encryption mode. + * @property {number} _DEC_XFORM_MODE A constant representing decryption mode. + */ + var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + * + * @property {WordArray} iv The IV to use for this operation. + */ + cfg: Base.extend(), + + /** + * Creates this cipher in encryption mode. + * + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {Cipher} A cipher instance. + * + * @static + * + * @example + * + * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray }); + */ + createEncryptor: function (key, cfg) { + return this.create(this._ENC_XFORM_MODE, key, cfg); + }, + + /** + * Creates this cipher in decryption mode. + * + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {Cipher} A cipher instance. + * + * @static + * + * @example + * + * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray }); + */ + createDecryptor: function (key, cfg) { + return this.create(this._DEC_XFORM_MODE, key, cfg); + }, + + /** + * Initializes a newly created cipher. + * + * @param {number} xformMode Either the encryption or decryption transormation mode constant. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @example + * + * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray }); + */ + init: function (xformMode, key, cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Store transform mode and key + this._xformMode = xformMode; + this._key = key; + + // Set initial values + this.reset(); + }, + + /** + * Resets this cipher to its initial state. + * + * @example + * + * cipher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-cipher logic + this._doReset(); + }, + + /** + * Adds data to be encrypted or decrypted. + * + * @param {WordArray|string} dataUpdate The data to encrypt or decrypt. + * + * @return {WordArray} The data after processing. + * + * @example + * + * var encrypted = cipher.process('data'); + * var encrypted = cipher.process(wordArray); + */ + process: function (dataUpdate) { + // Append + this._append(dataUpdate); + + // Process available blocks + return this._process(); + }, + + /** + * Finalizes the encryption or decryption process. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt. + * + * @return {WordArray} The data after final processing. + * + * @example + * + * var encrypted = cipher.finalize(); + * var encrypted = cipher.finalize('data'); + * var encrypted = cipher.finalize(wordArray); + */ + finalize: function (dataUpdate) { + // Final data update + if (dataUpdate) { + this._append(dataUpdate); + } + + // Perform concrete-cipher logic + var finalProcessedData = this._doFinalize(); + + return finalProcessedData; + }, + + keySize: 128/32, + + ivSize: 128/32, + + _ENC_XFORM_MODE: 1, + + _DEC_XFORM_MODE: 2, + + /** + * Creates shortcut functions to a cipher's object interface. + * + * @param {Cipher} cipher The cipher to create a helper for. + * + * @return {Object} An object with encrypt and decrypt shortcut functions. + * + * @static + * + * @example + * + * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES); + */ + _createHelper: (function () { + function selectCipherStrategy(key) { + if (typeof key == 'string') { + return PasswordBasedCipher; + } else { + return SerializableCipher; + } + } + + return function (cipher) { + return { + encrypt: function (message, key, cfg) { + return selectCipherStrategy(key).encrypt(cipher, message, key, cfg); + }, + + decrypt: function (ciphertext, key, cfg) { + return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg); + } + }; + }; + }()) + }); + + /** + * Abstract base stream cipher template. + * + * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits) + */ + var StreamCipher = C_lib.StreamCipher = Cipher.extend({ + _doFinalize: function () { + // Process partial blocks + var finalProcessedBlocks = this._process(!!'flush'); + + return finalProcessedBlocks; + }, + + blockSize: 1 + }); + + /** + * Mode namespace. + */ + var C_mode = C.mode = {}; + + /** + * Abstract base block cipher mode template. + */ + var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({ + /** + * Creates this mode for encryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words); + */ + createEncryptor: function (cipher, iv) { + return this.Encryptor.create(cipher, iv); + }, + + /** + * Creates this mode for decryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words); + */ + createDecryptor: function (cipher, iv) { + return this.Decryptor.create(cipher, iv); + }, + + /** + * Initializes a newly created mode. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @example + * + * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words); + */ + init: function (cipher, iv) { + this._cipher = cipher; + this._iv = iv; + } + }); + + /** + * Cipher Block Chaining mode. + */ + var CBC = C_mode.CBC = (function () { + /** + * Abstract base CBC mode. + */ + var CBC = BlockCipherMode.extend(); + + /** + * CBC encryptor. + */ + CBC.Encryptor = CBC.extend({ + /** + * Processes the data block at offset. + * + * @param {Array} words The data words to operate on. + * @param {number} offset The offset where the block starts. + * + * @example + * + * mode.processBlock(data.words, offset); + */ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // XOR and encrypt + xorBlock.call(this, words, offset, blockSize); + cipher.encryptBlock(words, offset); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + /** + * CBC decryptor. + */ + CBC.Decryptor = CBC.extend({ + /** + * Processes the data block at offset. + * + * @param {Array} words The data words to operate on. + * @param {number} offset The offset where the block starts. + * + * @example + * + * mode.processBlock(data.words, offset); + */ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + // Decrypt and XOR + cipher.decryptBlock(words, offset); + xorBlock.call(this, words, offset, blockSize); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function xorBlock(words, offset, blockSize) { + // Shortcut + var iv = this._iv; + + // Choose mixing block + if (iv) { + var block = iv; + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + var block = this._prevBlock; + } + + // XOR blocks + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= block[i]; + } + } + + return CBC; + }()); + + /** + * Padding namespace. + */ + var C_pad = C.pad = {}; + + /** + * PKCS #5/7 padding strategy. + */ + var Pkcs7 = C_pad.Pkcs7 = { + /** + * Pads data using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to pad. + * @param {number} blockSize The multiple that the data should be padded to. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.pad(wordArray, 4); + */ + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Create padding word + var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes; + + // Create padding + var paddingWords = []; + for (var i = 0; i < nPaddingBytes; i += 4) { + paddingWords.push(paddingWord); + } + var padding = WordArray.create(paddingWords, nPaddingBytes); + + // Add padding + data.concat(padding); + }, + + /** + * Unpads data that had been padded using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to unpad. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.unpad(wordArray); + */ + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + /** + * Abstract base block cipher template. + * + * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits) + */ + var BlockCipher = C_lib.BlockCipher = Cipher.extend({ + /** + * Configuration options. + * + * @property {Mode} mode The block mode to use. Default: CBC + * @property {Padding} padding The padding strategy to use. Default: Pkcs7 + */ + cfg: Cipher.cfg.extend({ + mode: CBC, + padding: Pkcs7 + }), + + reset: function () { + // Reset cipher + Cipher.reset.call(this); + + // Shortcuts + var cfg = this.cfg; + var iv = cfg.iv; + var mode = cfg.mode; + + // Reset block mode + if (this._xformMode == this._ENC_XFORM_MODE) { + var modeCreator = mode.createEncryptor; + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + var modeCreator = mode.createDecryptor; + + // Keep at least one block in the buffer for unpadding + this._minBufferSize = 1; + } + this._mode = modeCreator.call(mode, this, iv && iv.words); + }, + + _doProcessBlock: function (words, offset) { + this._mode.processBlock(words, offset); + }, + + _doFinalize: function () { + // Shortcut + var padding = this.cfg.padding; + + // Finalize + if (this._xformMode == this._ENC_XFORM_MODE) { + // Pad data + padding.pad(this._data, this.blockSize); + + // Process final blocks + var finalProcessedBlocks = this._process(!!'flush'); + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + // Process final blocks + var finalProcessedBlocks = this._process(!!'flush'); + + // Unpad data + padding.unpad(finalProcessedBlocks); + } + + return finalProcessedBlocks; + }, + + blockSize: 128/32 + }); + + /** + * A collection of cipher parameters. + * + * @property {WordArray} ciphertext The raw ciphertext. + * @property {WordArray} key The key to this ciphertext. + * @property {WordArray} iv The IV used in the ciphering operation. + * @property {WordArray} salt The salt used with a key derivation function. + * @property {Cipher} algorithm The cipher algorithm. + * @property {Mode} mode The block mode used in the ciphering operation. + * @property {Padding} padding The padding scheme used in the ciphering operation. + * @property {number} blockSize The block size of the cipher. + * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string. + */ + var CipherParams = C_lib.CipherParams = Base.extend({ + /** + * Initializes a newly created cipher params object. + * + * @param {Object} cipherParams An object with any of the possible cipher parameters. + * + * @example + * + * var cipherParams = CryptoJS.lib.CipherParams.create({ + * ciphertext: ciphertextWordArray, + * key: keyWordArray, + * iv: ivWordArray, + * salt: saltWordArray, + * algorithm: CryptoJS.algo.AES, + * mode: CryptoJS.mode.CBC, + * padding: CryptoJS.pad.PKCS7, + * blockSize: 4, + * formatter: CryptoJS.format.OpenSSL + * }); + */ + init: function (cipherParams) { + this.mixIn(cipherParams); + }, + + /** + * Converts this cipher params object to a string. + * + * @param {Format} formatter (Optional) The formatting strategy to use. + * + * @return {string} The stringified cipher params. + * + * @throws Error If neither the formatter nor the default formatter is set. + * + * @example + * + * var string = cipherParams + ''; + * var string = cipherParams.toString(); + * var string = cipherParams.toString(CryptoJS.format.OpenSSL); + */ + toString: function (formatter) { + return (formatter || this.formatter).stringify(this); + } + }); + + /** + * Format namespace. + */ + var C_format = C.format = {}; + + /** + * OpenSSL formatting strategy. + */ + var OpenSSLFormatter = C_format.OpenSSL = { + /** + * Converts a cipher params object to an OpenSSL-compatible string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The OpenSSL-compatible string. + * + * @static + * + * @example + * + * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams); + */ + stringify: function (cipherParams) { + // Shortcuts + var ciphertext = cipherParams.ciphertext; + var salt = cipherParams.salt; + + // Format + if (salt) { + var wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext); + } else { + var wordArray = ciphertext; + } + + return wordArray.toString(Base64); + }, + + /** + * Converts an OpenSSL-compatible string to a cipher params object. + * + * @param {string} openSSLStr The OpenSSL-compatible string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString); + */ + parse: function (openSSLStr) { + // Parse base64 + var ciphertext = Base64.parse(openSSLStr); + + // Shortcut + var ciphertextWords = ciphertext.words; + + // Test for salt + if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) { + // Extract salt + var salt = WordArray.create(ciphertextWords.slice(2, 4)); + + // Remove salt from ciphertext + ciphertextWords.splice(0, 4); + ciphertext.sigBytes -= 16; + } + + return CipherParams.create({ ciphertext: ciphertext, salt: salt }); + } + }; + + /** + * A cipher wrapper that returns ciphertext as a serializable cipher params object. + */ + var SerializableCipher = C_lib.SerializableCipher = Base.extend({ + /** + * Configuration options. + * + * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL + */ + cfg: Base.extend({ + format: OpenSSLFormatter + }), + + /** + * Encrypts a message. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {WordArray|string} message The message to encrypt. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv }); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + encrypt: function (cipher, message, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Encrypt + var encryptor = cipher.createEncryptor(key, cfg); + var ciphertext = encryptor.finalize(message); + + // Shortcut + var cipherCfg = encryptor.cfg; + + // Create and return serializable cipher params + return CipherParams.create({ + ciphertext: ciphertext, + key: key, + iv: cipherCfg.iv, + algorithm: cipher, + mode: cipherCfg.mode, + padding: cipherCfg.padding, + blockSize: cipher.blockSize, + formatter: cfg.format + }); + }, + + /** + * Decrypts serialized ciphertext. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {CipherParams|string} ciphertext The ciphertext to decrypt. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {WordArray} The plaintext. + * + * @static + * + * @example + * + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + decrypt: function (cipher, ciphertext, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Decrypt + var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext); + + return plaintext; + }, + + /** + * Converts serialized ciphertext to CipherParams, + * else assumed CipherParams already and returns ciphertext unchanged. + * + * @param {CipherParams|string} ciphertext The ciphertext. + * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext. + * + * @return {CipherParams} The unserialized ciphertext. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format); + */ + _parse: function (ciphertext, format) { + if (typeof ciphertext == 'string') { + return format.parse(ciphertext, this); + } else { + return ciphertext; + } + } + }); + + /** + * Key derivation function namespace. + */ + var C_kdf = C.kdf = {}; + + /** + * OpenSSL key derivation function. + */ + var OpenSSLKdf = C_kdf.OpenSSL = { + /** + * Derives a key and IV from a password. + * + * @param {string} password The password to derive from. + * @param {number} keySize The size in words of the key to generate. + * @param {number} ivSize The size in words of the IV to generate. + * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly. + * + * @return {CipherParams} A cipher params object with the key, IV, and salt. + * + * @static + * + * @example + * + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32); + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt'); + */ + execute: function (password, keySize, ivSize, salt) { + // Generate random salt + if (!salt) { + salt = WordArray.random(64/8); + } + + // Derive key and IV + var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt); + + // Separate key and IV + var iv = WordArray.create(key.words.slice(keySize), ivSize * 4); + key.sigBytes = keySize * 4; + + // Return params + return CipherParams.create({ key: key, iv: iv, salt: salt }); + } + }; + + /** + * A serializable cipher wrapper that derives the key from a password, + * and returns ciphertext as a serializable cipher params object. + */ + var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({ + /** + * Configuration options. + * + * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL + */ + cfg: SerializableCipher.cfg.extend({ + kdf: OpenSSLKdf + }), + + /** + * Encrypts a message using a password. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {WordArray|string} message The message to encrypt. + * @param {string} password The password. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password'); + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL }); + */ + encrypt: function (cipher, message, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Encrypt + var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg); + + // Mix in derived params + ciphertext.mixIn(derivedParams); + + return ciphertext; + }, + + /** + * Decrypts serialized ciphertext using a password. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {CipherParams|string} ciphertext The ciphertext to decrypt. + * @param {string} password The password. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {WordArray} The plaintext. + * + * @static + * + * @example + * + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL }); + */ + decrypt: function (cipher, ciphertext, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Decrypt + var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg); + + return plaintext; + } + }); + }()); + + +})); + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +/* + This file is part of web3.js. + + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + web3.js is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** + * @file utils.js + * @author Marek Kotewicz + * @date 2015 + */ + +/** + * Utils + * + * @module utils + */ + +/** + * Utility functions + * + * @class [utils] utils + * @constructor + */ + + +var BigNumber = __webpack_require__(29); +var sha3 = __webpack_require__(23); +var utf8 = __webpack_require__(138); + +var unitMap = { + 'noether': '0', + 'wei': '1', + 'kwei': '1000', + 'Kwei': '1000', + 'babbage': '1000', + 'femtoether': '1000', + 'mwei': '1000000', + 'Mwei': '1000000', + 'lovelace': '1000000', + 'picoether': '1000000', + 'gwei': '1000000000', + 'Gwei': '1000000000', + 'shannon': '1000000000', + 'nanoether': '1000000000', + 'nano': '1000000000', + 'szabo': '1000000000000', + 'microether': '1000000000000', + 'micro': '1000000000000', + 'finney': '1000000000000000', + 'milliether': '1000000000000000', + 'milli': '1000000000000000', + 'ether': '1000000000000000000', + 'kether': '1000000000000000000000', + 'grand': '1000000000000000000000', + 'mether': '1000000000000000000000000', + 'gether': '1000000000000000000000000000', + 'tether': '1000000000000000000000000000000' +}; + +/** + * Should be called to pad string to expected length + * + * @method padLeft + * @param {String} string to be padded + * @param {Number} characters that result string should have + * @param {String} sign, by default 0 + * @returns {String} right aligned string + */ +var padLeft = function (string, chars, sign) { + return new Array(chars - string.length + 1).join(sign ? sign : "0") + string; +}; + +/** + * Should be called to pad string to expected length + * + * @method padRight + * @param {String} string to be padded + * @param {Number} characters that result string should have + * @param {String} sign, by default 0 + * @returns {String} right aligned string + */ +var padRight = function (string, chars, sign) { + return string + (new Array(chars - string.length + 1).join(sign ? sign : "0")); +}; + +/** + * Should be called to get utf8 from it's hex representation + * + * @method toUtf8 + * @param {String} string in hex + * @returns {String} ascii string representation of hex value + */ +var toUtf8 = function(hex) { +// Find termination + var str = ""; + var i = 0, l = hex.length; + if (hex.substring(0, 2) === '0x') { + i = 2; + } + for (; i < l; i+=2) { + var code = parseInt(hex.substr(i, 2), 16); + if (code === 0) + break; + str += String.fromCharCode(code); + } + + return utf8.decode(str); +}; + +/** + * Should be called to get ascii from it's hex representation + * + * @method toAscii + * @param {String} string in hex + * @returns {String} ascii string representation of hex value + */ +var toAscii = function(hex) { +// Find termination + var str = ""; + var i = 0, l = hex.length; + if (hex.substring(0, 2) === '0x') { + i = 2; + } + for (; i < l; i+=2) { + var code = parseInt(hex.substr(i, 2), 16); + str += String.fromCharCode(code); + } + + return str; +}; + +/** + * Should be called to get hex representation (prefixed by 0x) of utf8 string + * + * @method fromUtf8 + * @param {String} string + * @param {Number} optional padding + * @returns {String} hex representation of input string + */ +var fromUtf8 = function(str) { + str = utf8.encode(str); + var hex = ""; + for(var i = 0; i < str.length; i++) { + var code = str.charCodeAt(i); + if (code === 0) + break; + var n = code.toString(16); + hex += n.length < 2 ? '0' + n : n; + } + + return "0x" + hex; +}; + +/** + * Should be called to get hex representation (prefixed by 0x) of ascii string + * + * @method fromAscii + * @param {String} string + * @param {Number} optional padding + * @returns {String} hex representation of input string + */ +var fromAscii = function(str) { + var hex = ""; + for(var i = 0; i < str.length; i++) { + var code = str.charCodeAt(i); + var n = code.toString(16); + hex += n.length < 2 ? '0' + n : n; + } + + return "0x" + hex; +}; + +/** + * Should be used to create full function/event name from json abi + * + * @method transformToFullName + * @param {Object} json-abi + * @return {String} full fnction/event name + */ +var transformToFullName = function (json) { + if (json.name.indexOf('(') !== -1) { + return json.name; + } + + var typeName = json.inputs.map(function(i){return i.type; }).join(); + return json.name + '(' + typeName + ')'; +}; + +/** + * Should be called to get display name of contract function + * + * @method extractDisplayName + * @param {String} name of function/event + * @returns {String} display name for function/event eg. multiply(uint256) -> multiply + */ +var extractDisplayName = function (name) { + var length = name.indexOf('('); + return length !== -1 ? name.substr(0, length) : name; +}; + +/// @returns overloaded part of function/event name +var extractTypeName = function (name) { + /// TODO: make it invulnerable + var length = name.indexOf('('); + return length !== -1 ? name.substr(length + 1, name.length - 1 - (length + 1)).replace(' ', '') : ""; +}; + +/** + * Converts value to it's decimal representation in string + * + * @method toDecimal + * @param {String|Number|BigNumber} + * @return {String} + */ +var toDecimal = function (value) { + return toBigNumber(value).toNumber(); +}; + +/** + * Converts value to it's hex representation + * + * @method fromDecimal + * @param {String|Number|BigNumber} + * @return {String} + */ +var fromDecimal = function (value) { + var number = toBigNumber(value); + var result = number.toString(16); + + return number.lessThan(0) ? '-0x' + result.substr(1) : '0x' + result; +}; + +/** + * Auto converts any given value into it's hex representation. + * + * And even stringifys objects before. + * + * @method toHex + * @param {String|Number|BigNumber|Object} + * @return {String} + */ +var toHex = function (val) { + /*jshint maxcomplexity: 8 */ + + if (isBoolean(val)) + return fromDecimal(+val); + + if (isBigNumber(val)) + return fromDecimal(val); + + if (isObject(val)) + return fromUtf8(JSON.stringify(val)); + + // if its a negative number, pass it through fromDecimal + if (isString(val)) { + if (val.indexOf('-0x') === 0) + return fromDecimal(val); + else if(val.indexOf('0x') === 0) + return val; + else if (!isFinite(val)) + return fromAscii(val); + } + + return fromDecimal(val); +}; + +/** + * Returns value of unit in Wei + * + * @method getValueOfUnit + * @param {String} unit the unit to convert to, default ether + * @returns {BigNumber} value of the unit (in Wei) + * @throws error if the unit is not correct:w + */ +var getValueOfUnit = function (unit) { + unit = unit ? unit.toLowerCase() : 'ether'; + var unitValue = unitMap[unit]; + if (unitValue === undefined) { + throw new Error('This unit doesn\'t exists, please use the one of the following units' + JSON.stringify(unitMap, null, 2)); + } + return new BigNumber(unitValue, 10); +}; + +/** + * Takes a number of wei and converts it to any other ether unit. + * + * Possible units are: + * SI Short SI Full Effigy Other + * - kwei femtoether babbage + * - mwei picoether lovelace + * - gwei nanoether shannon nano + * - -- microether szabo micro + * - -- milliether finney milli + * - ether -- -- + * - kether -- grand + * - mether + * - gether + * - tether + * + * @method fromWei + * @param {Number|String} number can be a number, number string or a HEX of a decimal + * @param {String} unit the unit to convert to, default ether + * @return {String|Object} When given a BigNumber object it returns one as well, otherwise a number +*/ +var fromWei = function(number, unit) { + var returnValue = toBigNumber(number).dividedBy(getValueOfUnit(unit)); + + return isBigNumber(number) ? returnValue : returnValue.toString(10); +}; + +/** + * Takes a number of a unit and converts it to wei. + * + * Possible units are: + * SI Short SI Full Effigy Other + * - kwei femtoether babbage + * - mwei picoether lovelace + * - gwei nanoether shannon nano + * - -- microether szabo micro + * - -- microether szabo micro + * - -- milliether finney milli + * - ether -- -- + * - kether -- grand + * - mether + * - gether + * - tether + * + * @method toWei + * @param {Number|String|BigNumber} number can be a number, number string or a HEX of a decimal + * @param {String} unit the unit to convert from, default ether + * @return {String|Object} When given a BigNumber object it returns one as well, otherwise a number +*/ +var toWei = function(number, unit) { + var returnValue = toBigNumber(number).times(getValueOfUnit(unit)); + + return isBigNumber(number) ? returnValue : returnValue.toString(10); +}; + +/** + * Takes an input and transforms it into an bignumber + * + * @method toBigNumber + * @param {Number|String|BigNumber} a number, string, HEX string or BigNumber + * @return {BigNumber} BigNumber +*/ +var toBigNumber = function(number) { + /*jshint maxcomplexity:5 */ + number = number || 0; + if (isBigNumber(number)) + return number; + + if (isString(number) && (number.indexOf('0x') === 0 || number.indexOf('-0x') === 0)) { + return new BigNumber(number.replace('0x',''), 16); + } + + return new BigNumber(number.toString(10), 10); +}; + +/** + * Takes and input transforms it into bignumber and if it is negative value, into two's complement + * + * @method toTwosComplement + * @param {Number|String|BigNumber} + * @return {BigNumber} + */ +var toTwosComplement = function (number) { + var bigNumber = toBigNumber(number); + if (bigNumber.lessThan(0)) { + return new BigNumber("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 16).plus(bigNumber).plus(1); + } + return bigNumber; +}; + +/** + * Checks if the given string is strictly an address + * + * @method isStrictAddress + * @param {String} address the given HEX adress + * @return {Boolean} +*/ +var isStrictAddress = function (address) { + return /^0x[0-9a-f]{40}$/i.test(address); +}; + +/** + * Checks if the given string is an address + * + * @method isAddress + * @param {String} address the given HEX adress + * @return {Boolean} +*/ +var isAddress = function (address) { + if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) { + // check if it has the basic requirements of an address + return false; + } else if (/^(0x)?[0-9a-f]{40}$/.test(address) || /^(0x)?[0-9A-F]{40}$/.test(address)) { + // If it's all small caps or all all caps, return true + return true; + } else { + // Otherwise check each case + return isChecksumAddress(address); + } +}; + + + +/** + * Checks if the given string is a checksummed address + * + * @method isChecksumAddress + * @param {String} address the given HEX adress + * @return {Boolean} +*/ +var isChecksumAddress = function (address) { + // Check each case + address = address.replace('0x',''); + var addressHash = sha3(address.toLowerCase()); + + for (var i = 0; i < 40; i++ ) { + // the nth letter should be uppercase if the nth digit of casemap is 1 + if ((parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i]) || (parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i])) { + return false; + } + } + return true; +}; + + + +/** + * Makes a checksum address + * + * @method toChecksumAddress + * @param {String} address the given HEX adress + * @return {String} +*/ +var toChecksumAddress = function (address) { + if (typeof address === 'undefined') return ''; + + address = address.toLowerCase().replace('0x',''); + var addressHash = sha3(address); + var checksumAddress = '0x'; + + for (var i = 0; i < address.length; i++ ) { + // If ith character is 9 to f then make it uppercase + if (parseInt(addressHash[i], 16) > 7) { + checksumAddress += address[i].toUpperCase(); + } else { + checksumAddress += address[i]; + } + } + return checksumAddress; +}; + +/** + * Transforms given string to valid 20 bytes-length addres with 0x prefix + * + * @method toAddress + * @param {String} address + * @return {String} formatted address + */ +var toAddress = function (address) { + if (isStrictAddress(address)) { + return address; + } + + if (/^[0-9a-f]{40}$/.test(address)) { + return '0x' + address; + } + + return '0x' + padLeft(toHex(address).substr(2), 40); +}; + +/** + * Returns true if object is BigNumber, otherwise false + * + * @method isBigNumber + * @param {Object} + * @return {Boolean} + */ +var isBigNumber = function (object) { + return object instanceof BigNumber || + (object && object.constructor && object.constructor.name === 'BigNumber'); +}; + +/** + * Returns true if object is string, otherwise false + * + * @method isString + * @param {Object} + * @return {Boolean} + */ +var isString = function (object) { + return typeof object === 'string' || + (object && object.constructor && object.constructor.name === 'String'); +}; + +/** + * Returns true if object is function, otherwise false + * + * @method isFunction + * @param {Object} + * @return {Boolean} + */ +var isFunction = function (object) { + return typeof object === 'function'; +}; + +/** + * Returns true if object is Objet, otherwise false + * + * @method isObject + * @param {Object} + * @return {Boolean} + */ +var isObject = function (object) { + return typeof object === 'object'; +}; + +/** + * Returns true if object is boolean, otherwise false + * + * @method isBoolean + * @param {Object} + * @return {Boolean} + */ +var isBoolean = function (object) { + return typeof object === 'boolean'; +}; + +/** + * Returns true if object is array, otherwise false + * + * @method isArray + * @param {Object} + * @return {Boolean} + */ +var isArray = function (object) { + return object instanceof Array; +}; + +/** + * Returns true if given string is valid json object + * + * @method isJson + * @param {String} + * @return {Boolean} + */ +var isJson = function (str) { + try { + return !!JSON.parse(str); + } catch (e) { + return false; + } +}; + +module.exports = { + padLeft: padLeft, + padRight: padRight, + toHex: toHex, + toDecimal: toDecimal, + fromDecimal: fromDecimal, + toUtf8: toUtf8, + toAscii: toAscii, + fromUtf8: fromUtf8, + fromAscii: fromAscii, + transformToFullName: transformToFullName, + extractDisplayName: extractDisplayName, + extractTypeName: extractTypeName, + toWei: toWei, + fromWei: fromWei, + toBigNumber: toBigNumber, + toTwosComplement: toTwosComplement, + toAddress: toAddress, + isBigNumber: isBigNumber, + isStrictAddress: isStrictAddress, + isAddress: isAddress, + isChecksumAddress: isChecksumAddress, + toChecksumAddress: toChecksumAddress, + isFunction: isFunction, + isString: isString, + isObject: isObject, + isBoolean: isBoolean, + isArray: isArray, + isJson: isJson +}; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +/* + This file is part of web3.js. + + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + web3.js is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** + * @file utils.js + * @author Marek Kotewicz + * @date 2015 + */ + +/** + * Utils + * + * @module utils + */ + +/** + * Utility functions + * + * @class [utils] utils + * @constructor + */ + + +var BigNumber = __webpack_require__(20); +var sha3 = __webpack_require__(26); +var utf8 = __webpack_require__(206); + +var unitMap = { + 'noether': '0', + 'wei': '1', + 'kwei': '1000', + 'Kwei': '1000', + 'babbage': '1000', + 'femtoether': '1000', + 'mwei': '1000000', + 'Mwei': '1000000', + 'lovelace': '1000000', + 'picoether': '1000000', + 'gwei': '1000000000', + 'Gwei': '1000000000', + 'shannon': '1000000000', + 'nanoether': '1000000000', + 'nano': '1000000000', + 'szabo': '1000000000000', + 'microether': '1000000000000', + 'micro': '1000000000000', + 'finney': '1000000000000000', + 'milliether': '1000000000000000', + 'milli': '1000000000000000', + 'ether': '1000000000000000000', + 'kether': '1000000000000000000000', + 'grand': '1000000000000000000000', + 'mether': '1000000000000000000000000', + 'gether': '1000000000000000000000000000', + 'tether': '1000000000000000000000000000000' +}; + +/** + * Should be called to pad string to expected length + * + * @method padLeft + * @param {String} string to be padded + * @param {Number} characters that result string should have + * @param {String} sign, by default 0 + * @returns {String} right aligned string + */ +var padLeft = function (string, chars, sign) { + return new Array(chars - string.length + 1).join(sign ? sign : "0") + string; +}; + +/** + * Should be called to pad string to expected length + * + * @method padRight + * @param {String} string to be padded + * @param {Number} characters that result string should have + * @param {String} sign, by default 0 + * @returns {String} right aligned string + */ +var padRight = function (string, chars, sign) { + return string + (new Array(chars - string.length + 1).join(sign ? sign : "0")); +}; + +/** + * Should be called to get utf8 from it's hex representation + * + * @method toUtf8 + * @param {String} string in hex + * @returns {String} ascii string representation of hex value + */ +var toUtf8 = function(hex) { +// Find termination + var str = ""; + var i = 0, l = hex.length; + if (hex.substring(0, 2) === '0x') { + i = 2; + } + for (; i < l; i+=2) { + var code = parseInt(hex.substr(i, 2), 16); + if (code === 0) + break; + str += String.fromCharCode(code); + } + + return utf8.decode(str); +}; + +/** + * Should be called to get ascii from it's hex representation + * + * @method toAscii + * @param {String} string in hex + * @returns {String} ascii string representation of hex value + */ +var toAscii = function(hex) { +// Find termination + var str = ""; + var i = 0, l = hex.length; + if (hex.substring(0, 2) === '0x') { + i = 2; + } + for (; i < l; i+=2) { + var code = parseInt(hex.substr(i, 2), 16); + str += String.fromCharCode(code); + } + + return str; +}; + +/** + * Should be called to get hex representation (prefixed by 0x) of utf8 string + * + * @method fromUtf8 + * @param {String} string + * @param {Number} optional padding + * @returns {String} hex representation of input string + */ +var fromUtf8 = function(str) { + str = utf8.encode(str); + var hex = ""; + for(var i = 0; i < str.length; i++) { + var code = str.charCodeAt(i); + if (code === 0) + break; + var n = code.toString(16); + hex += n.length < 2 ? '0' + n : n; + } + + return "0x" + hex; +}; + +/** + * Should be called to get hex representation (prefixed by 0x) of ascii string + * + * @method fromAscii + * @param {String} string + * @param {Number} optional padding + * @returns {String} hex representation of input string + */ +var fromAscii = function(str) { + var hex = ""; + for(var i = 0; i < str.length; i++) { + var code = str.charCodeAt(i); + var n = code.toString(16); + hex += n.length < 2 ? '0' + n : n; + } + + return "0x" + hex; +}; + +/** + * Should be used to create full function/event name from json abi + * + * @method transformToFullName + * @param {Object} json-abi + * @return {String} full fnction/event name + */ +var transformToFullName = function (json) { + if (json.name.indexOf('(') !== -1) { + return json.name; + } + + var typeName = json.inputs.map(function(i){return i.type; }).join(); + return json.name + '(' + typeName + ')'; +}; + +/** + * Should be called to get display name of contract function + * + * @method extractDisplayName + * @param {String} name of function/event + * @returns {String} display name for function/event eg. multiply(uint256) -> multiply + */ +var extractDisplayName = function (name) { + var length = name.indexOf('('); + return length !== -1 ? name.substr(0, length) : name; +}; + +/// @returns overloaded part of function/event name +var extractTypeName = function (name) { + /// TODO: make it invulnerable + var length = name.indexOf('('); + return length !== -1 ? name.substr(length + 1, name.length - 1 - (length + 1)).replace(' ', '') : ""; +}; + +/** + * Converts value to it's decimal representation in string + * + * @method toDecimal + * @param {String|Number|BigNumber} + * @return {String} + */ +var toDecimal = function (value) { + return toBigNumber(value).toNumber(); +}; + +/** + * Converts value to it's hex representation + * + * @method fromDecimal + * @param {String|Number|BigNumber} + * @return {String} + */ +var fromDecimal = function (value) { + var number = toBigNumber(value); + var result = number.toString(16); + + return number.lessThan(0) ? '-0x' + result.substr(1) : '0x' + result; +}; + +/** + * Auto converts any given value into it's hex representation. + * + * And even stringifys objects before. + * + * @method toHex + * @param {String|Number|BigNumber|Object} + * @return {String} + */ +var toHex = function (val) { + /*jshint maxcomplexity: 8 */ + + if (isBoolean(val)) + return fromDecimal(+val); + + if (isBigNumber(val)) + return fromDecimal(val); + + if (isObject(val)) + return fromUtf8(JSON.stringify(val)); + + // if its a negative number, pass it through fromDecimal + if (isString(val)) { + if (val.indexOf('-0x') === 0) + return fromDecimal(val); + else if(val.indexOf('0x') === 0) + return val; + else if (!isFinite(val)) + return fromAscii(val); + } + + return fromDecimal(val); +}; + +/** + * Returns value of unit in Wei + * + * @method getValueOfUnit + * @param {String} unit the unit to convert to, default ether + * @returns {BigNumber} value of the unit (in Wei) + * @throws error if the unit is not correct:w + */ +var getValueOfUnit = function (unit) { + unit = unit ? unit.toLowerCase() : 'ether'; + var unitValue = unitMap[unit]; + if (unitValue === undefined) { + throw new Error('This unit doesn\'t exists, please use the one of the following units' + JSON.stringify(unitMap, null, 2)); + } + return new BigNumber(unitValue, 10); +}; + +/** + * Takes a number of wei and converts it to any other ether unit. + * + * Possible units are: + * SI Short SI Full Effigy Other + * - kwei femtoether babbage + * - mwei picoether lovelace + * - gwei nanoether shannon nano + * - -- microether szabo micro + * - -- milliether finney milli + * - ether -- -- + * - kether -- grand + * - mether + * - gether + * - tether + * + * @method fromWei + * @param {Number|String} number can be a number, number string or a HEX of a decimal + * @param {String} unit the unit to convert to, default ether + * @return {String|Object} When given a BigNumber object it returns one as well, otherwise a number +*/ +var fromWei = function(number, unit) { + var returnValue = toBigNumber(number).dividedBy(getValueOfUnit(unit)); + + return isBigNumber(number) ? returnValue : returnValue.toString(10); +}; + +/** + * Takes a number of a unit and converts it to wei. + * + * Possible units are: + * SI Short SI Full Effigy Other + * - kwei femtoether babbage + * - mwei picoether lovelace + * - gwei nanoether shannon nano + * - -- microether szabo micro + * - -- microether szabo micro + * - -- milliether finney milli + * - ether -- -- + * - kether -- grand + * - mether + * - gether + * - tether + * + * @method toWei + * @param {Number|String|BigNumber} number can be a number, number string or a HEX of a decimal + * @param {String} unit the unit to convert from, default ether + * @return {String|Object} When given a BigNumber object it returns one as well, otherwise a number +*/ +var toWei = function(number, unit) { + var returnValue = toBigNumber(number).times(getValueOfUnit(unit)); + + return isBigNumber(number) ? returnValue : returnValue.toString(10); +}; + +/** + * Takes an input and transforms it into an bignumber + * + * @method toBigNumber + * @param {Number|String|BigNumber} a number, string, HEX string or BigNumber + * @return {BigNumber} BigNumber +*/ +var toBigNumber = function(number) { + /*jshint maxcomplexity:5 */ + number = number || 0; + if (isBigNumber(number)) + return number; + + if (isString(number) && (number.indexOf('0x') === 0 || number.indexOf('-0x') === 0)) { + return new BigNumber(number.replace('0x',''), 16); + } + + return new BigNumber(number.toString(10), 10); +}; + +/** + * Takes and input transforms it into bignumber and if it is negative value, into two's complement + * + * @method toTwosComplement + * @param {Number|String|BigNumber} + * @return {BigNumber} + */ +var toTwosComplement = function (number) { + var bigNumber = toBigNumber(number).round(); + if (bigNumber.lessThan(0)) { + return new BigNumber("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 16).plus(bigNumber).plus(1); + } + return bigNumber; +}; + +/** + * Checks if the given string is strictly an address + * + * @method isStrictAddress + * @param {String} address the given HEX adress + * @return {Boolean} +*/ +var isStrictAddress = function (address) { + return /^0x[0-9a-f]{40}$/i.test(address); +}; + +/** + * Checks if the given string is an address + * + * @method isAddress + * @param {String} address the given HEX adress + * @return {Boolean} +*/ +var isAddress = function (address) { + if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) { + // check if it has the basic requirements of an address + return false; + } else if (/^(0x)?[0-9a-f]{40}$/.test(address) || /^(0x)?[0-9A-F]{40}$/.test(address)) { + // If it's all small caps or all all caps, return true + return true; + } else { + // Otherwise check each case + return isChecksumAddress(address); + } +}; + +/** + * Checks if the given string is a checksummed address + * + * @method isChecksumAddress + * @param {String} address the given HEX adress + * @return {Boolean} +*/ +var isChecksumAddress = function (address) { + // Check each case + address = address.replace('0x',''); + var addressHash = sha3(address.toLowerCase()); + + for (var i = 0; i < 40; i++ ) { + // the nth letter should be uppercase if the nth digit of casemap is 1 + if ((parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i]) || (parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i])) { + return false; + } + } + return true; +}; + + + +/** + * Makes a checksum address + * + * @method toChecksumAddress + * @param {String} address the given HEX adress + * @return {String} +*/ +var toChecksumAddress = function (address) { + if (typeof address === 'undefined') return ''; + + address = address.toLowerCase().replace('0x',''); + var addressHash = sha3(address); + var checksumAddress = '0x'; + + for (var i = 0; i < address.length; i++ ) { + // If ith character is 9 to f then make it uppercase + if (parseInt(addressHash[i], 16) > 7) { + checksumAddress += address[i].toUpperCase(); + } else { + checksumAddress += address[i]; + } + } + return checksumAddress; +}; + +/** + * Transforms given string to valid 20 bytes-length addres with 0x prefix + * + * @method toAddress + * @param {String} address + * @return {String} formatted address + */ +var toAddress = function (address) { + if (isStrictAddress(address)) { + return address; + } + + if (/^[0-9a-f]{40}$/.test(address)) { + return '0x' + address; + } + + return '0x' + padLeft(toHex(address).substr(2), 40); +}; + +/** + * Returns true if object is BigNumber, otherwise false + * + * @method isBigNumber + * @param {Object} + * @return {Boolean} + */ +var isBigNumber = function (object) { + return object instanceof BigNumber || + (object && object.constructor && object.constructor.name === 'BigNumber'); +}; + +/** + * Returns true if object is string, otherwise false + * + * @method isString + * @param {Object} + * @return {Boolean} + */ +var isString = function (object) { + return typeof object === 'string' || + (object && object.constructor && object.constructor.name === 'String'); +}; + +/** + * Returns true if object is function, otherwise false + * + * @method isFunction + * @param {Object} + * @return {Boolean} + */ +var isFunction = function (object) { + return typeof object === 'function'; +}; + +/** + * Returns true if object is Objet, otherwise false + * + * @method isObject + * @param {Object} + * @return {Boolean} + */ +var isObject = function (object) { + return typeof object === 'object'; +}; + +/** + * Returns true if object is boolean, otherwise false + * + * @method isBoolean + * @param {Object} + * @return {Boolean} + */ +var isBoolean = function (object) { + return typeof object === 'boolean'; +}; + +/** + * Returns true if object is array, otherwise false + * + * @method isArray + * @param {Object} + * @return {Boolean} + */ +var isArray = function (object) { + return object instanceof Array; +}; + +/** + * Returns true if given string is valid json object + * + * @method isJson + * @param {String} + * @return {Boolean} + */ +var isJson = function (str) { + try { + return !!JSON.parse(str); + } catch (e) { + return false; + } +}; + +/** + * Returns true if given string is a valid Ethereum block header bloom. + * + * @method isBloom + * @param {String} hex encoded bloom filter + * @return {Boolean} + */ +var isBloom = function (bloom) { + if (!/^(0x)?[0-9a-f]{512}$/i.test(bloom)) { + return false; + } else if (/^(0x)?[0-9a-f]{512}$/.test(bloom) || /^(0x)?[0-9A-F]{512}$/.test(bloom)) { + return true; + } + return false; +}; + +/** + * Returns true if given string is a valid log topic. + * + * @method isTopic + * @param {String} hex encoded topic + * @return {Boolean} + */ +var isTopic = function (topic) { + if (!/^(0x)?[0-9a-f]{64}$/i.test(topic)) { + return false; + } else if (/^(0x)?[0-9a-f]{64}$/.test(topic) || /^(0x)?[0-9A-F]{64}$/.test(topic)) { + return true; + } + return false; +}; + +module.exports = { + padLeft: padLeft, + padRight: padRight, + toHex: toHex, + toDecimal: toDecimal, + fromDecimal: fromDecimal, + toUtf8: toUtf8, + toAscii: toAscii, + fromUtf8: fromUtf8, + fromAscii: fromAscii, + transformToFullName: transformToFullName, + extractDisplayName: extractDisplayName, + extractTypeName: extractTypeName, + toWei: toWei, + fromWei: fromWei, + toBigNumber: toBigNumber, + toTwosComplement: toTwosComplement, + toAddress: toAddress, + isBigNumber: isBigNumber, + isStrictAddress: isStrictAddress, + isAddress: isAddress, + isChecksumAddress: isChecksumAddress, + toChecksumAddress: toChecksumAddress, + isFunction: isFunction, + isString: isString, + isObject: isObject, + isBoolean: isBoolean, + isArray: isArray, + isJson: isJson, + isBloom: isBloom, + isTopic: isTopic, +}; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.test( selector ) ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( typeof elem.contentDocument !== "undefined" ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + } ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + // Support: IE 9-11 only + // Also use offsetWidth/offsetHeight for when box sizing is unreliable + // We use getClientRects() to check for hidden/disconnected. + // In those cases, the computed value can be trusted to be border-box + if ( ( !support.boxSizingReliable() && isBorderBox || + val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url, options ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "\n \n\n"; + +/***/ }), +/* 117 */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* This file is generated from the Unicode IDNA table, using + the build-unicode-tables.py script. Please edit that + script instead of this file. */ + +/* istanbul ignore next */ +(function (root, factory) { + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () { return factory(); }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else if (typeof exports === 'object') { + module.exports = factory(); + } else { + root.uts46_map = factory(); + } +}(this, function () { +var blocks = [ + new Uint32Array([2157250,2157314,2157378,2157442,2157506,2157570,2157634,0,2157698,2157762,2157826,2157890,2157954,0,2158018,0]), + new Uint32Array([2179041,6291456,2179073,6291456,2179105,6291456,2179137,6291456,2179169,6291456,2179201,6291456,2179233,6291456,2179265,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064,14680064,14680064,14680064]), + new Uint32Array([0,2113729,2197345,2197377,2113825,2197409,2197441,2113921,2197473,2114017,2197505,2197537,2197569,2197601,2197633,2197665]), + new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672,23068672,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,23068672,23068672,23068672,0,0,0,0,23068672]), + new Uint32Array([14680064,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064]), + new Uint32Array([2196001,2196033,2196065,2196097,2196129,2196161,2196193,2196225,2196257,2196289,2196321,2196353,2196385,2196417,2196449,2196481]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,6291456,0,0,0,0,0]), + new Uint32Array([2097281,2105921,2097729,2106081,0,2097601,2162337,2106017,2133281,2097505,2105889,2097185,2097697,2135777,2097633,2097441]), + new Uint32Array([2177025,6291456,2177057,6291456,2177089,6291456,2177121,6291456,2177153,6291456,2177185,6291456,2177217,6291456,2177249,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,0,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456]), + new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456]), + new Uint32Array([2134435,2134531,2134627,2134723,2134723,2134819,2134819,2134915,2134915,2135011,2105987,2135107,2135203,2135299,2131587,2135395]), + new Uint32Array([0,0,0,0,0,0,0,6291456,2168673,2169249,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2147906,2147970,2148034,2148098,2148162,2148226,2148290,2148354,2147906,2147970,2148034,2148098,2148162,2148226,2148290,2148354]), + new Uint32Array([2125219,2125315,2152834,2152898,2125411,2152962,2153026,2125506,2125507,2125603,2153090,2153154,2153218,2153282,2153346,2105348]), + new Uint32Array([2203393,6291456,2203425,6291456,2203457,6291456,2203489,6291456,6291456,6291456,6291456,2203521,6291456,2181281,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,23068672,6291456,2145538,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,6291456]), + new Uint32Array([2139426,2160834,2160898,2160962,2134242,2161026,2161090,2161154,2161218,2161282,2161346,2161410,2138658,2161474,2161538,2134722]), + new Uint32Array([2119939,2124930,2125026,2106658,2125218,2128962,2129058,2129154,2129250,2129346,2129442,2108866,2108770,2150466,2150530,2150594]), + new Uint32Array([2201601,6291456,2201633,6291456,2201665,6291456,2201697,6291456,2201729,6291456,2201761,6291456,2201793,6291456,2201825,6291456]), + new Uint32Array([2193537,2193569,2193601,2193633,2193665,2193697,2193729,2193761,2193793,2193825,2193857,2193889,2193921,2193953,2193985,2194017]), + new Uint32Array([6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([0,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2190561,6291456,2190593,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2190625,6291456,2190657,6291456,23068672]), + new Uint32Array([2215905,2215937,2215969,2216001,2216033,2216065,2216097,2216129,2216161,2216193,2216225,2216257,2105441,2216289,2216321,2216353]), + new Uint32Array([23068672,18884130,23068672,23068672,23068672,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672]), + new Uint32Array([23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,6291456,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2191233,2191265,2191297,2191329,2191361,2191393,2191425,2117377,2191457,2191489,2191521,2191553,2191585,2191617,2191649,2117953]), + new Uint32Array([2132227,2132323,2132419,2132419,2132515,2132515,2132611,2132707,2132707,2132803,2132899,2132899,2132995,2132995,2133091,2133187]), + new Uint32Array([0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,0,0]), + new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,10609889,10610785,10609921,10610817,2222241]), + new Uint32Array([6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0]), + new Uint32Array([2219969,2157121,2157441,2157505,2157889,2157953,2220001,2158465,2158529,10575617,2156994,2157058,2129923,2130019,2157122,2157186]), + new Uint32Array([6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]), + new Uint32Array([2185249,6291456,2185281,6291456,2185313,6291456,2185345,6291456,2185377,6291456,2185409,6291456,2185441,6291456,2185473,6291456]), + new Uint32Array([0,0,0,0,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,0,0,23068672,23068672,23068672,6291456,0]), + new Uint32Array([2183361,6291456,2183393,6291456,2183425,6291456,2183457,6291456,2183489,6291456,2183521,6291456,2183553,6291456,2183585,6291456]), + new Uint32Array([2192161,2192193,2192225,2192257,2192289,2192321,2192353,2192385,2192417,2192449,2192481,2192513,2192545,2192577,2192609,2192641]), + new Uint32Array([2212001,2212033,2212065,2212097,2212129,2212161,2212193,2212225,2212257,2212289,2212321,2212353,2212385,2212417,2212449,2207265]), + new Uint32Array([2249825,2249857,2249889,2249921,2249954,2250018,2250082,2250145,2250177,2250209,2250241,2250274,2250337,2250370,2250433,2250465]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2147905,2147969,2148033,2148097,2148161,2148225,2148289,2148353]), + new Uint32Array([10485857,6291456,2197217,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,23068672,23068672]), + new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]), + new Uint32Array([2180353,2180385,2144033,2180417,2180449,2180481,2180513,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,10610209,10610465,10610241,10610753,10609857]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0,0]), + new Uint32Array([2223842,2223906,2223970,2224034,2224098,2224162,2224226,2224290,2224354,2224418,2224482,2224546,2224610,2224674,2224738,2224802]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]), + new Uint32Array([23068672,23068672,23068672,18923650,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,18923714,23068672,23068672]), + new Uint32Array([2126179,2125538,2126275,2126371,2126467,2125634,2126563,2105603,2105604,2125346,2126659,2126755,2126851,2098179,2098181,2098182]), + new Uint32Array([2227426,2227490,2227554,2227618,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2192353,2240642,2240642,2240705,2240737,2240737,2240769,2240802,2240866,2240929,2240961,2240993,2241025,2241057,2241089,2241121]), + new Uint32Array([6291456,2170881,2170913,2170945,6291456,2170977,6291456,2171009,2171041,6291456,6291456,6291456,2171073,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2132226,2132514,2163586,2132610,2160386,2133090,2133186,2160450,2160514,2160578,2133570,2106178,2160642,2133858,2160706,2160770]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10532162,10532226,10532290,10532354,10532418,10532482,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672]), + new Uint32Array([2098209,2108353,2108193,2108481,2170241,2111713,2105473,2105569,2105601,2112289,2112481,2098305,2108321,0,0,0]), + new Uint32Array([2209121,2209153,2209185,2209217,2209249,2209281,2209313,2209345,2209377,2209409,2209441,2209473,2207265,2209505,2209537,2209569]), + new Uint32Array([2189025,6291456,2189057,6291456,2189089,6291456,2189121,6291456,2189153,6291456,2189185,6291456,2189217,6291456,2189249,6291456]), + new Uint32Array([2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2165764,2140004]), + new Uint32Array([2215105,6291456,2215137,6291456,6291456,2215169,2215201,6291456,6291456,6291456,2215233,2215265,2215297,2215329,2215361,2215393]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,6291456,6291456,6291456,23068672,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([10505091,10505187,10505283,10505379,10505475,10505571,10505667,10505763,10505859,10505955,10506051,10506147,10506243,10506339,10506435,10506531]), + new Uint32Array([2229730,2229794,2229858,2229922,2229986,2230050,2230114,2230178,2230242,2230306,2230370,2230434,2230498,2230562,2230626,2230690]), + new Uint32Array([2105505,2098241,2108353,2108417,2105825,0,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177]), + new Uint32Array([6291456,6291456,6291456,6291456,10502115,10502178,10502211,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]), + new Uint32Array([2190305,6291456,2190337,6291456,2190369,6291456,2190401,6291456,2190433,6291456,2190465,6291456,2190497,6291456,2190529,6291456]), + new Uint32Array([2173793,2173985,2174017,6291456,2173761,2173697,6291456,2174689,6291456,2174017,2174721,6291456,6291456,2174753,2174785,2174817]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2099521,2099105,2120705,2098369,2120801,2103361,2097985,2098433,2121377,2121473,2099169,2099873,2098401,2099393,2152609,2100033]), + new Uint32Array([2132898,2163842,2163906,2133282,2132034,2131938,2137410,2132802,2132706,2164866,2133282,2160578,2165186,2165186,6291456,6291456]), + new Uint32Array([10500003,10500099,10500195,10500291,10500387,10500483,10500579,10500675,10500771,10500867,10500963,10501059,10501155,10501251,10501347,10501443]), + new Uint32Array([2163458,2130978,2131074,2131266,2131362,2163522,2160130,2132066,2131010,2131106,2106018,2131618,2131298,2132034,2131938,2137410]), + new Uint32Array([2212961,2116993,2212993,2213025,2213057,2213089,2213121,2213153,2213185,2213217,2213249,2209633,2213281,2213313,2213345,2213377]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]), + new Uint32Array([2113729,2113825,2113921,2114017,2114113,2114209,2114305,2114401,2114497,2114593,2114689,2114785,2114881,2114977,2115073,2115169]), + new Uint32Array([2238177,2238209,2238241,2238273,2238305,2238337,2238337,2217537,2238369,2238401,2238433,2238465,2215649,2238497,2238529,2238561]), + new Uint32Array([2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905]), + new Uint32Array([6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,0]), + new Uint32Array([6291456,0,6291456,2145026,0,6291456,2145090,0,6291456,6291456,0,0,23068672,0,23068672,23068672]), + new Uint32Array([2099233,2122017,2200673,2098113,2121537,2103201,2200705,2104033,2121857,2121953,2122401,2099649,2099969,2123009,2100129,2100289]), + new Uint32Array([6291456,23068672,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0]), + new Uint32Array([2187681,2187713,2187745,2187777,2187809,2187841,2187873,2187905,2187937,2187969,2188001,2188033,2188065,2188097,2188129,2188161]), + new Uint32Array([0,10554498,10554562,10554626,10554690,10554754,10554818,10554882,10554946,10555010,10555074,6291456,6291456,0,0,0]), + new Uint32Array([2235170,2235234,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0]), + new Uint32Array([2181153,6291456,2188897,6291456,6291456,2188929,6291456,6291456,6291456,6291456,6291456,6291456,2111905,2100865,2188961,2188993]), + new Uint32Array([2100833,2100897,0,0,2101569,2101697,2101825,2101953,2102081,2102209,10575617,2187041,10502177,10489601,10489697,2112289]), + new Uint32Array([6291456,2172833,6291456,2172865,2172897,2172929,2172961,6291456,2172993,6291456,2173025,6291456,2173057,6291456,2173089,6291456]), + new Uint32Array([6291456,0,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,2190721]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,6291456,6291456]), + new Uint32Array([2184993,6291456,2185025,6291456,2185057,6291456,2185089,6291456,2185121,6291456,2185153,6291456,2185185,6291456,2185217,6291456]), + new Uint32Array([2115265,2115361,2115457,2115553,2115649,2115745,2115841,2115937,2116033,2116129,2116225,2116321,2150658,2150722,2200225,6291456]), + new Uint32Array([2168321,6291456,2168353,6291456,2168385,6291456,2168417,6291456,2168449,6291456,2168481,6291456,2168513,6291456,2168545,6291456]), + new Uint32Array([23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,0,6291456,0,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,2186625,0,0,6291456,6291456,2186657,2186689,2186721,2173505,0,10496067,10496163,10496259]), + new Uint32Array([2178785,6291456,2178817,6291456,2178849,6291456,2178881,6291456,2178913,6291456,2178945,6291456,2178977,6291456,2179009,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0]), + new Uint32Array([2097152,0,0,0,2097152,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]), + new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([0,0,2197857,2197889,2197921,2197953,2197985,2198017,0,0,2198049,2198081,2198113,2198145,2198177,2198209]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2098209,2167297,2111137,6291456]), + new Uint32Array([2171393,6291456,2171425,6291456,2171457,6291456,2171489,6291456,2171521,6291456,2171553,6291456,2171585,6291456,2171617,6291456]), + new Uint32Array([2206753,2206785,2195457,2206817,2206849,2206881,2206913,2197153,2197153,2206945,2117857,2206977,2207009,2207041,2207073,2207105]), + new Uint32Array([0,0,0,0,0,0,0,23068672,0,0,0,0,2144834,2144898,0,2144962]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672]), + new Uint32Array([2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,0,2105505,2098241]), + new Uint32Array([6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,2202049,6291456,2202081,6291456,2202113,6291456,2202145,6291456,2202177,6291456,2202209,6291456,2202241,6291456]), + new Uint32Array([10501155,10501251,10501347,10501443,10501539,10501635,10501731,10501827,10501923,10502019,2141731,2105505,2098177,2155586,2166530,0]), + new Uint32Array([2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441]), + new Uint32Array([2146882,2146946,2147010,2147074,2147138,2147202,2147266,2147330,2146882,2146946,2147010,2147074,2147138,2147202,2147266,2147330]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]), + new Uint32Array([10502307,10502403,10502499,10502595,10502691,10502787,10502883,10502979,10503075,10503171,10503267,10503363,10503459,10503555,10503651,10503747]), + new Uint32Array([2179937,2179969,2180001,2180033,2156545,2180065,2156577,2180097,2180129,2180161,2180193,2180225,2180257,2180289,2156737,2180321]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,0,0,0,6291456,0,0,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0]), + new Uint32Array([2227682,2227746,2227810,2227874,2227938,2228002,2228066,2228130,2228194,2228258,2228322,2228386,2228450,2228514,2228578,2228642]), + new Uint32Array([2105601,2169121,2108193,2170049,2181025,2181057,2112481,2108321,2108289,2181089,2170497,2100865,2181121,2173601,2173633,2173665]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2180641,6291456,6291456,6291456]), + new Uint32Array([0,6291456,6291456,6291456,0,6291456,0,6291456,0,0,6291456,6291456,0,6291456,6291456,6291456]), + new Uint32Array([2178273,6291456,2178305,6291456,2178337,6291456,2178369,6291456,2178401,6291456,2178433,6291456,2178465,6291456,2178497,6291456]), + new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,14680064,14680064,14680064,14680064,14680064,14680064]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456]), + new Uint32Array([2237377,2237409,2236225,2237441,2237473,2217441,2215521,2215553,2217473,2237505,2237537,2209697,2237569,2215585,2237601,2237633]), + new Uint32Array([2221985,2165601,2165601,2165665,2165665,2222017,2222017,2165729,2165729,2158913,2158913,2158913,2158913,2097281,2097281,2105921]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2149634,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2176897,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,2176929,6291456,2176961,6291456,2176993,6291456]), + new Uint32Array([2172641,6291456,2172673,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2172705,2172737,6291456,2172769,2172801,6291456]), + new Uint32Array([2099173,2104196,2121667,2099395,2121763,2152258,2152322,2098946,2152386,2121859,2121955,2099333,2122051,2104324,2099493,2122147]), + new Uint32Array([6291456,6291456,6291456,2145794,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,2145858,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,0,0,6291456,0]), + new Uint32Array([0,2105921,2097729,0,2097377,0,0,2106017,0,2097505,2105889,2097185,2097697,2135777,2097633,2097441]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2239074,2239138,2239201,2239233,2239265,2239297,2239329,2239361,0,2239393,2239425,2239425,2239458,2239521,2239553,2209569]), + new Uint32Array([14680064,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,6291456,23068672]), + new Uint32Array([2108321,2108289,2113153,2098209,2180897,2180929,2180961,2111137,2098241,2108353,2170241,2170273,2180993,2105825,6291456,2105473]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2146114,6291456,6291456,6291456,0,0,0]), + new Uint32Array([2105921,2105921,2105921,2222049,2222049,2130977,2130977,2130977,2130977,2160065,2160065,2160065,2160065,2097729,2097729,2097729]), + new Uint32Array([2218145,2214785,2207937,2218177,2218209,2192993,2210113,2212769,2218241,2218273,2216129,2218305,2216161,2218337,2218369,2218401]), + new Uint32Array([0,0,0,2156546,2156610,2156674,2156738,2156802,0,0,0,0,0,2156866,23068672,2156930]), + new Uint32Array([23068672,23068672,23068672,0,0,0,0,23068672,23068672,0,0,23068672,23068672,23068672,0,0]), + new Uint32Array([2213409,2213441,2213473,2213505,2213537,2213569,2213601,2213633,2213665,2195681,2213697,2213729,2213761,2213793,2213825,2213857]), + new Uint32Array([2100033,2099233,2122017,2200673,2098113,2121537,2103201,2200705,2104033,2121857,2121953,2122401,2099649,2099969,2123009,2100129]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2201857,6291456,2201889,6291456,2201921,6291456,2201953,6291456,2201985,6291456,2202017,6291456,2176193,2176257,23068672,23068672]), + new Uint32Array([6291456,6291456,23068672,23068672,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2188193,2188225,2188257,2188289,2188321,2188353,2188385,2188417,2188449,2188481,2188513,2188545,2188577,2188609,2188641,0]), + new Uint32Array([10554529,2221089,0,10502113,10562017,10537921,10538049,2221121,2221153,0,0,0,0,0,0,0]), + new Uint32Array([2213889,2213921,2213953,2213985,2214017,2214049,2214081,2194177,2214113,2214145,2214177,2214209,2214241,2214273,2214305,2214337]), + new Uint32Array([2166978,2167042,2099169,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2180545,6291456,6291456,6291456]), + new Uint32Array([10518915,10519011,10519107,10519203,2162242,2162306,2159554,2162370,2159362,2159618,2105922,2162434,2159746,2162498,2159810,2159874]), + new Uint32Array([2161730,2161794,2135586,2161858,2161922,2137186,2131810,2160290,2135170,2161986,2137954,2162050,2162114,2162178,10518723,10518819]), + new Uint32Array([10506627,10506723,10506819,10506915,10507011,10507107,10507203,10507299,10507395,10507491,10507587,10507683,10507779,10507875,10507971,10508067]), + new Uint32Array([6291456,23068672,23068672,23068672,0,23068672,23068672,0,0,0,0,0,23068672,23068672,23068672,23068672]), + new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0]), + new Uint32Array([2175873,2175905,2175937,2175969,2176001,2176033,2176065,2176097,2176129,2176161,2176193,2176225,2176257,2176289,2176321,2176353]), + new Uint32Array([2140006,2140198,2140390,2140582,2140774,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,23068672,23068672,23068672]), + new Uint32Array([2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241]), + new Uint32Array([0,23068672,0,0,0,0,0,0,0,2145154,2145218,2145282,6291456,0,2145346,0]), + new Uint32Array([0,0,0,0,10531458,10495395,2148545,2143201,2173473,2148865,2173505,0,2173537,0,2173569,2149121]), + new Uint32Array([10537282,10495683,2148738,2148802,2148866,0,6291456,2148930,2186593,2173473,2148737,2148865,2148802,10495779,10495875,10495971]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2215425,2215457,2215489,2215521,2215553,2215585,2215617,2215649,2215681,2215713,2215745,2215777,2192033,2215809,2215841,2215873]), + new Uint32Array([2242049,2242081,2242113,2242145,2242177,2242209,2242241,2242273,2215937,2242305,2242338,2242401,2242433,2242465,2242497,2216001]), + new Uint32Array([10554529,2221089,0,0,10562017,10502113,10538049,10537921,2221185,10489601,10489697,10609889,10609921,2141729,2141793,10610273]), + new Uint32Array([2141923,2142019,2142115,2142211,2142307,2142403,2142499,2142595,2142691,0,0,0,0,0,0,0]), + new Uint32Array([0,2221185,2221217,10609857,10609857,10489601,10489697,10609889,10609921,2141729,2141793,2221345,2221377,2221409,2221441,2187105]), + new Uint32Array([6291456,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,18923970,23068672,23068672,23068672,0,6291456,6291456]), + new Uint32Array([2183105,6291456,2183137,6291456,2183169,6291456,2183201,6291456,2183233,6291456,2183265,6291456,2183297,6291456,2183329,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]), + new Uint32Array([23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456]), + new Uint32Array([2134434,2134818,2097666,2097186,2097474,2097698,2105986,2131586,2132450,2131874,2131778,2135970,2135778,2161602,2136162,2161666]), + new Uint32Array([2236865,2236897,2236930,2236993,2237025,2235681,2237058,2237121,2237153,2237185,2237217,2217281,2237250,2191233,2237313,2237345]), + new Uint32Array([2190049,6291456,2190081,6291456,2190113,6291456,2190145,6291456,2190177,6291456,2190209,6291456,2190241,6291456,2190273,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2101922,2102050,2102178,2102306,10498755,10498851,10498947,10499043,10499139,10499235,10499331,10499427,10499523,10489604,10489732,10489860]), + new Uint32Array([2166914,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]), + new Uint32Array([2181601,2170561,2181633,2181665,2170753,2181697,2172897,2170881,2181729,2170913,2172929,2113441,2181761,2181793,2171009,2173761]), + new Uint32Array([0,2105921,2097729,2106081,0,2097601,2162337,2106017,2133281,2097505,0,2097185,2097697,2135777,2097633,2097441]), + new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,0,0,0,0]), + new Uint32Array([2248001,2248033,2248066,2248130,2248193,2248226,2248289,2248322,2248385,2248417,2216673,2248450,2248514,2248577,2248610,2248673]), + new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,0,0,0]), + new Uint32Array([2169729,6291456,2169761,6291456,2169793,6291456,2169825,6291456,2169857,2169889,6291456,2169921,6291456,2143329,6291456,2098305]), + new Uint32Array([2162178,2163202,2163266,2135170,2136226,2161986,2137954,2159426,2159490,2163330,2159554,2163394,2159682,2139522,2136450,2159746]), + new Uint32Array([2173953,2173985,0,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2174209,2174241,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,4271169,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2174273]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,6291456,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,2190785,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2189793,6291456,2189825,6291456,2189857,6291456,2189889,6291456,2189921,6291456,2189953,6291456,2189985,6291456,2190017,6291456]), + new Uint32Array([2105601,2112289,2108193,2112481,2112577,0,2098305,2108321,2108289,2100865,2113153,2108481,2113345,0,2098209,2111137]), + new Uint32Array([2172129,6291456,2172161,6291456,2172193,6291456,2172225,6291456,2172257,6291456,2172289,6291456,2172321,6291456,2172353,6291456]), + new Uint32Array([2214753,6291456,2214785,6291456,6291456,2214817,2214849,2214881,2214913,2214945,2214977,2215009,2215041,2215073,2194401,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([0,0,0,0,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([10610305,10610337,10575617,2221761,10610401,10610433,10502177,0,10610465,10610497,10610529,10610561,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,23068672,0,0,0,0,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2187105,2187137,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2199393,2199425,2199457,2199489,2199521,2199553,2199585,2199617,2199649,2199681,2199713,2199745,2199777,2199809,2199841,0]), + new Uint32Array([2217249,2217281,2217313,2217345,2217377,2217409,2217441,2217473,2215617,2217505,2217537,2217569,2214753,2217601,2217633,2217665]), + new Uint32Array([2170273,2170305,6291456,2170337,2170369,6291456,2170401,2170433,2170465,6291456,6291456,6291456,2170497,2170529,6291456,2170561]), + new Uint32Array([2188673,6291456,2188705,2188737,2188769,6291456,6291456,2188801,6291456,2188833,6291456,2188865,6291456,2180929,2181505,2180897]), + new Uint32Array([10489988,10490116,10490244,10490372,10490500,10490628,10490756,10490884,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2147393,2147457,2147521,2147585,2147649,2147713,2147777,2147841]), + new Uint32Array([23068672,23068672,0,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]), + new Uint32Array([2241153,2241185,2241217,2215809,2241250,2241313,2241345,2241377,2217921,2241377,2241409,2215873,2241441,2241473,2241505,2241537]), + new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2220417,2220417,2220449,2220449,2220481,2220481,2220513,2220513,2220545,2220545,2220577,2220577,2220609,2220609,2220641,2220641]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,2144002,0,6291456,6291456,0,0,6291456,6291456,6291456]), + new Uint32Array([2167105,2167137,2167169,2167201,2167233,2167265,2167297,2167329,2167361,2167393,2167425,2167457,2167489,2167521,2167553,2167585]), + new Uint32Array([10575521,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]), + new Uint32Array([2234146,2234210,2234274,2234338,2234402,2234466,2234530,2234594,2234658,2234722,2234786,2234850,2234914,2234978,2235042,2235106]), + new Uint32Array([0,0,0,0,0,0,0,2180577,0,0,0,0,0,2180609,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,0,0,6291456,6291456]), + new Uint32Array([2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481]), + new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2242529,2242561,2242593,2242625,2242657,2242689,2242721,2242753,2207937,2218177,2242785,2242817,2242849,2242882,2242945,2242977]), + new Uint32Array([2118049,2105345,2118241,2105441,2118433,2118529,2118625,2118721,2118817,2200257,2200289,2191809,2200321,2200353,2200385,2200417]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]), + new Uint32Array([2185505,6291456,2185537,6291456,2185569,6291456,2185601,6291456,2185633,6291456,2185665,6291456,2185697,6291456,2185729,6291456]), + new Uint32Array([2231970,2232034,2232098,2232162,2232226,2232290,2232354,2232418,2232482,2232546,2232610,2232674,2232738,2232802,2232866,2232930]), + new Uint32Array([2218625,2246402,2246466,2246530,2246594,2246657,2246689,2246689,2218657,2219681,2246721,2246753,2246785,2246818,2246881,2208481]), + new Uint32Array([2197025,2197057,2197089,2197121,2197153,2197185,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2219137,2216961,2219169,2219201,2219233,2219265,2219297,2217025,2215041,2219329,2217057,2219361,2217089,2219393,2197153,2219426]), + new Uint32Array([23068672,23068672,23068672,0,0,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,0,0]), + new Uint32Array([2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713]), + new Uint32Array([2243522,2243585,2243617,2243649,2243681,2210113,2243713,2243746,2243810,2243874,2243937,2243970,2244033,2244065,2244097,2244129]), + new Uint32Array([2178017,6291456,2178049,6291456,2178081,6291456,2178113,6291456,2178145,6291456,2178177,6291456,2178209,6291456,2178241,6291456]), + new Uint32Array([10553858,2165314,10518722,6291456,10518818,0,10518914,2130690,10519010,2130786,10519106,2130882,10519202,2165378,10554050,2165506]), + new Uint32Array([0,0,2135491,2135587,2135683,2135779,2135875,2135971,2135971,2136067,2136163,2136259,2136355,2136355,2136451,2136547]), + new Uint32Array([23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]), + new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2220033,2220033,2220065,2220065,2220065,2220065,2220097,2220097,2220097,2220097,2220129,2220129,2220129,2220129,2220161,2220161]), + new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2100897,2100898,2100899,2150018,2100865,2100866,2100867,2100868,2150082,2108481,2109858,2109859,2105569,2105505,2098241,2105601]), + new Uint32Array([2097217,2097505,2097505,2097505,2097505,2165570,2165570,2165634,2165634,2165698,2165698,2097858,2097858,0,0,2097152]), + new Uint32Array([23068672,6291456,23068672,23068672,23068672,6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,23068672,23068672]), + new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]), + new Uint32Array([10503843,10503939,10504035,10504131,10504227,10504323,10504419,10504515,10504611,10504707,10504803,10504899,10504995,10491140,10491268,0]), + new Uint32Array([2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2134145,2097153,2134241,2105953,2132705,2130977,2160065,2131297,2162049,2133089,2160577,2133857,2235297,2220769,2235329,2235361]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2222401,2222433,2222465,10531394,2222497,2222529,2222561,0,2222593,2222625,2222657,2222689,2222721,2222753,2222785,0]), + new Uint32Array([2184481,6291456,2184513,6291456,2184545,6291456,2184577,6291456,2184609,6291456,2184641,6291456,2184673,6291456,2184705,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2105570,2156034,2126947,2156098,2153666,2127043,2127139,2156162,0,2127235,2156226,2156290,2156354,2156418,2127331,2127427]), + new Uint32Array([2215905,2207041,2153185,2241569,2241601,2241633,2241665,2241697,2241730,2241793,2241825,2241857,2241889,2241921,2241954,2242017]), + new Uint32Array([2203777,6291456,2203809,6291456,2203841,6291456,2203873,6291456,2203905,6291456,2173121,2180993,2181249,2203937,2181313,0]), + new Uint32Array([2168577,6291456,2168609,6291456,2168641,6291456,2168673,6291456,2168705,6291456,2168737,6291456,2168769,6291456,2168801,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,23068672,23068672,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,0,0]), + new Uint32Array([2210113,2195521,2210145,2210177,2210209,2210241,2210273,2210305,2210337,2210369,2210401,2210433,2210465,2210497,2210529,2210561]), + new Uint32Array([6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]), + new Uint32Array([2228706,2228770,2228834,2228898,2228962,2229026,2229090,2229154,2229218,2229282,2229346,2229410,2229474,2229538,2229602,2229666]), + new Uint32Array([23068672,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,18874368,18874368,18874368,0,0]), + new Uint32Array([2133089,2133281,2133281,2133281,2133281,2160577,2160577,2160577,2160577,2097441,2097441,2097441,2097441,2133857,2133857,2133857]), + new Uint32Array([6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089]), + new Uint32Array([2178529,6291456,2178561,6291456,2178593,6291456,2178625,6291456,2178657,6291456,2178689,6291456,2178721,6291456,2178753,6291456]), + new Uint32Array([2221025,2221025,2221057,2221057,2159329,2159329,2159329,2159329,2097217,2097217,2158914,2158914,2158978,2158978,2159042,2159042]), + new Uint32Array([2208161,2208193,2208225,2208257,2194433,2208289,2208321,2208353,2208385,2208417,2208449,2208481,2208513,2208545,2208577,2208609]), + new Uint32Array([2169217,6291456,2169249,6291456,2169281,6291456,2169313,6291456,2169345,6291456,2169377,6291456,2169409,6291456,2169441,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456]), + new Uint32Array([2133187,2133283,2133283,2133379,2133475,2133571,2133667,2133667,2133763,2133859,2133955,2134051,2134147,2134147,2134243,2134339]), + new Uint32Array([2197697,2114113,2114209,2197729,2197761,2114305,2197793,2114401,2114497,2197825,2114593,2114689,2114785,2114881,2114977,0]), + new Uint32Array([2193089,2193121,2193153,2193185,2117665,2117569,2193217,2193249,2193281,2193313,2193345,2193377,2193409,2193441,2193473,2193505]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0]), + new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2184225,6291456,2184257,6291456,2184289,6291456,2184321,6291456,2184353,6291456,2184385,6291456,2184417,6291456,2184449,6291456]), + new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2100833,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2098657,2098049,2200737,2123489,2123681,2200769,2098625,2100321,2098145,2100449,2098017,2098753,2200801,2200833,2200865,0]), + new Uint32Array([23068672,23068672,23068672,0,0,0,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0]), + new Uint32Array([2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,0,2098241,2108353,2108417,2105825,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2181153,2105505,2181185,2167617,2180993]), + new Uint32Array([2160002,2160066,2160130,2160194,2160258,2132066,2131010,2131106,2106018,2131618,2160322,2131298,2132034,2131938,2137410,2132226]), + new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,6291456]), + new Uint32Array([2183617,6291456,2183649,6291456,2183681,6291456,2183713,6291456,2183745,6291456,2183777,6291456,2183809,6291456,2183841,6291456]), + new Uint32Array([0,6291456,6291456,0,6291456,0,0,6291456,6291456,0,6291456,0,0,6291456,0,0]), + new Uint32Array([2250977,2251009,2251041,2251073,2195009,2251106,2251169,2251201,2251233,2251265,2251297,2251330,2251394,2251457,2251489,2251521]), + new Uint32Array([2205729,2205761,2205793,2205825,2205857,2205889,2205921,2205953,2205985,2206017,2206049,2206081,2206113,2206145,2206177,2206209]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2143170,2168993,6291456,2169025,6291456,2169057,6291456,2169089,6291456,2143234,2169121,6291456,2169153,6291456,2169185,6291456]), + new Uint32Array([23068672,23068672,2190689,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2248706,2248769,2248801,2248833,2248865,2248897,2248929,2248962,2249026,2249090,2249154,2240705,2249217,2249249,2249281,2249313]), + new Uint32Array([10485857,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10495394,6291456,2098209,6291456,6291456,2097152,6291456,10531394]), + new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,0]), + new Uint32Array([14680064,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2173985,2173953,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889]), + new Uint32Array([6291456,2186977,6291456,6291456,6291456,6291456,6291456,10537858,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2209601,2209633,2209665,2209697,2209729,2209761,2209793,2209825,2209857,2209889,2209921,2209953,2209985,2210017,2210049,2210081]), + new Uint32Array([10501539,10501635,10501731,10501827,10501923,10502019,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905]), + new Uint32Array([2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,0,0]), + new Uint32Array([6291456,6291456,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2194561,2194593,2194625,2119777,2119873,2194657,2194689,2194721,2194753,2194785,2194817,2194849,2194881,2194913,2194945,2194977]), + new Uint32Array([2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569]), + new Uint32Array([2222818,2222882,2222946,2223010,2223074,2223138,2223202,2223266,2223330,2223394,2223458,2223522,2223586,2223650,2223714,2223778]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672]), + new Uint32Array([0,2179553,2179585,2179617,2179649,2144001,2179681,2179713,2179745,2179777,2179809,2156705,2179841,2156833,2179873,2179905]), + new Uint32Array([6291456,23068672,6291456,2145602,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,6291456,0,0]), + new Uint32Array([2196513,2196545,2196577,2196609,2196641,2196673,2196705,2196737,2196769,2196801,2196833,2196865,2196897,2196929,2196961,2196993]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2177281,6291456,2177313,6291456,2177345,6291456,2177377,6291456,2177409,6291456,2177441,6291456,2177473,6291456,2177505,6291456]), + new Uint32Array([2187137,2221473,2221505,2221537,2221569,6291456,6291456,10610209,10610241,10537986,10537986,10537986,10537986,10609857,10609857,10609857]), + new Uint32Array([2243009,2243041,2216033,2243074,2243137,2243169,2243201,2219617,2243233,2243265,2243297,2243329,2243362,2243425,2243457,2243489]), + new Uint32Array([10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,10485857,2097152,4194304,4194304,0,0]), + new Uint32Array([2143042,6291456,2143106,2143106,2168833,6291456,2168865,6291456,6291456,2168897,6291456,2168929,6291456,2168961,6291456,2143170]), + new Uint32Array([6291456,6291456,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2204193,2204225,2204257,2204289,2204321,2204353,2204385,2204417,2204449,2204481,2204513,2204545,2204577,2204609,2204641,2204673]), + new Uint32Array([2202753,6291456,2202785,6291456,2202817,6291456,2202849,6291456,2202881,6291456,2202913,6291456,2202945,6291456,2202977,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321]), + new Uint32Array([2147394,2147458,2147522,2147586,2147650,2147714,2147778,2147842,2147394,2147458,2147522,2147586,2147650,2147714,2147778,2147842]), + new Uint32Array([2253313,2253346,2253409,2253441,2253473,2253505,2253537,2253569,2253601,2253634,2219393,2253697,2253729,2253761,2253793,2253825]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,6291456,6291456]), + new Uint32Array([2162562,2162626,2131362,2162690,2159938,2160002,2162754,2162818,2160130,2162882,2160194,2160258,2160834,2160898,2161026,2161090]), + new Uint32Array([2175361,2175393,2175425,2175457,2175489,2175521,2175553,2175585,2175617,2175649,2175681,2175713,2175745,2175777,2175809,2175841]), + new Uint32Array([2253858,2253921,2253954,2254018,2254082,2196737,2254145,2196865,2254177,2254209,2254241,2254273,2197025,2254306,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2202113,2204129,2188705,2204161]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,6291456,6291456,6291456,0,0]), + new Uint32Array([2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953]), + new Uint32Array([2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209]), + new Uint32Array([2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,0,2108417,0,2111713,2100897,2111905]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0]), + new Uint32Array([2175425,2175489,2175809,2175905,2175937,2175937,2176193,2176417,2180865,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,2143298,2143298,2143298,2143362,2143362,2143362,2143426,2143426,2143426,2171105,6291456,2171137]), + new Uint32Array([2120162,2120258,2151618,2151682,2151746,2151810,2151874,2151938,2152002,2120035,2120131,2120227,2152066,2120323,2152130,2120419]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2195361,2142433,2236065,2236097,2236129,2236161,2118241,2117473,2236193,2236225,2236257,2236289,0,0,0,0]), + new Uint32Array([2189281,6291456,2189313,6291456,2189345,6291456,2189377,6291456,2189409,6291456,2189441,6291456,2189473,6291456,2189505,6291456]), + new Uint32Array([6291456,6291456,2145922,6291456,6291456,6291456,6291456,2145986,6291456,6291456,6291456,6291456,2146050,6291456,6291456,6291456]), + new Uint32Array([2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,10502113,10562017,10610401,10502177,10610433,10538049]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,2186401,0,2186433,0,2186465,0,2186497]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,23068672,23068672,23068672]), + new Uint32Array([0,0,2198241,2198273,2198305,2198337,2198369,2198401,0,0,2198433,2198465,2198497,0,0,0]), + new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,6291456,0,23068672,23068672,23068672,23068672,23068672,23068672,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]), + new Uint32Array([0,2105921,2097729,0,2097377,0,0,2106017,2133281,2097505,2105889,0,2097697,2135777,2097633,2097441]), + new Uint32Array([2197889,2197921,2197953,2197985,2198017,2198049,2198081,2198113,2198145,2198177,2198209,2198241,2198273,2198305,2198337,2198369]), + new Uint32Array([2132514,2132610,2160386,2133090,2133186,2160450,2160514,2133282,2160578,2133570,2106178,2160642,2133858,2160706,2160770,2134146]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0,0,0,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,23068672,23068672,6291456,23068672,23068672,6291456,23068672,0,0,0,0,0,0,0,0]), + new Uint32Array([2184737,6291456,2184769,6291456,2184801,6291456,2184833,6291456,2184865,6291456,2184897,6291456,2184929,6291456,2184961,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,6291456,6291456,6291456,0,6291456]), + new Uint32Array([6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,6291456,23068672,23068672,23068672,6291456,23068672,23068672,23068672,23068672,23068672,0,0]), + new Uint32Array([6291456,6291456,6291456,2186753,6291456,6291456,6291456,6291456,2186785,2186817,2186849,2173569,2186881,10496355,10495395,10575521]), + new Uint32Array([0,0,2097729,0,0,0,0,2106017,0,2097505,0,2097185,0,2135777,2097633,2097441]), + new Uint32Array([2189537,6291456,2189569,6291456,2189601,6291456,2189633,6291456,2189665,6291456,2189697,6291456,2189729,6291456,2189761,6291456]), + new Uint32Array([2202497,6291456,2202529,6291456,2202561,6291456,2202593,6291456,2202625,6291456,2202657,6291456,2202689,6291456,2202721,6291456]), + new Uint32Array([2245217,2218369,2245249,2245282,2245345,2245377,2245410,2245474,2245537,2245569,2245601,2245633,2245665,2245665,2245697,2245729]), + new Uint32Array([6291456,0,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,0,0,0,0,0,0,23068672,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,6291456,23068672,6291456,23068672,6291456,6291456,6291456,6291456,23068672,23068672]), + new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2097281,2105921,2097729,2106081,2097377,2097601,2162337,2106017,2133281,2097505,0,2097185,2097697,2135777,2097633,2097441]), + new Uint32Array([2176641,6291456,2176673,6291456,2176705,6291456,2176737,6291456,2176769,6291456,2176801,6291456,2176833,6291456,2176865,6291456]), + new Uint32Array([2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953,2174369,2174369,0,0,2100833,2100737]), + new Uint32Array([2116513,2190817,2190849,2190881,2190913,2190945,2116609,2190977,2191009,2191041,2191073,2117185,2191105,2191137,2191169,2191201]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456]), + new Uint32Array([0,0,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456]), + new Uint32Array([2167617,2167649,2167681,2167713,2167745,2167777,2167809,6291456,2167841,2167873,2167905,2167937,2167969,2168001,2168033,4240130]), + new Uint32Array([2165122,2163970,2164034,2164098,2164162,2164226,2164290,2164354,2164418,2164482,2164546,2133122,2134562,2132162,2132834,2136866]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2186209,2186241,2186273,2186305,2186337,2186369,0,0]), + new Uint32Array([2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,14680064,14680064,14680064,14680064,14680064]), + new Uint32Array([0,0,23068672,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456]), + new Uint32Array([0,10537921,10610689,10610273,10610497,10610529,10610305,10610721,10489601,10489697,10610337,10575617,10554529,2221761,2197217,10496577]), + new Uint32Array([2105473,2105569,2105601,2112289,0,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441]), + new Uint32Array([2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481]), + new Uint32Array([2125346,2153410,2153474,2127394,2153538,2153602,2153666,2153730,2105507,2105476,2153794,2153858,2153922,2153986,2154050,2105794]), + new Uint32Array([2200449,2119681,2200481,2153313,2199873,2199905,2199937,2200513,2200545,2200577,2200609,2119105,2119201,2119297,2119393,2119489]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2175777,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2222273,2197217,2221473,2221505,2221089,2222305,2200865,2099681,2104481,2222337,2099905,2120737,2222369,2103713,2100225,2098785]), + new Uint32Array([2201377,6291456,2201409,6291456,2201441,6291456,2201473,6291456,2201505,6291456,2201537,6291456,2201569,6291456,6291456,23068672]), + new Uint32Array([2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793]), + new Uint32Array([2200897,6291456,2200929,6291456,2200961,6291456,2200993,6291456,2201025,6291456,2180865,6291456,2201057,6291456,2201089,6291456]), + new Uint32Array([0,0,0,0,0,23068672,23068672,0,6291456,6291456,6291456,0,0,0,0,0]), + new Uint32Array([2161154,2161410,2138658,2161474,2161538,2097666,2097186,2097474,2162946,2132450,2163010,2163074,2136162,2163138,2161666,2161730]), + new Uint32Array([2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953]), + new Uint32Array([0,0,0,0,0,0,23068672,23068672,0,0,0,0,2145410,2145474,0,6291456]), + new Uint32Array([2244161,2216065,2212769,2244193,2244225,2244257,2244290,2244353,2244385,2244417,2244449,2218273,2244481,2244514,2244577,2244609]), + new Uint32Array([2125730,2125699,2125795,2125891,2125987,2154114,2154178,2154242,2154306,2154370,2154434,2154498,2126082,2126178,2126274,2126083]), + new Uint32Array([2237665,2237697,2237697,2237697,2237730,2237793,2237825,2237857,2237890,2237953,2237985,2238017,2238049,2238081,2238113,2238145]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2150146,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,0,0,23068672,23068672,23068672,0,0]), + new Uint32Array([2214369,2238593,2238625,2238657,2238689,2238721,2238753,2238785,2238817,2238850,2238913,2238945,2238977,2235457,2239009,2239041]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]), + new Uint32Array([2252066,2252130,2252193,2252225,2252257,2252290,2252353,2252385,2252417,2252449,2252481,2252513,2252545,2252578,2252641,2252673]), + new Uint32Array([2197697,2114113,2114209,2197729,2197761,2114305,2197793,2114401,2114497,2197825,2114593,2114689,2114785,2114881,2114977,2197857]), + new Uint32Array([2224866,2224930,2224994,2225058,2225122,2225186,2225250,2225314,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2219490,2219554,2219617,2219649,2219681,2219714,2219778,2219842,2219905,2219937,0,0,0,0,0,0]), + new Uint32Array([6291456,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]), + new Uint32Array([2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289]), + new Uint32Array([2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113,2173985,2173953,2148481,2173601,2173633,2173665]), + new Uint32Array([2220161,2220161,2220193,2220193,2220193,2220193,2220225,2220225,2220225,2220225,2220257,2220257,2220257,2220257,2220289,2220289]), + new Uint32Array([2192673,2192705,2192737,2192769,2192801,2192833,2192865,2118049,2192897,2117473,2117761,2192929,2192961,2192993,2193025,2193057]), + new Uint32Array([2179297,6291456,2179329,6291456,2179361,6291456,2179393,6291456,2179425,6291456,2179457,6291456,2179489,6291456,2179521,6291456]), + new Uint32Array([6291456,6291456,6291456,23068672,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2235745,2235777,2193633,2235809,2235841,2235873,2235905,2235937,2235969,2116513,2116705,2236001,2200513,2199905,2200545,2236033]), + new Uint32Array([2113153,2108481,2113345,2113441,2232993,2233025,0,0,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761]), + new Uint32Array([2170593,6291456,2170625,6291456,2170657,6291456,2170689,2170721,6291456,2170753,6291456,6291456,2170785,6291456,2170817,2170849]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2166786,2166850,0,0,0,0]), + new Uint32Array([23068672,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]), + new Uint32Array([2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,10575617,2187041,10502177,10489601,10489697,0]), + new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2134562,2132162,2132834,2136866,2136482,2164610,2164674,2164738,2164802,2132802,2132706,2164866,2132898,2164930,2164994,2165058]), + new Uint32Array([6291456,6291456,2098337,2101441,10531458,2153473,6291456,6291456,10531522,2100737,2108193,6291456,2106499,2106595,2106691,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2233122,2233186,2233250,2233314,2233378,2233442,2233506,2233570,2233634,2233698,2233762,2233826,2233890,2233954,2234018,2234082]), + new Uint32Array([23068672,6291456,23068672,23068672,23068672,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2205217,2205249,2205281,2205313,2205345,2205377,2205409,2205441,2205473,2205505,2205537,2205569,2205601,2205633,2205665,2205697]), + new Uint32Array([6291456,0,6291456,0,0,0,6291456,6291456,6291456,6291456,0,0,23068672,6291456,23068672,23068672]), + new Uint32Array([2173601,2173761,2174081,2173569,2174241,2174113,2173953,6291456,2174305,6291456,2174337,6291456,2174369,6291456,2174401,6291456]), + new Uint32Array([6291456,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]), + new Uint32Array([2152450,2152514,2099653,2104452,2099813,2122243,2099973,2152578,2122339,2122435,2122531,2122627,2122723,2104580,2122819,2152642]), + new Uint32Array([2236385,2236417,2236449,2236482,2236545,2215425,2236577,2236609,2236641,2236673,2215457,2236705,2236737,2236770,2215489,2236833]), + new Uint32Array([2163394,2159746,2163458,2131362,2163522,2160130,2163778,2132226,2163842,2132898,2163906,2161410,2138658,2097666,2136162,2163650]), + new Uint32Array([2218721,2246913,2246946,2216385,2247010,2247074,2215009,2247137,2247169,2216481,2247201,2247233,2247266,2247330,2247330,0]), + new Uint32Array([2129730,2129762,2129858,2129731,2129827,2156482,2156482,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,0,0,0,0,6291456,0,0]), + new Uint32Array([2203969,2204001,2181377,2204033,2204065,6291456,2204097,6291456,0,0,0,0,0,0,0,0]), + new Uint32Array([2169473,6291456,2169505,6291456,2169537,6291456,2169569,6291456,2169601,6291456,2169633,6291456,2169665,6291456,2169697,6291456]), + new Uint32Array([2141542,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2220801,2220801,2220801,2220801,2220833,2220833,2220865,2220865,2220865,2220865,2220897,2220897,2220897,2220897,2139873,2139873]), + new Uint32Array([0,0,0,0,0,23068672,23068672,0,0,0,0,0,0,0,6291456,0]), + new Uint32Array([2214849,2218433,2218465,2218497,2218529,2218561,2214881,2218593,2218625,2218657,2218689,2218721,2218753,2216545,2218785,2218817]), + new Uint32Array([23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,0,0,0,6291456]), + new Uint32Array([2136482,2164610,2164674,2164738,2164802,2132802,2132706,2164866,2132898,2164930,2164994,2165058,2165122,2132802,2132706,2164866]), + new Uint32Array([2207649,2207681,2207713,2207745,2207777,2207809,2207841,2207873,2207905,2207937,2207969,2208001,2208033,2208065,2208097,2208129]), + new Uint32Array([2123683,2105092,2152706,2123779,2105220,2152770,2100453,2098755,2123906,2124002,2124098,2124194,2124290,2124386,2124482,2124578]), + new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,6291456,0,0,0,0,0,0,0,10485857]), + new Uint32Array([6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([10508163,10508259,10508355,10508451,2200129,2200161,2192737,2200193,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2203553,6291456,2203585,6291456,6291456,6291456,2203617,6291456,2203649,6291456,2203681,6291456,2203713,6291456,2203745,6291456]), + new Uint32Array([18884449,18884065,23068672,18884417,18884034,18921185,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,18874368]), + new Uint32Array([2247393,2247426,2247489,2247521,2247553,2247586,2247649,2247681,2247713,2247745,2247777,2247810,2247873,2247905,2247937,2247969]), + new Uint32Array([6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,23068672]), + new Uint32Array([2134145,2097153,2134241,0,2132705,2130977,2160065,2131297,0,2133089,2160577,2133857,2235297,0,2235329,0]), + new Uint32Array([2182593,6291456,2182625,6291456,2182657,6291456,2182689,6291456,2182721,6291456,2182753,6291456,2182785,6291456,2182817,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2102402,2102403,6291456,2110050]), + new Uint32Array([2149890,2108323,2149954,6291456,2113441,6291456,2149057,6291456,2113441,6291456,2105473,2167265,2111137,2105505,6291456,2108353]), + new Uint32Array([2219105,2219137,2195233,2251554,2251617,2251649,2251681,2251713,2251746,2251810,2251873,2251905,2251937,2251970,2252033,2219169]), + new Uint32Array([2203009,6291456,2203041,6291456,2203073,6291456,2203105,6291456,2203137,6291456,2203169,6291456,2203201,6291456,2203233,6291456]), + new Uint32Array([2128195,2128291,2128387,2128483,2128579,2128675,2128771,2128867,2128963,2129059,2129155,2129251,2129347,2129443,2129539,2129635]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2140964,2141156,2140966,2141158,2141350]), + new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2225378,2225442,2225506,2225570,2225634,2225698,2225762,2225826,2225890,2225954,2226018,2226082,2226146,2226210,2226274,2226338]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137,2105505,2098241,2108353,2108417]), + new Uint32Array([2108353,2108417,0,2105601,2108193,2157121,2157313,2157377,2157441,2100897,6291456,2108419,2173953,2173633,2173633,2173953]), + new Uint32Array([2111713,2173121,2111905,2098177,2173153,2173185,2173217,2113153,2113345,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,2190753]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,2197249,6291456,2117377,2197281,2197313,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,0,0,0,0,0,0,23068672,0,0,0,0,0,6291456,6291456,6291456]), + new Uint32Array([2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100833,2100737,2098337,2101441,2101569,2101697,2101825,2101953]), + new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0]), + new Uint32Array([0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,23068672,23068672,23068672]), + new Uint32Array([2173281,6291456,2173313,6291456,2173345,6291456,2173377,6291456,0,0,10532546,6291456,6291456,6291456,10562017,2173441]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,0,0]), + new Uint32Array([23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2159426,2159490,2159554,2159362,2159618,2159682,2139522,2136450,2159746,2159810,2159874,2130978,2131074,2131266,2131362,2159938]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2203233,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2203265,6291456,2203297,6291456,2203329,2203361,6291456]), + new Uint32Array([6291456,6291456,2148418,2148482,2148546,0,6291456,2148610,2186529,2186561,2148417,2148545,2148482,10495778,2143969,10495778]), + new Uint32Array([2134146,2139426,2160962,2134242,2161218,2161282,2161346,2161410,2138658,2134722,2134434,2134818,2097666,2097346,2097698,2105986]), + new Uint32Array([2198881,2198913,2198945,2198977,2199009,2199041,2199073,2199105,2199137,2199169,2199201,2199233,2199265,2199297,2199329,2199361]), + new Uint32Array([0,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]), + new Uint32Array([10610561,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193]), + new Uint32Array([2183873,6291456,2183905,6291456,2183937,6291456,2183969,6291456,2184001,6291456,2184033,6291456,2184065,6291456,2184097,6291456]), + new Uint32Array([2244642,2244706,2244769,2244801,2218305,2244833,2244865,2244897,2244929,2244961,2244993,2245026,2245089,2245122,2245185,0]), + new Uint32Array([6291456,6291456,2116513,2116609,2116705,2116801,2199873,2199905,2199937,2199969,2190913,2200001,2200033,2200065,2200097,2191009]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2180673,2180705,2180737,2180769,2180801,2180833,0,0]), + new Uint32Array([2098081,2099521,2099105,2120705,2098369,2120801,2103361,2097985,2098433,2121377,2121473,2099169,2099873,2098401,2099393,2152609]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2150402]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,2145666,2145730,6291456,6291456]), + new Uint32Array([2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665]), + new Uint32Array([2187073,6291456,6291456,6291456,6291456,2098241,2098241,2108353,2100897,2111905,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2102404,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,2100612,6291456,6291456,6291456,6291456,6291456,6291456,6291456,10485857]), + new Uint32Array([2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889]), + new Uint32Array([2217697,2217729,2217761,2217793,2217825,2217857,2217889,2217921,2217953,2215873,2217985,2215905,2218017,2218049,2218081,2218113]), + new Uint32Array([2211233,2218849,2216673,2218881,2218913,2218945,2218977,2219009,2216833,2219041,2215137,2219073,2216865,2209505,2219105,2216897]), + new Uint32Array([2240097,2240129,2240161,2240193,2240225,2240257,2240289,2240321,2240353,2240386,2240449,2240481,2240513,2240545,2207905,2240578]), + new Uint32Array([6291456,6291456,2202273,6291456,2202305,6291456,2202337,6291456,2202369,6291456,2202401,6291456,2202433,6291456,2202465,6291456]), + new Uint32Array([0,23068672,23068672,18923394,23068672,18923458,18923522,18884099,18923586,18884195,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2201121,6291456,2201153,6291456,2201185,6291456,2201217,6291456,2201249,6291456,2201281,6291456,2201313,6291456,2201345,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,6291456]), + new Uint32Array([2211041,2211073,2211105,2211137,2211169,2211201,2211233,2211265,2211297,2211329,2211361,2211393,2211425,2211457,2211489,2211521]), + new Uint32Array([2181825,6291456,2181857,6291456,2181889,6291456,2181921,6291456,2181953,6291456,2181985,6291456,2182017,6291456,2182049,6291456]), + new Uint32Array([2162337,2097633,2097633,2097633,2097633,2132705,2132705,2132705,2132705,2097153,2097153,2097153,2097153,2133089,2133089,2133089]), + new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,2148545,6291456,2173473,6291456,2148865,6291456,2173505,6291456,2173537,6291456,2173569,6291456,2149121,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,0,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]), + new Uint32Array([2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2207137,2207169,2207201,2207233,2207265,2207297,2207329,2207361,2207393,2207425,2207457,2207489,2207521,2207553,2207585,2207617]), + new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,6291456,0,23068672,23068672,0,0,0,0,0,0]), + new Uint32Array([2198401,2198433,2198465,2198497,0,2198529,2198561,2198593,2198625,2198657,2198689,2198721,2198753,2198785,2198817,2198849]), + new Uint32Array([2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177]), + new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0,0]), + new Uint32Array([2216385,2118721,2216417,2216449,2216481,2216513,2216545,2211233,2216577,2216609,2216641,2216673,2216705,2216737,2216737,2216769]), + new Uint32Array([2216801,2216833,2216865,2216897,2216929,2216961,2216993,2215169,2217025,2217057,2217089,2217121,2217154,2217217,0,0]), + new Uint32Array([2210593,2191809,2210625,2210657,2210689,2210721,2210753,2210785,2210817,2210849,2191297,2210881,2210913,2210945,2210977,2211009]), + new Uint32Array([0,0,2105825,0,0,2111905,2105473,0,0,2112289,2108193,2112481,2112577,0,2098305,2108321]), + new Uint32Array([0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([0,2097153,2134241,0,2132705,0,0,2131297,0,2133089,0,2133857,0,2220769,0,2235361]), + new Uint32Array([14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,6291456,6291456,14680064]), + new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]), + new Uint32Array([2171873,6291456,2171905,6291456,2171937,6291456,2171969,6291456,2172001,6291456,2172033,6291456,2172065,6291456,2172097,6291456]), + new Uint32Array([2220929,2220929,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2133857,2134145,2134145,2134145,2134145,2134241,2134241,2134241,2134241,2105889,2105889,2105889,2105889,2097185,2097185,2097185]), + new Uint32Array([2173697,2173761,2173793,2174113,2173985,2173953,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793]), + new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,10499619,10499715,10499811,10499907]), + new Uint32Array([0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,0,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,0,23068672,23068672,23068672,0,23068672,23068672,23068672,23068672,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,6291456,23068672,23068672]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,2144322,2144386,2144450,2144514,2144578,2144642,2144706,2144770]), + new Uint32Array([23068672,23068672,23068672,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456]), + new Uint32Array([2113153,2108481,2113345,2113441,2098209,2111137,0,2098241,2108353,2108417,2105825,0,0,2111905,2105473,2105569]), + new Uint32Array([2236321,2236353,0,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2152194,2121283,2103684,2103812,2097986,2098533,2097990,2098693,2098595,2098853,2099013,2103940,2121379,2121475,2121571,2104068]), + new Uint32Array([2206241,2206273,2206305,2206337,2206369,2206401,2206433,2206465,2206497,2206529,2206561,2206593,2206625,2206657,2206689,2206721]), + new Uint32Array([6291456,6291456,6291456,6291456,16777216,16777216,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,23068672,23068672,10538818,10538882,6291456,6291456,2150338]), + new Uint32Array([6291456,6291456,6291456,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2214369,2214401,2214433,2214465,2214497,2214529,2214561,2214593,2194977,2214625,2195073,2214657,2214689,2214721,6291456,6291456]), + new Uint32Array([2097152,2097152,2097152,2097152,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2182081,6291456,2182113,6291456,2182145,6291456,2182177,6291456,2182209,6291456,2182241,6291456,2182273,6291456,2182305,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2146881,2146945,2147009,2147073,2147137,2147201,2147265,2147329]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,23068672,23068672]), + new Uint32Array([0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2122915,2123011,2123107,2104708,2123203,2123299,2123395,2100133,2104836,2100290,2100293,2104962,2104964,2098052,2123491,2123587]), + new Uint32Array([23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456]), + new Uint32Array([6291456,2171169,6291456,2171201,6291456,2171233,6291456,2171265,6291456,2171297,6291456,2171329,6291456,6291456,2171361,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([0,0,2148994,2149058,2149122,0,6291456,2149186,2186945,2173537,2148993,2149121,2149058,10531458,10496066,0]), + new Uint32Array([2195009,2195041,2195073,2195105,2195137,2195169,2195201,2195233,2195265,2195297,2195329,2195361,2195393,2195425,2195457,2195489]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,0,0,6291456,6291456]), + new Uint32Array([2182849,6291456,2182881,6291456,2182913,6291456,2182945,6291456,2182977,6291456,2183009,6291456,2183041,6291456,2183073,6291456]), + new Uint32Array([2211553,2210081,2211585,2211617,2211649,2211681,2211713,2211745,2211777,2211809,2209569,2211841,2211873,2211905,2211937,2211969]), + new Uint32Array([2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2166594,2127298,2166658,2142978,2141827,2166722]), + new Uint32Array([2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233057,2148481,2173601,2173633,2173665,2173697,2173729]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,0,0,2185761,2185793,2185825,2185857,2185889,2185921,0,0]), + new Uint32Array([6291456,2148481,2173601,2173633,2173665,2173697,2173729,2148801,2173761,2143969,2173793,2173825,2153473,2173857,2173889,2173921]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,6291456]), + new Uint32Array([0,0,0,2220961,2220961,2220961,2220961,2144193,2144193,2159201,2159201,2159265,2159265,2144194,2220993,2220993]), + new Uint32Array([2192641,2235393,2235425,2152257,2116609,2235457,2235489,2200065,2235521,2235553,2235585,2212449,2235617,2235649,2235681,2235713]), + new Uint32Array([2194049,2194081,2194113,2194145,2194177,2194209,2194241,2194273,2194305,2194337,2194369,2194401,2194433,2194465,2194497,2194529]), + new Uint32Array([2196673,2208641,2208673,2208705,2208737,2208769,2208801,2208833,2208865,2208897,2208929,2208961,2208993,2209025,2209057,2209089]), + new Uint32Array([2191681,2191713,2191745,2191777,2153281,2191809,2191841,2191873,2191905,2191937,2191969,2192001,2192033,2192065,2192097,2192129]), + new Uint32Array([2230946,2231010,2231074,2231138,2231202,2231266,2231330,2231394,2231458,2231522,2231586,2231650,2231714,2231778,2231842,2231906]), + new Uint32Array([14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064,14680064]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,2185953,2185985,2186017,2186049,2186081,2186113,2186145,2186177]), + new Uint32Array([2139811,2139907,2097284,2105860,2105988,2106116,2106244,2097444,2097604,2097155,10485778,10486344,2106372,6291456,0,0]), + new Uint32Array([2110051,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([0,0,0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2172385,6291456,2172417,6291456,2172449,6291456,2172481,6291456,2172513,6291456,2172545,6291456,2172577,6291456,2172609,6291456]), + new Uint32Array([0,0,23068672,23068672,6291456,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2249345,2249377,2249409,2249441,2249473,2249505,2249537,2249570,2210209,2249633,2249665,2249697,2249729,2249761,2249793,2216769]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,6291456,6291456,6291456,6291456]), + new Uint32Array([2187169,2187201,2187233,2187265,2187297,2187329,2187361,2187393,2187425,2187457,2187489,2187521,2187553,2187585,2187617,2187649]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([0,0,0,6291456,6291456,0,0,0,6291456,6291456,6291456,0,0,0,6291456,6291456]), + new Uint32Array([2182337,6291456,2182369,6291456,2182401,6291456,2182433,6291456,2182465,6291456,2182497,6291456,2182529,6291456,2182561,6291456]), + new Uint32Array([2138179,2138275,2138371,2138467,2134243,2134435,2138563,2138659,2138755,2138851,2138947,2139043,2138947,2138755,2139139,2139235]), + new Uint32Array([23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]), + new Uint32Array([0,0,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2250498,2250562,2250625,2250657,2208321,2250689,2250721,2250753,2250785,2250817,2250849,2218945,2250881,2250913,2250945,0]), + new Uint32Array([2170369,2105569,2098305,2108481,2173249,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456]), + new Uint32Array([2100897,2111905,2105473,2105569,2105601,0,2108193,0,0,0,2098305,2108321,2108289,2100865,2113153,2108481]), + new Uint32Array([2100897,2100897,2105569,2105569,6291456,2112289,2149826,6291456,6291456,2112481,2112577,2098177,2098177,2098177,6291456,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,6291456,6291456,6291456]), + new Uint32Array([6291456,2169953,2169985,6291456,2170017,6291456,2170049,2170081,6291456,2170113,2170145,2170177,6291456,6291456,2170209,2170241]), + new Uint32Array([6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([0,0,0,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2220641,2220641,2220673,2220673,2220673,2220673,2220705,2220705,2220705,2220705,2220737,2220737,2220737,2220737,2220769,2220769]), + new Uint32Array([2127650,2127746,2127842,2127938,2128034,2128130,2128226,2128322,2128418,2127523,2127619,2127715,2127811,2127907,2128003,2128099]), + new Uint32Array([2143969,2173793,2173825,2153473,2173857,2173889,2173921,2173953,2173985,2173761,2174017,2174049,2174081,2174113,2174145,2174177]), + new Uint32Array([0,0,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([2204705,2204737,2204769,2204801,2204833,2204865,2204897,2204929,2204961,2204993,2205025,2205057,2205089,2205121,2205153,2205185]), + new Uint32Array([2176385,6291456,2176417,6291456,2176449,6291456,2176481,6291456,2176513,6291456,2176545,6291456,2176577,6291456,2176609,6291456]), + new Uint32Array([2195521,2195553,2195585,2195617,2195649,2195681,2117857,2195713,2195745,2195777,2195809,2195841,2195873,2195905,2195937,2195969]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,6291456,6291456]), + new Uint32Array([2173921,2173953,2173985,2174017,2174017,2174049,2174081,2174113,2174145,2174177,2149057,2233089,2173697,2173761,2173793,2174113]), + new Uint32Array([2131586,2132450,2135970,2135778,2161602,2136162,2163650,2161794,2135586,2163714,2137186,2131810,2160290,2135170,2097506,2159554]), + new Uint32Array([2134145,2097153,2134241,2105953,2132705,2130977,2160065,2131297,2162049,2133089,2160577,2133857,0,0,0,0]), + new Uint32Array([2116513,2116609,2116705,2116801,2116897,2116993,2117089,2117185,2117281,2117377,2117473,2117569,2117665,2117761,2117857,2117953]), + new Uint32Array([2100737,2098337,2101441,2101569,2101697,2101825,2101953,2102081,2102209,2100802,2101154,2101282,2101410,2101538,2101666,2101794]), + new Uint32Array([2100289,2098657,2098049,2200737,2123489,2123681,2200769,2098625,2100321,2098145,2100449,2098017,2098753,2098977,2150241,2150305]), + new Uint32Array([6291456,6291456,6291456,0,6291456,6291456,6291456,6291456,6291456,2109955,6291456,6291456,0,0,0,0]), + new Uint32Array([18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368,18874368]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,6291456,0,6291456,0,0]), + new Uint32Array([2130979,2131075,2131075,2131171,2131267,2131363,2131459,2131555,2131651,2131651,2131747,2131843,2131939,2132035,2132131,2132227]), + new Uint32Array([0,2177793,6291456,2177825,6291456,2177857,6291456,2177889,6291456,2177921,6291456,2177953,6291456,2177985,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672]), + new Uint32Array([6291456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2113345,0,2098209,2111137,2105505,2098241,2108353,2108417,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289]), + new Uint32Array([2136643,2136739,2136835,2136931,2137027,2137123,2137219,2137315,2137411,2137507,2137603,2137699,2137795,2137891,2137987,2138083]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0]), + new Uint32Array([2174433,6291456,2174465,6291456,2174497,6291456,2174529,6291456,2174561,6291456,2174593,6291456,2174625,6291456,2174657,6291456]), + new Uint32Array([0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441]), + new Uint32Array([10496547,10496643,2105505,2149698,6291456,10496739,10496835,2170273,6291456,2149762,2105825,2111713,2111713,2111713,2111713,2168673]), + new Uint32Array([6291456,2143490,2143490,2143490,2171649,6291456,2171681,2171713,2171745,6291456,2171777,6291456,2171809,6291456,2171841,6291456]), + new Uint32Array([2159106,2159106,2159170,2159170,2159234,2159234,2159298,2159298,2159298,2159362,2159362,2159362,2106401,2106401,2106401,2106401]), + new Uint32Array([2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865,2113153,2108481,2113345,2113441,2098209,2111137]), + new Uint32Array([2108417,2181217,2181249,2181281,2170433,2170401,2181313,2181345,2181377,2181409,2181441,2181473,2181505,2181537,2170529,2181569]), + new Uint32Array([2218433,2245761,2245793,2245825,2245857,2245890,2245953,2245986,2209665,2246050,2246113,2246146,2246210,2246274,2246337,2246369]), + new Uint32Array([2230754,2230818,2230882,0,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([6291456,0,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,0,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2184129,6291456,2184161,6291456,2184193,6291456,6291456,6291456,6291456,6291456,2146818,2183361,6291456,6291456,2142978,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2135170,2097506,2130691,2130787,2130883,2163970,2164034,2164098,2164162,2164226,2164290,2164354,2164418,2164482,2164546,2133122]), + new Uint32Array([2108515,2108611,2100740,2108707,2108803,2108899,2108995,2109091,2109187,2109283,2109379,2109475,2109571,2109667,2109763,2100738]), + new Uint32Array([2102788,2102916,2103044,2120515,2103172,2120611,2120707,2098373,2103300,2120803,2120899,2120995,2103428,2103556,2121091,2121187]), + new Uint32Array([2158082,2158146,0,2158210,2158274,0,2158338,2158402,2158466,2129922,2158530,2158594,2158658,2158722,2158786,2158850]), + new Uint32Array([10499619,10499715,10499811,10499907,10500003,10500099,10500195,10500291,10500387,10500483,10500579,10500675,10500771,10500867,10500963,10501059]), + new Uint32Array([2239585,2239618,2239681,2239713,0,2191969,2239745,2239777,2192033,2239809,2239841,2239874,2239937,2239970,2240033,2240065]), + new Uint32Array([2252705,2252738,2252801,2252833,2252865,2252897,2252930,2252994,2253057,2253089,2253121,2253154,2253217,2253250,2219361,2219361]), + new Uint32Array([2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,2108193,2112481,2112577,2098177,2098305,2108321,2108289,2100865]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,10538050,10538114,10538178,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([2226402,2226466,2226530,2226594,2226658,2226722,2226786,2226850,2226914,2226978,2227042,2227106,2227170,2227234,2227298,2227362]), + new Uint32Array([23068672,6291456,6291456,6291456,6291456,2144066,2144130,2144194,2144258,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,23068672,23068672,23068672,6291456,23068672,23068672]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0]), + new Uint32Array([2124674,2124770,2123875,2123971,2124067,2124163,2124259,2124355,2124451,2124547,2124643,2124739,2124835,2124931,2125027,2125123]), + new Uint32Array([2168065,6291456,2168097,6291456,2168129,6291456,2168161,6291456,2168193,6291456,2168225,6291456,2168257,6291456,2168289,6291456]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0]), + new Uint32Array([23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,2100610,2100611,6291456,2107842,2107843,6291456,6291456,6291456,6291456,10537922,6291456,10537986,6291456]), + new Uint32Array([2174849,2174881,2174913,2174945,2174977,2175009,2175041,2175073,2175105,2175137,2175169,2175201,2175233,2175265,2175297,2175329]), + new Uint32Array([2154562,2154626,2154690,2154754,2141858,2154818,2154882,2127298,2154946,2127298,2155010,2155074,2155138,2155202,2155266,2155202]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456,6291456,6291456,6291456,6291456,23068672,0]), + new Uint32Array([2200641,2150786,2150850,2150914,2150978,2151042,2106562,2151106,2150562,2151170,2151234,2151298,2151362,2151426,2151490,2151554]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,23068672,0,0,0,0,0,0,0,0,6291456,6291456]), + new Uint32Array([2220289,2220289,2220321,2220321,2220321,2220321,2220353,2220353,2220353,2220353,2220385,2220385,2220385,2220385,2220417,2220417]), + new Uint32Array([2155330,2155394,0,2155458,2155522,2155586,2105732,0,2155650,2155714,2155778,2125314,2155842,2155906,2126274,2155970]), + new Uint32Array([23068672,23068672,23068672,23068672,23068672,6291456,6291456,23068672,23068672,6291456,23068672,23068672,23068672,23068672,6291456,6291456]), + new Uint32Array([6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,6291456,0,0,0,0,0,0]), + new Uint32Array([2097729,2106017,2106017,2106017,2106017,2131297,2131297,2131297,2131297,2106081,2106081,2162049,2162049,2105953,2105953,2162337]), + new Uint32Array([2097185,2097697,2097697,2097697,2097697,2135777,2135777,2135777,2135777,2097377,2097377,2097377,2097377,2097601,2097601,2097217]), + new Uint32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23068672]), + new Uint32Array([2139331,2139427,2139523,2139043,2133571,2132611,2139619,2139715,0,0,0,0,0,0,0,0]), + new Uint32Array([2174113,2174145,2100897,2098177,2108289,2100865,2173601,2173633,2173985,2174113,2174145,6291456,6291456,6291456,6291456,6291456]), + new Uint32Array([6291456,6291456,23068672,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456,23068672,6291456,6291456,6291456,6291456]), + new Uint32Array([23068672,23068672,18923778,23068672,23068672,23068672,23068672,18923842,23068672,23068672,23068672,23068672,18923906,23068672,23068672,23068672]), + new Uint32Array([2134145,2097153,2134241,0,2132705,2130977,2160065,2131297,0,2133089,0,2133857,0,0,0,0]), + new Uint32Array([6291456,6291456,6291456,6291456,0,0,0,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2177537,6291456,2177569,6291456,2177601,6291456,2177633,6291456,2177665,6291456,2177697,6291456,2177729,6291456,2177761,6291456]), + new Uint32Array([2212481,2212513,2212545,2212577,2197121,2212609,2212641,2212673,2212705,2212737,2212769,2212801,2212833,2212865,2212897,2212929]), + new Uint32Array([6291456,6291456,23068672,23068672,23068672,6291456,6291456,0,0,0,0,0,0,0,0,0]), + new Uint32Array([2098241,2108353,2170209,2105825,2111713,2100897,2111905,2105473,2105569,2105601,2112289,6291456,2108193,2172417,2112481,2098177]), + new Uint32Array([6291456,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,23068672,6291456,6291456]), +]; +var blockIdxes = new Uint16Array([616,616,565,147,161,411,330,2,131,131,328,454,241,408,86,86,696,113,285,350,325,301,473,214,639,232,447,64,369,598,124,672,567,223,621,154,107,86,86,86,86,86,86,505,86,68,634,86,218,218,218,218,486,218,218,513,188,608,216,86,217,463,668,85,700,360,184,86,86,86,647,402,153,10,346,718,662,260,145,298,117,1,443,342,138,54,563,86,240,572,218,70,387,86,118,460,641,602,86,86,306,218,86,692,86,86,86,86,86,162,707,86,458,26,86,218,638,86,86,86,86,86,65,449,86,86,306,183,86,58,391,667,86,157,131,131,131,131,86,433,131,406,31,218,247,86,86,693,218,581,351,86,438,295,69,462,45,126,173,650,14,295,69,97,168,187,641,78,523,390,69,108,287,664,173,219,83,295,69,108,431,426,173,694,412,115,628,52,257,398,641,118,501,121,69,579,151,423,173,620,464,121,69,382,151,476,173,27,53,121,86,594,578,226,173,86,632,130,86,96,228,268,641,622,563,86,86,21,148,650,131,131,321,43,144,343,381,531,131,131,178,20,86,399,156,375,164,541,30,60,715,198,92,118,131,131,86,86,306,407,86,280,457,196,488,358,131,131,244,86,86,143,86,86,86,86,86,667,563,86,86,86,86,86,86,86,86,86,86,86,86,86,336,363,86,86,336,86,86,380,678,67,86,86,86,678,86,86,86,512,86,307,86,708,86,86,86,86,86,528,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,563,307,86,86,86,86,86,104,450,337,86,720,86,32,450,397,86,86,86,587,218,558,708,708,293,708,86,86,86,86,86,694,205,86,8,86,86,86,86,549,86,667,697,697,679,86,458,460,86,86,650,86,708,543,86,86,86,245,86,86,86,140,218,127,708,708,458,197,131,131,131,131,500,86,86,483,251,86,306,510,515,86,722,86,86,86,65,201,86,86,483,580,470,86,86,86,368,131,131,131,694,114,110,555,86,86,123,721,163,142,713,418,86,317,675,209,218,218,218,371,545,592,629,490,603,199,46,320,525,680,310,279,388,111,42,252,593,607,235,617,410,377,50,548,135,356,17,520,189,116,392,600,349,332,482,699,690,535,119,106,451,71,152,667,131,218,218,265,671,637,492,504,533,683,269,269,658,86,86,86,86,86,86,86,86,86,491,619,86,86,6,86,86,86,86,86,86,86,86,86,86,86,229,86,86,86,86,86,86,86,86,86,86,86,86,667,86,86,171,131,118,131,656,206,234,571,89,334,670,246,311,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,534,86,86,86,86,86,86,82,86,86,86,86,86,430,86,86,86,86,86,86,86,86,86,599,86,324,86,470,69,640,264,131,626,101,174,86,86,667,233,105,73,374,394,221,204,84,28,326,86,86,471,86,86,86,109,573,86,171,200,200,200,200,218,218,86,86,86,86,460,131,131,131,86,506,86,86,86,86,86,220,404,34,614,47,442,305,25,612,338,601,648,7,344,255,131,131,51,86,312,507,563,86,86,86,86,588,86,86,86,86,86,530,511,86,458,3,435,384,556,522,230,527,86,118,86,86,717,86,137,273,79,181,484,23,93,112,655,249,417,703,370,87,98,313,684,585,155,465,596,481,695,18,416,428,61,701,706,282,643,495,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,549,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,549,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,307,86,86,86,171,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,650,131,422,542,420,263,24,172,86,86,86,86,86,566,86,86,132,540,395,353,494,519,19,485,284,472,131,131,131,16,714,86,211,708,86,86,86,694,698,86,86,483,704,708,218,272,86,86,120,86,159,478,86,307,247,86,86,663,597,459,627,667,86,86,277,455,39,302,86,250,86,86,86,271,99,452,306,281,329,400,200,86,86,362,549,352,646,461,323,586,86,86,4,708,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,717,86,518,86,86,650,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,125,554,480,300,613,72,333,288,561,544,604,48,719,91,169,176,590,224,76,191,29,559,560,231,537,166,477,538,256,437,131,131,469,167,40,0,685,266,441,705,239,642,475,568,640,610,299,673,517,318,385,22,202,180,179,359,424,215,90,66,521,653,467,682,453,409,479,88,131,661,35,303,15,262,666,630,712,131,131,618,659,175,218,195,347,193,227,261,150,165,709,546,294,569,710,270,413,376,524,55,242,38,419,529,170,657,3,304,122,379,278,131,651,86,67,576,458,458,131,131,86,86,86,86,86,86,86,118,309,86,86,547,86,86,86,86,667,650,664,131,131,86,86,56,131,131,131,131,131,131,131,131,86,307,86,86,86,664,238,650,86,86,717,86,118,86,86,315,86,59,86,86,574,549,131,131,340,57,436,86,86,86,86,86,86,458,708,499,691,62,86,650,86,86,694,86,86,86,319,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,171,86,549,694,131,131,131,131,131,131,131,131,131,77,86,86,139,86,502,86,86,86,667,595,131,131,131,86,12,86,13,86,609,131,131,131,131,86,86,86,625,86,669,86,86,182,129,86,5,694,104,86,86,86,86,131,131,86,86,386,171,86,86,86,345,86,324,86,589,86,213,36,131,131,131,131,131,86,86,86,86,104,131,131,131,141,290,80,677,86,86,86,267,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,667,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,515,86,86,33,136,669,86,711,515,86,86,550,640,86,104,708,515,86,159,372,717,86,86,444,515,86,86,663,37,86,563,460,86,390,624,702,131,131,131,131,389,59,708,86,86,341,208,708,635,295,69,108,431,508,100,190,131,131,131,131,131,131,131,131,86,86,86,649,516,660,131,131,86,86,86,218,631,708,131,131,131,131,131,131,131,131,131,131,86,86,341,575,238,514,131,131,86,86,86,218,291,708,307,131,86,86,306,367,708,131,131,131,86,378,697,86,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,615,253,86,86,86,292,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,104,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,69,86,341,553,549,86,307,86,86,645,275,455,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,708,131,131,131,131,131,131,86,86,86,86,86,86,667,460,86,86,86,86,86,86,86,86,86,86,86,86,717,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,667,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,171,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,104,86,667,459,131,131,131,131,131,131,86,458,225,86,86,86,516,549,11,390,405,86,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,460,44,218,197,711,515,131,131,131,131,664,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,307,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,308,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,640,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,118,307,104,286,591,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,549,86,86,681,86,86,75,185,314,582,86,358,496,474,86,104,131,86,86,86,86,146,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,171,86,640,131,131,131,131,131,131,131,131,246,503,689,339,674,81,258,415,439,128,562,366,414,246,503,689,583,222,557,316,636,665,186,355,95,670,246,503,689,339,674,557,258,415,439,186,355,95,670,246,503,689,446,644,536,652,331,532,335,440,274,421,297,570,74,425,364,425,606,552,403,509,134,365,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,218,218,218,498,218,218,577,627,551,497,572,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,553,354,236,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,296,455,131,131,456,243,103,86,41,459,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,9,276,158,716,393,564,383,489,401,654,210,654,131,131,131,640,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,650,86,86,86,86,86,86,717,667,563,563,563,86,549,102,686,133,246,605,86,448,86,86,207,307,131,131,131,641,86,177,611,445,373,194,584,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,308,307,171,86,86,86,86,86,86,86,717,86,86,86,86,86,460,131,131,650,86,86,86,694,708,86,86,694,86,458,131,131,131,131,131,131,667,694,289,650,667,131,131,86,640,131,131,664,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,171,131,131,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,460,86,86,86,86,86,86,86,86,86,86,86,86,86,458,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,640,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,466,203,149,429,94,432,160,687,539,63,237,283,192,248,348,259,427,526,396,676,254,468,487,212,327,623,49,633,322,493,434,688,357,361,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131]); +var mappingStr = "صلى الله عليه وسلمجل جلالهキロメートルrad∕s2エスクードキログラムキロワットグラムトンクルゼイロサンチームパーセントピアストルファラッドブッシェルヘクタールマンションミリバールレントゲン′′′′1⁄10viii(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)∫∫∫∫(오전)(오후)アパートアルファアンペアイニングエーカーカラットカロリーキュリーギルダークローネサイクルシリングバーレルフィートポイントマイクロミクロンメガトンリットルルーブル株式会社kcalm∕s2c∕kgاكبرمحمدصلعمرسولریال1⁄41⁄23⁄4 ̈́ྲཱྀླཱྀ ̈͂ ̓̀ ̓́ ̓͂ ̔̀ ̔́ ̔͂ ̈̀‵‵‵a/ca/sc/oc/utelfax1⁄71⁄91⁄32⁄31⁄52⁄53⁄54⁄51⁄65⁄61⁄83⁄85⁄87⁄8xii0⁄3∮∮∮(1)(2)(3)(4)(5)(6)(7)(8)(9)(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)::====(ᄀ)(ᄂ)(ᄃ)(ᄅ)(ᄆ)(ᄇ)(ᄉ)(ᄋ)(ᄌ)(ᄎ)(ᄏ)(ᄐ)(ᄑ)(ᄒ)(가)(나)(다)(라)(마)(바)(사)(아)(자)(차)(카)(타)(파)(하)(주)(一)(二)(三)(四)(五)(六)(七)(八)(九)(十)(月)(火)(水)(木)(金)(土)(日)(株)(有)(社)(名)(特)(財)(祝)(労)(代)(呼)(学)(監)(企)(資)(協)(祭)(休)(自)(至)pte10月11月12月ergltdアールインチウォンオンスオームカイリガロンガンマギニーケースコルナコーポセンチダースノットハイツパーツピクルフランペニヒヘルツペンスページベータボルトポンドホールホーンマイルマッハマルクヤードヤールユアンルピー10点11点12点13点14点15点16点17点18点19点20点21点22点23点24点hpabardm2dm3khzmhzghzthzmm2cm2km2mm3cm3km3kpampagpalogmilmolppmv∕ma∕m10日11日12日13日14日15日16日17日18日19日20日21日22日23日24日25日26日27日28日29日30日31日galffifflשּׁשּׂ ٌّ ٍّ َّ ُّ ِّ ّٰـَّـُّـِّتجمتحجتحمتخمتمجتمحتمخجمححميحمىسحجسجحسجىسمحسمجسممصححصممشحمشجيشمخشممضحىضخمطمحطممطميعجمعممعمىغممغميغمىفخمقمحقمملحملحيلحىلججلخملمحمحجمحيمجحمجممخممجخهمجهممنحمنحىنجمنجىنمينمىيممبخيتجيتجىتخيتخىتميتمىجميجحىجمىسخىصحيشحيضحيلجيلمييحييجييميمميقمينحيعميكمينجحمخيلجمكممجحيحجيمجيفميبحيسخينجيصلےقلے𝅘𝅥𝅮𝅘𝅥𝅯𝅘𝅥𝅰𝅘𝅥𝅱𝅘𝅥𝅲𝆹𝅥𝅮𝆺𝅥𝅮𝆹𝅥𝅯𝆺𝅥𝅯〔s〕ppv〔本〕〔三〕〔二〕〔安〕〔点〕〔打〕〔盗〕〔勝〕〔敗〕 ̄ ́ ̧ssi̇ijl·ʼndžljnjdz ̆ ̇ ̊ ̨ ̃ ̋ ιեւاٴوٴۇٴيٴक़ख़ग़ज़ड़ढ़फ़य़ড়ঢ়য়ਲ਼ਸ਼ਖ਼ਗ਼ਜ਼ਫ਼ଡ଼ଢ଼ําໍາຫນຫມགྷཌྷདྷབྷཛྷཀྵཱཱིུྲྀླྀྒྷྜྷྡྷྦྷྫྷྐྵaʾἀιἁιἂιἃιἄιἅιἆιἇιἠιἡιἢιἣιἤιἥιἦιἧιὠιὡιὢιὣιὤιὥιὦιὧιὰιαιάιᾶι ͂ὴιηιήιῆιὼιωιώιῶι ̳!! ̅???!!?rs°c°fnosmtmivix⫝̸ ゙ ゚よりコト333435참고주의363738394042444546474849503月4月5月6月7月8月9月hgevギガデシドルナノピコビルペソホンリラレムdaauovpciu平成昭和大正明治naμakakbmbgbpfnfμfμgmgμlmldlklfmnmμmpsnsμsmsnvμvkvpwnwμwmwkwkωmωbqcccddbgyhainkkktlnlxphprsrsvwbstմնմեմիվնմխיִײַשׁשׂאַאָאּבּגּדּהּוּזּטּיּךּכּלּמּנּסּףּפּצּקּרּתּוֹבֿכֿפֿאלئائەئوئۇئۆئۈئېئىئجئحئمئيبجبمبىبيتىتيثجثمثىثيخحضجضمطحظمغجفجفحفىفيقحقىقيكاكجكحكخكلكىكينخنىنيهجهىهييىذٰرٰىٰئرئزئنبزبنترتزتنثرثزثنمانرنزننيريزئخئهبهتهصخنههٰثهسهشهطىطيعىعيغىغيسىسيشىشيصىصيضىضيشخشرسرصرضراً ًـًـّ ْـْلآلألإ𝅗𝅥0,1,2,3,4,5,6,7,8,9,wzhvsdwcmcmddjほかココàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįĵķĺļľłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷÿźżɓƃƅɔƈɖɗƌǝəɛƒɠɣɩɨƙɯɲɵơƣƥʀƨʃƭʈưʊʋƴƶʒƹƽǎǐǒǔǖǘǚǜǟǡǣǥǧǩǫǭǯǵƕƿǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟƞȣȥȧȩȫȭȯȱȳⱥȼƚⱦɂƀʉʌɇɉɋɍɏɦɹɻʁʕͱͳʹͷ;ϳέίόύβγδεζθκλνξοπρστυφχψϊϋϗϙϛϝϟϡϣϥϧϩϫϭϯϸϻͻͼͽѐёђѓєѕіїјљњћќѝўџабвгдежзийклмнопрстуфхцчшщъыьэюяѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯաբգդզէըթժլծկհձղճյշոչպջռստրցփքօֆ་ⴧⴭნᏰᏱᏲᏳᏴᏵꙋɐɑᴂɜᴖᴗᴝᴥɒɕɟɡɥɪᵻʝɭᶅʟɱɰɳɴɸʂƫᴜʐʑḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿἐἑἒἓἔἕἰἱἲἳἴἵἶἷὀὁὂὃὄὅὑὓὕὗᾰᾱὲΐῐῑὶΰῠῡὺῥ`ὸ‐+−∑〈〉ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞⱡɫᵽɽⱨⱪⱬⱳⱶȿɀⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳬⳮⳳⵡ母龟丨丶丿乙亅亠人儿入冂冖冫几凵刀力勹匕匚匸卜卩厂厶又口囗士夂夊夕女子宀寸小尢尸屮山巛工己巾干幺广廴廾弋弓彐彡彳心戈戶手支攴文斗斤方无曰欠止歹殳毋比毛氏气爪父爻爿片牙牛犬玄玉瓜瓦甘生用田疋疒癶白皮皿目矛矢石示禸禾穴立竹米糸缶网羊羽老而耒耳聿肉臣臼舌舛舟艮色艸虍虫血行衣襾見角言谷豆豕豸貝赤走足身車辛辰辵邑酉釆里長門阜隶隹雨靑非面革韋韭音頁風飛食首香馬骨高髟鬥鬯鬲鬼魚鳥鹵鹿麥麻黃黍黑黹黽鼎鼓鼠鼻齊齒龍龜龠.〒卄卅ᄁᆪᆬᆭᄄᆰᆱᆲᆳᆴᆵᄚᄈᄡᄊ짜ᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵᄔᄕᇇᇈᇌᇎᇓᇗᇙᄜᇝᇟᄝᄞᄠᄢᄣᄧᄩᄫᄬᄭᄮᄯᄲᄶᅀᅇᅌᇱᇲᅗᅘᅙᆄᆅᆈᆑᆒᆔᆞᆡ上中下甲丙丁天地問幼箏우秘男適優印注項写左右医宗夜テヌモヨヰヱヲꙁꙃꙅꙇꙉꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝺꝼᵹꝿꞁꞃꞅꞇꞌꞑꞓꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩɬʞʇꭓꞵꞷꬷꭒᎠᎡᎢᎣᎤᎥᎦᎧᎨᎩᎪᎫᎬᎭᎮᎯᎰᎱᎲᎳᎴᎵᎶᎷᎸᎹᎺᎻᎼᎽᎾᎿᏀᏁᏂᏃᏄᏅᏆᏇᏈᏉᏊᏋᏌᏍᏎᏏᏐᏑᏒᏓᏔᏕᏖᏗᏘᏙᏚᏛᏜᏝᏞᏟᏠᏡᏢᏣᏤᏥᏦᏧᏨᏩᏪᏫᏬᏭᏮᏯ豈更賈滑串句契喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧蘆虜路露魯鷺碌祿綠菉錄論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏諾丹寧怒率異北磻便復不泌數索參塞省葉說殺沈拾若掠略亮兩凉梁糧良諒量勵呂廬旅濾礪閭驪麗黎曆歷轢年憐戀撚漣煉璉秊練聯輦蓮連鍊列劣咽烈裂廉念捻殮簾獵令囹嶺怜玲瑩羚聆鈴零靈領例禮醴隸惡了僚寮尿料燎療蓼遼暈阮劉杻柳流溜琉留硫紐類戮陸倫崙淪輪律慄栗隆利吏履易李梨泥理痢罹裏裡離匿溺吝燐璘藺隣鱗麟林淋臨笠粒狀炙識什茶刺切度拓糖宅洞暴輻降廓兀嗀塚晴凞猪益礼神祥福靖精蘒諸逸都飯飼館鶴郞隷侮僧免勉勤卑喝嘆器塀墨層悔慨憎懲敏既暑梅海渚漢煮爫琢碑祉祈祐祖禍禎穀突節縉繁署者臭艹著褐視謁謹賓贈辶難響頻恵𤋮舘並况全侀充冀勇勺啕喙嗢墳奄奔婢嬨廒廙彩徭惘慎愈慠戴揄搜摒敖望杖滛滋瀞瞧爵犯瑱甆画瘝瘟盛直睊着磌窱类絛缾荒華蝹襁覆調請諭變輸遲醙鉶陼韛頋鬒𢡊𢡄𣏕㮝䀘䀹𥉉𥳐𧻓齃龎עםٱٻپڀٺٿٹڤڦڄڃچڇڍڌڎڈژڑکگڳڱںڻۀہھۓڭۋۅۉ、〖〗—–_{}【】《》「」『』[]#&*-<>\\$%@ءؤة\"'^|~⦅⦆・ゥャ¢£¬¦¥₩│←↑→↓■○𐐨𐐩𐐪𐐫𐐬𐐭𐐮𐐯𐐰𐐱𐐲𐐳𐐴𐐵𐐶𐐷𐐸𐐹𐐺𐐻𐐼𐐽𐐾𐐿𐑀𐑁𐑂𐑃𐑄𐑅𐑆𐑇𐑈𐑉𐑊𐑋𐑌𐑍𐑎𐑏𐓘𐓙𐓚𐓛𐓜𐓝𐓞𐓟𐓠𐓡𐓢𐓣𐓤𐓥𐓦𐓧𐓨𐓩𐓪𐓫𐓬𐓭𐓮𐓯𐓰𐓱𐓲𐓳𐓴𐓵𐓶𐓷𐓸𐓹𐓺𐓻𐳀𐳁𐳂𐳃𐳄𐳅𐳆𐳇𐳈𐳉𐳊𐳋𐳌𐳍𐳎𐳏𐳐𐳑𐳒𐳓𐳔𐳕𐳖𐳗𐳘𐳙𐳚𐳛𐳜𐳝𐳞𐳟𐳠𐳡𐳢𐳣𐳤𐳥𐳦𐳧𐳨𐳩𐳪𐳫𐳬𐳭𐳮𐳯𐳰𐳱𐳲𑣀𑣁𑣂𑣃𑣄𑣅𑣆𑣇𑣈𑣉𑣊𑣋𑣌𑣍𑣎𑣏𑣐𑣑𑣒𑣓𑣔𑣕𑣖𑣗𑣘𑣙𑣚𑣛𑣜𑣝𑣞𑣟ıȷ∇∂𞤢𞤣𞤤𞤥𞤦𞤧𞤨𞤩𞤪𞤫𞤬𞤭𞤮𞤯𞤰𞤱𞤲𞤳𞤴𞤵𞤶𞤷𞤸𞤹𞤺𞤻𞤼𞤽𞤾𞤿𞥀𞥁𞥂𞥃ٮڡٯ字双多解交映無前後再新初終販声吹演投捕遊指禁空合満申割営配得可丽丸乁𠄢你侻倂偺備像㒞𠘺兔兤具𠔜㒹內𠕋冗冤仌冬𩇟刃㓟刻剆剷㔕包匆卉博即卽卿𠨬灰及叟𠭣叫叱吆咞吸呈周咢哶唐啓啣善喫喳嗂圖圗噑噴壮城埴堍型堲報墬𡓤売壷夆夢奢𡚨𡛪姬娛娧姘婦㛮嬈嬾𡧈寃寘寳𡬘寿将㞁屠峀岍𡷤嵃𡷦嵮嵫嵼巡巢㠯巽帨帽幩㡢𢆃㡼庰庳庶𪎒𢌱舁弢㣇𣊸𦇚形彫㣣徚忍志忹悁㤺㤜𢛔惇慈慌慺憲憤憯懞戛扝抱拔捐𢬌挽拼捨掃揤𢯱搢揅掩㨮摩摾撝摷㩬敬𣀊旣書晉㬙㬈㫤冒冕最暜肭䏙朡杞杓𣏃㭉柺枅桒𣑭梎栟椔楂榣槪檨𣚣櫛㰘次𣢧歔㱎歲殟殻𣪍𡴋𣫺汎𣲼沿泍汧洖派浩浸涅𣴞洴港湮㴳滇𣻑淹潮𣽞𣾎濆瀹瀛㶖灊災灷炭𠔥煅𤉣熜爨牐𤘈犀犕𤜵𤠔獺王㺬玥㺸瑇瑜璅瓊㼛甤𤰶甾𤲒𢆟瘐𤾡𤾸𥁄㿼䀈𥃳𥃲𥄙𥄳眞真瞋䁆䂖𥐝硎䃣𥘦𥚚𥛅秫䄯穊穏𥥼𥪧䈂𥮫篆築䈧𥲀糒䊠糨糣紀𥾆絣䌁緇縂繅䌴𦈨𦉇䍙𦋙罺𦌾羕翺𦓚𦔣聠𦖨聰𣍟䏕育脃䐋脾媵𦞧𦞵𣎓𣎜舄辞䑫芑芋芝劳花芳芽苦𦬼茝荣莭茣莽菧荓菊菌菜𦰶𦵫𦳕䔫蓱蓳蔖𧏊蕤𦼬䕝䕡𦾱𧃒䕫虐虧虩蚩蚈蜎蛢蜨蝫螆蟡蠁䗹衠𧙧裗裞䘵裺㒻𧢮𧥦䚾䛇誠𧲨貫賁贛起𧼯𠠄跋趼跰𠣞軔𨗒𨗭邔郱鄑𨜮鄛鈸鋗鋘鉼鏹鐕𨯺開䦕閷𨵷䧦雃嶲霣𩅅𩈚䩮䩶韠𩐊䪲𩒖頩𩖶飢䬳餩馧駂駾䯎𩬰鱀鳽䳎䳭鵧𪃎䳸𪄅𪈎𪊑䵖黾鼅鼏鼖𪘀"; + +function mapChar(codePoint) { + if (codePoint >= 0x30000) { + // High planes are special cased. + if (codePoint >= 0xE0100 && codePoint <= 0xE01EF) + return 18874368; + return 0; + } + return blocks[blockIdxes[codePoint >> 4]][codePoint & 15]; +} + +return { + mapStr: mappingStr, + mapChar: mapChar +}; +})); + + +/***/ }), +/* 118 */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(root, factory) { + /* istanbul ignore next */ + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(123), __webpack_require__(117)], __WEBPACK_AMD_DEFINE_RESULT__ = function(punycode, idna_map) { + return factory(punycode, idna_map); + }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } + else if (typeof exports === 'object') { + module.exports = factory(require('punycode'), require('./idna-map')); + } + else { + root.uts46 = factory(root.punycode, root.idna_map); + } +}(this, function(punycode, idna_map) { + + function mapLabel(label, useStd3ASCII, transitional) { + var mapped = []; + var chars = punycode.ucs2.decode(label); + for (var i = 0; i < chars.length; i++) { + var cp = chars[i]; + var ch = punycode.ucs2.encode([chars[i]]); + var composite = idna_map.mapChar(cp); + var flags = (composite >> 23); + var kind = (composite >> 21) & 3; + var index = (composite >> 5) & 0xffff; + var length = composite & 0x1f; + var value = idna_map.mapStr.substr(index, length); + if (kind === 0 || (useStd3ASCII && (flags & 1))) { + throw new Error("Illegal char " + ch); + } + else if (kind === 1) { + mapped.push(value); + } + else if (kind === 2) { + mapped.push(transitional ? value : ch); + } + /* istanbul ignore next */ + else if (kind === 3) { + mapped.push(ch); + } + } + + var newLabel = mapped.join("").normalize("NFC"); + return newLabel; + } + + function process(domain, transitional, useStd3ASCII) { + /* istanbul ignore if */ + if (useStd3ASCII === undefined) + useStd3ASCII = false; + var mappedIDNA = mapLabel(domain, useStd3ASCII, transitional); + + // Step 3. Break + var labels = mappedIDNA.split("."); + + // Step 4. Convert/Validate + labels = labels.map(function(label) { + if (label.startsWith("xn--")) { + label = punycode.decode(label.substring(4)); + validateLabel(label, useStd3ASCII, false); + } + else { + validateLabel(label, useStd3ASCII, transitional); + } + return label; + }); + + return labels.join("."); + } + + function validateLabel(label, useStd3ASCII, transitional) { + // 2. The label must not contain a U+002D HYPHEN-MINUS character in both the + // third position and fourth positions. + if (label[2] === '-' && label[3] === '-') + throw new Error("Failed to validate " + label); + + // 3. The label must neither begin nor end with a U+002D HYPHEN-MINUS + // character. + if (label.startsWith('-') || label.endsWith('-')) + throw new Error("Failed to validate " + label); + + // 4. The label must not contain a U+002E ( . ) FULL STOP. + // this should nerver happen as label is chunked internally by this character + /* istanbul ignore if */ + if (label.includes('.')) + throw new Error("Failed to validate " + label); + + if (mapLabel(label, useStd3ASCII, transitional) !== label) + throw new Error("Failed to validate " + label); + + // 5. The label must not begin with a combining mark, that is: + // General_Category=Mark. + var ch = label.codePointAt(0); + if (idna_map.mapChar(ch) & (0x2 << 23)) + throw new Error("Label contains illegal character: " + ch); + } + + function toAscii(domain, options) { + if (options === undefined) + options = {}; + var transitional = 'transitional' in options ? options.transitional : true; + var useStd3ASCII = 'useStd3ASCII' in options ? options.useStd3ASCII : false; + var verifyDnsLength = 'verifyDnsLength' in options ? options.verifyDnsLength : false; + var labels = process(domain, transitional, useStd3ASCII).split('.'); + var asciiLabels = labels.map(punycode.toASCII); + var asciiString = asciiLabels.join('.'); + var i; + if (verifyDnsLength) { + if (asciiString.length < 1 || asciiString.length > 253) { + throw new Error("DNS name has wrong length: " + asciiString); + } + for (i = 0; i < asciiLabels.length; i++) {//for .. of replacement + var label = asciiLabels[i]; + if (label.length < 1 || label.length > 63) + throw new Error("DNS label has wrong length: " + label); + } + } + return asciiString; + } + + function toUnicode(domain, options) { + if (options === undefined) + options = {}; + var useStd3ASCII = 'useStd3ASCII' in options ? options.useStd3ASCII : false; + return process(domain, false, useStd3ASCII); + } + + return { + toUnicode: toUnicode, + toAscii: toAscii, + }; +})); + + +/***/ }), +/* 119 */ +/***/ (function(module, exports) { + +exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m + var eLen = (nBytes * 8) - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var nBits = -7 + var i = isLE ? (nBytes - 1) : 0 + var d = isLE ? -1 : 1 + var s = buffer[offset + i] + + i += d + + e = s & ((1 << (-nBits)) - 1) + s >>= (-nBits) + nBits += eLen + for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1) + e >>= (-nBits) + nBits += mLen + for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity) + } else { + m = m + Math.pow(2, mLen) + e = e - eBias + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +} + +exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c + var eLen = (nBytes * 8) - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) + var i = isLE ? 0 : (nBytes - 1) + var d = isLE ? 1 : -1 + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 + + value = Math.abs(value) + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0 + e = eMax + } else { + e = Math.floor(Math.log(value) / Math.LN2) + if (value * (c = Math.pow(2, -e)) < 1) { + e-- + c *= 2 + } + if (e + eBias >= 1) { + value += rt / c + } else { + value += rt * Math.pow(2, 1 - eBias) + } + if (value * c >= 2) { + e++ + c /= 2 + } + + if (e + eBias >= eMax) { + m = 0 + e = eMax + } else if (e + eBias >= 1) { + m = ((value * c) - 1) * Math.pow(2, mLen) + e = e + eBias + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) + e = 0 + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m + eLen += mLen + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128 +} + + +/***/ }), +/* 120 */ +/***/ (function(module, exports) { + +/** + * Returns a `Boolean` on whether or not the a `String` starts with '0x' + * @param {String} str the string input value + * @return {Boolean} a boolean if it is or is not hex prefixed + * @throws if the str input is not a string + */ +module.exports = function isHexPrefixed(str) { + if (typeof str !== 'string') { + throw new Error("[is-hex-prefixed] value must be type 'string', is currently type " + (typeof str) + ", while checking isHexPrefixed."); + } + + return str.slice(0, 2) === '0x'; +} + + +/***/ }), +/* 121 */ +/***/ (function(module, exports) { + +var toString = {}.toString; + +module.exports = Array.isArray || function (arr) { + return toString.call(arr) == '[object Array]'; +}; + + +/***/ }), +/* 122 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(process, global) {/** + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.6.1 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2017 + * @license MIT + */ +/*jslint bitwise: true */ +(function () { + 'use strict'; + + var root = typeof window === 'object' ? window : {}; + var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node; + if (NODE_JS) { + root = global; + } + var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && typeof module === 'object' && module.exports; + var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined'; + var HEX_CHARS = '0123456789abcdef'.split(''); + var SHAKE_PADDING = [31, 7936, 2031616, 520093696]; + var CSHAKE_PADDING = [4, 1024, 262144, 67108864]; + var KECCAK_PADDING = [1, 256, 65536, 16777216]; + var PADDING = [6, 1536, 393216, 100663296]; + var SHIFT = [0, 8, 16, 24]; + var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, + 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, + 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, + 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, + 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]; + var BITS = [224, 256, 384, 512]; + var SHAKE_BITS = [128, 256]; + var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array']; + var CSHAKE_BYTEPAD = { + '128': 168, + '256': 136 + }; + + if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) { + Array.isArray = function (obj) { + return Object.prototype.toString.call(obj) === '[object Array]'; + }; + } + + var createOutputMethod = function (bits, padding, outputType) { + return function (message) { + return new Keccak(bits, padding, bits).update(message)[outputType](); + }; + }; + + var createShakeOutputMethod = function (bits, padding, outputType) { + return function (message, outputBits) { + return new Keccak(bits, padding, outputBits).update(message)[outputType](); + }; + }; + + var createCshakeOutputMethod = function (bits, padding, outputType) { + return function (message, outputBits, n, s) { + return methods['cshake' + bits].update(message, outputBits, n, s)[outputType](); + }; + }; + + var createKmacOutputMethod = function (bits, padding, outputType) { + return function (key, message, outputBits, s) { + return methods['kmac' + bits].update(key, message, outputBits, s)[outputType](); + }; + }; + + var createOutputMethods = function (method, createMethod, bits, padding) { + for (var i = 0; i < OUTPUT_TYPES.length; ++i) { + var type = OUTPUT_TYPES[i]; + method[type] = createMethod(bits, padding, type); + } + return method; + }; + + var createMethod = function (bits, padding) { + var method = createOutputMethod(bits, padding, 'hex'); + method.create = function () { + return new Keccak(bits, padding, bits); + }; + method.update = function (message) { + return method.create().update(message); + }; + return createOutputMethods(method, createOutputMethod, bits, padding); + }; + + var createShakeMethod = function (bits, padding) { + var method = createShakeOutputMethod(bits, padding, 'hex'); + method.create = function (outputBits) { + return new Keccak(bits, padding, outputBits); + }; + method.update = function (message, outputBits) { + return method.create(outputBits).update(message); + }; + return createOutputMethods(method, createShakeOutputMethod, bits, padding); + }; + + var createCshakeMethod = function (bits, padding) { + var w = CSHAKE_BYTEPAD[bits]; + var method = createCshakeOutputMethod(bits, padding, 'hex'); + method.create = function (outputBits, n, s) { + if (!n && !s) { + return methods['shake' + bits].create(outputBits); + } else { + return new Keccak(bits, padding, outputBits).bytepad([n, s], w); + } + }; + method.update = function (message, outputBits, n, s) { + return method.create(outputBits, n, s).update(message); + }; + return createOutputMethods(method, createCshakeOutputMethod, bits, padding); + }; + + var createKmacMethod = function (bits, padding) { + var w = CSHAKE_BYTEPAD[bits]; + var method = createKmacOutputMethod(bits, padding, 'hex'); + method.create = function (key, outputBits, s) { + return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w); + }; + method.update = function (key, message, outputBits, s) { + return method.create(key, outputBits, s).update(message); + }; + return createOutputMethods(method, createKmacOutputMethod, bits, padding); + }; + + var algorithms = [ + {name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod}, + {name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod}, + {name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod}, + {name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod}, + {name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod} + ]; + + var methods = {}, methodNames = []; + + for (var i = 0; i < algorithms.length; ++i) { + var algorithm = algorithms[i]; + var bits = algorithm.bits; + for (var j = 0; j < bits.length; ++j) { + var methodName = algorithm.name + '_' + bits[j]; + methodNames.push(methodName); + methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding); + if (algorithm.name !== 'sha3') { + var newMethodName = algorithm.name + bits[j]; + methodNames.push(newMethodName); + methods[newMethodName] = methods[methodName]; + } + } + } + + function Keccak(bits, padding, outputBits) { + this.blocks = []; + this.s = []; + this.padding = padding; + this.outputBits = outputBits; + this.reset = true; + this.block = 0; + this.start = 0; + this.blockCount = (1600 - (bits << 1)) >> 5; + this.byteCount = this.blockCount << 2; + this.outputBlocks = outputBits >> 5; + this.extraBytes = (outputBits & 31) >> 3; + + for (var i = 0; i < 50; ++i) { + this.s[i] = 0; + } + } + + Keccak.prototype.update = function (message) { + var notString = typeof message !== 'string'; + if (notString && message.constructor === root.ArrayBuffer) { + message = new Uint8Array(message); + } + var length = message.length; + if (notString) { + if (typeof length !== 'number' || + !Array.isArray(message) && + !(ARRAY_BUFFER && ArrayBuffer.isView(message))) { + throw 'input is invalid type'; + } + } + var blocks = this.blocks, byteCount = this.byteCount, + blockCount = this.blockCount, index = 0, s = this.s, i, code; + + while (index < length) { + if (this.reset) { + this.reset = false; + blocks[0] = this.block; + for (i = 1; i < blockCount + 1; ++i) { + blocks[i] = 0; + } + } + if (notString) { + for (i = this.start; index < length && i < byteCount; ++index) { + blocks[i >> 2] |= message[index] << SHIFT[i++ & 3]; + } + } else { + for (i = this.start; index < length && i < byteCount; ++index) { + code = message.charCodeAt(index); + if (code < 0x80) { + blocks[i >> 2] |= code << SHIFT[i++ & 3]; + } else if (code < 0x800) { + blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; + } else if (code < 0xd800 || code >= 0xe000) { + blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; + } else { + code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff)); + blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; + } + } + } + this.lastByteIndex = i; + if (i >= byteCount) { + this.start = i - byteCount; + this.block = blocks[blockCount]; + for (i = 0; i < blockCount; ++i) { + s[i] ^= blocks[i]; + } + f(s); + this.reset = true; + } else { + this.start = i; + } + } + return this; + }; + + Keccak.prototype.encode = function (x, right) { + var o = x & 255, n = 1; + var bytes = [o]; + x = x >> 8; + o = x & 255; + while (o > 0) { + bytes.unshift(o); + x = x >> 8; + o = x & 255; + ++n; + } + if (right) { + bytes.push(n); + } else { + bytes.unshift(n); + } + this.update(bytes); + return bytes.length; + }; + + Keccak.prototype.encodeString = function (str) { + str = str || ''; + var notString = typeof str !== 'string'; + if (notString && str.constructor === root.ArrayBuffer) { + str = new Uint8Array(str); + } + var length = str.length; + if (notString) { + if (typeof length !== 'number' || + !Array.isArray(str) && + !(ARRAY_BUFFER && ArrayBuffer.isView(str))) { + throw 'input is invalid type'; + } + } + var bytes = 0; + if (notString) { + bytes = length; + } else { + for (var i = 0; i < str.length; ++i) { + var code = str.charCodeAt(i); + if (code < 0x80) { + bytes += 1; + } else if (code < 0x800) { + bytes += 2; + } else if (code < 0xd800 || code >= 0xe000) { + bytes += 3; + } else { + code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff)); + bytes += 4; + } + } + } + bytes += this.encode(bytes * 8); + this.update(str); + return bytes; + }; + + Keccak.prototype.bytepad = function (strs, w) { + var bytes = this.encode(w); + for (var i = 0;i < strs.length;++i) { + bytes += this.encodeString(strs[i]); + } + var paddingBytes = w - bytes % w; + var zeros = []; + zeros.length = paddingBytes; + this.update(zeros); + return this; + }; + + Keccak.prototype.finalize = function () { + var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s; + blocks[i >> 2] |= this.padding[i & 3]; + if (this.lastByteIndex === this.byteCount) { + blocks[0] = blocks[blockCount]; + for (i = 1; i < blockCount + 1; ++i) { + blocks[i] = 0; + } + } + blocks[blockCount - 1] |= 0x80000000; + for (i = 0; i < blockCount; ++i) { + s[i] ^= blocks[i]; + } + f(s); + }; + + Keccak.prototype.toString = Keccak.prototype.hex = function () { + this.finalize(); + + var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, + extraBytes = this.extraBytes, i = 0, j = 0; + var hex = '', block; + while (j < outputBlocks) { + for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { + block = s[i]; + hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] + + HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] + + HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] + + HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F]; + } + if (j % blockCount === 0) { + f(s); + i = 0; + } + } + if (extraBytes) { + block = s[i]; + if (extraBytes > 0) { + hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F]; + } + if (extraBytes > 1) { + hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F]; + } + if (extraBytes > 2) { + hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F]; + } + } + return hex; + }; + + Keccak.prototype.arrayBuffer = function () { + this.finalize(); + + var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, + extraBytes = this.extraBytes, i = 0, j = 0; + var bytes = this.outputBits >> 3; + var buffer; + if (extraBytes) { + buffer = new ArrayBuffer((outputBlocks + 1) << 2); + } else { + buffer = new ArrayBuffer(bytes); + } + var array = new Uint32Array(buffer); + while (j < outputBlocks) { + for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { + array[j] = s[i]; + } + if (j % blockCount === 0) { + f(s); + } + } + if (extraBytes) { + array[i] = s[i]; + buffer = buffer.slice(0, bytes); + } + return buffer; + }; + + Keccak.prototype.buffer = Keccak.prototype.arrayBuffer; + + Keccak.prototype.digest = Keccak.prototype.array = function () { + this.finalize(); + + var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, + extraBytes = this.extraBytes, i = 0, j = 0; + var array = [], offset, block; + while (j < outputBlocks) { + for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { + offset = j << 2; + block = s[i]; + array[offset] = block & 0xFF; + array[offset + 1] = (block >> 8) & 0xFF; + array[offset + 2] = (block >> 16) & 0xFF; + array[offset + 3] = (block >> 24) & 0xFF; + } + if (j % blockCount === 0) { + f(s); + } + } + if (extraBytes) { + offset = j << 2; + block = s[i]; + if (extraBytes > 0) { + array[offset] = block & 0xFF; + } + if (extraBytes > 1) { + array[offset + 1] = (block >> 8) & 0xFF; + } + if (extraBytes > 2) { + array[offset + 2] = (block >> 16) & 0xFF; + } + } + return array; + }; + + function Kmac(bits, padding, outputBits) { + Keccak.call(this, bits, padding, outputBits); + } + + Kmac.prototype = new Keccak(); + + Kmac.prototype.finalize = function () { + this.encode(this.outputBits, true); + return Keccak.prototype.finalize.call(this); + }; + + var f = function (s) { + var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, + b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, + b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, + b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49; + for (n = 0; n < 48; n += 2) { + c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]; + c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]; + c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]; + c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]; + c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]; + c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]; + c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]; + c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]; + c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]; + c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]; + + h = c8 ^ ((c2 << 1) | (c3 >>> 31)); + l = c9 ^ ((c3 << 1) | (c2 >>> 31)); + s[0] ^= h; + s[1] ^= l; + s[10] ^= h; + s[11] ^= l; + s[20] ^= h; + s[21] ^= l; + s[30] ^= h; + s[31] ^= l; + s[40] ^= h; + s[41] ^= l; + h = c0 ^ ((c4 << 1) | (c5 >>> 31)); + l = c1 ^ ((c5 << 1) | (c4 >>> 31)); + s[2] ^= h; + s[3] ^= l; + s[12] ^= h; + s[13] ^= l; + s[22] ^= h; + s[23] ^= l; + s[32] ^= h; + s[33] ^= l; + s[42] ^= h; + s[43] ^= l; + h = c2 ^ ((c6 << 1) | (c7 >>> 31)); + l = c3 ^ ((c7 << 1) | (c6 >>> 31)); + s[4] ^= h; + s[5] ^= l; + s[14] ^= h; + s[15] ^= l; + s[24] ^= h; + s[25] ^= l; + s[34] ^= h; + s[35] ^= l; + s[44] ^= h; + s[45] ^= l; + h = c4 ^ ((c8 << 1) | (c9 >>> 31)); + l = c5 ^ ((c9 << 1) | (c8 >>> 31)); + s[6] ^= h; + s[7] ^= l; + s[16] ^= h; + s[17] ^= l; + s[26] ^= h; + s[27] ^= l; + s[36] ^= h; + s[37] ^= l; + s[46] ^= h; + s[47] ^= l; + h = c6 ^ ((c0 << 1) | (c1 >>> 31)); + l = c7 ^ ((c1 << 1) | (c0 >>> 31)); + s[8] ^= h; + s[9] ^= l; + s[18] ^= h; + s[19] ^= l; + s[28] ^= h; + s[29] ^= l; + s[38] ^= h; + s[39] ^= l; + s[48] ^= h; + s[49] ^= l; + + b0 = s[0]; + b1 = s[1]; + b32 = (s[11] << 4) | (s[10] >>> 28); + b33 = (s[10] << 4) | (s[11] >>> 28); + b14 = (s[20] << 3) | (s[21] >>> 29); + b15 = (s[21] << 3) | (s[20] >>> 29); + b46 = (s[31] << 9) | (s[30] >>> 23); + b47 = (s[30] << 9) | (s[31] >>> 23); + b28 = (s[40] << 18) | (s[41] >>> 14); + b29 = (s[41] << 18) | (s[40] >>> 14); + b20 = (s[2] << 1) | (s[3] >>> 31); + b21 = (s[3] << 1) | (s[2] >>> 31); + b2 = (s[13] << 12) | (s[12] >>> 20); + b3 = (s[12] << 12) | (s[13] >>> 20); + b34 = (s[22] << 10) | (s[23] >>> 22); + b35 = (s[23] << 10) | (s[22] >>> 22); + b16 = (s[33] << 13) | (s[32] >>> 19); + b17 = (s[32] << 13) | (s[33] >>> 19); + b48 = (s[42] << 2) | (s[43] >>> 30); + b49 = (s[43] << 2) | (s[42] >>> 30); + b40 = (s[5] << 30) | (s[4] >>> 2); + b41 = (s[4] << 30) | (s[5] >>> 2); + b22 = (s[14] << 6) | (s[15] >>> 26); + b23 = (s[15] << 6) | (s[14] >>> 26); + b4 = (s[25] << 11) | (s[24] >>> 21); + b5 = (s[24] << 11) | (s[25] >>> 21); + b36 = (s[34] << 15) | (s[35] >>> 17); + b37 = (s[35] << 15) | (s[34] >>> 17); + b18 = (s[45] << 29) | (s[44] >>> 3); + b19 = (s[44] << 29) | (s[45] >>> 3); + b10 = (s[6] << 28) | (s[7] >>> 4); + b11 = (s[7] << 28) | (s[6] >>> 4); + b42 = (s[17] << 23) | (s[16] >>> 9); + b43 = (s[16] << 23) | (s[17] >>> 9); + b24 = (s[26] << 25) | (s[27] >>> 7); + b25 = (s[27] << 25) | (s[26] >>> 7); + b6 = (s[36] << 21) | (s[37] >>> 11); + b7 = (s[37] << 21) | (s[36] >>> 11); + b38 = (s[47] << 24) | (s[46] >>> 8); + b39 = (s[46] << 24) | (s[47] >>> 8); + b30 = (s[8] << 27) | (s[9] >>> 5); + b31 = (s[9] << 27) | (s[8] >>> 5); + b12 = (s[18] << 20) | (s[19] >>> 12); + b13 = (s[19] << 20) | (s[18] >>> 12); + b44 = (s[29] << 7) | (s[28] >>> 25); + b45 = (s[28] << 7) | (s[29] >>> 25); + b26 = (s[38] << 8) | (s[39] >>> 24); + b27 = (s[39] << 8) | (s[38] >>> 24); + b8 = (s[48] << 14) | (s[49] >>> 18); + b9 = (s[49] << 14) | (s[48] >>> 18); + + s[0] = b0 ^ (~b2 & b4); + s[1] = b1 ^ (~b3 & b5); + s[10] = b10 ^ (~b12 & b14); + s[11] = b11 ^ (~b13 & b15); + s[20] = b20 ^ (~b22 & b24); + s[21] = b21 ^ (~b23 & b25); + s[30] = b30 ^ (~b32 & b34); + s[31] = b31 ^ (~b33 & b35); + s[40] = b40 ^ (~b42 & b44); + s[41] = b41 ^ (~b43 & b45); + s[2] = b2 ^ (~b4 & b6); + s[3] = b3 ^ (~b5 & b7); + s[12] = b12 ^ (~b14 & b16); + s[13] = b13 ^ (~b15 & b17); + s[22] = b22 ^ (~b24 & b26); + s[23] = b23 ^ (~b25 & b27); + s[32] = b32 ^ (~b34 & b36); + s[33] = b33 ^ (~b35 & b37); + s[42] = b42 ^ (~b44 & b46); + s[43] = b43 ^ (~b45 & b47); + s[4] = b4 ^ (~b6 & b8); + s[5] = b5 ^ (~b7 & b9); + s[14] = b14 ^ (~b16 & b18); + s[15] = b15 ^ (~b17 & b19); + s[24] = b24 ^ (~b26 & b28); + s[25] = b25 ^ (~b27 & b29); + s[34] = b34 ^ (~b36 & b38); + s[35] = b35 ^ (~b37 & b39); + s[44] = b44 ^ (~b46 & b48); + s[45] = b45 ^ (~b47 & b49); + s[6] = b6 ^ (~b8 & b0); + s[7] = b7 ^ (~b9 & b1); + s[16] = b16 ^ (~b18 & b10); + s[17] = b17 ^ (~b19 & b11); + s[26] = b26 ^ (~b28 & b20); + s[27] = b27 ^ (~b29 & b21); + s[36] = b36 ^ (~b38 & b30); + s[37] = b37 ^ (~b39 & b31); + s[46] = b46 ^ (~b48 & b40); + s[47] = b47 ^ (~b49 & b41); + s[8] = b8 ^ (~b0 & b2); + s[9] = b9 ^ (~b1 & b3); + s[18] = b18 ^ (~b10 & b12); + s[19] = b19 ^ (~b11 & b13); + s[28] = b28 ^ (~b20 & b22); + s[29] = b29 ^ (~b21 & b23); + s[38] = b38 ^ (~b30 & b32); + s[39] = b39 ^ (~b31 & b33); + s[48] = b48 ^ (~b40 & b42); + s[49] = b49 ^ (~b41 & b43); + + s[0] ^= RC[n]; + s[1] ^= RC[n + 1]; + } + }; + + if (COMMON_JS) { + module.exports = methods; + } else { + for (var i = 0; i < methodNames.length; ++i) { + root[methodNames[i]] = methods[methodNames[i]]; + } + } +})(); + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22), __webpack_require__(4))) + +/***/ }), +/* 123 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.4.1 by @mathias */ +;(function(root) { + + /** Detect free variables */ + var freeExports = typeof exports == 'object' && exports && + !exports.nodeType && exports; + var freeModule = typeof module == 'object' && module && + !module.nodeType && module; + var freeGlobal = typeof global == 'object' && global; + if ( + freeGlobal.global === freeGlobal || + freeGlobal.window === freeGlobal || + freeGlobal.self === freeGlobal + ) { + root = freeGlobal; + } + + /** + * The `punycode` object. + * @name punycode + * @type Object + */ + var punycode, + + /** Highest positive signed 32-bit float value */ + maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 + + /** Bootstring parameters */ + base = 36, + tMin = 1, + tMax = 26, + skew = 38, + damp = 700, + initialBias = 72, + initialN = 128, // 0x80 + delimiter = '-', // '\x2D' + + /** Regular expressions */ + regexPunycode = /^xn--/, + regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars + regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators + + /** Error messages */ + errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' + }, + + /** Convenience shortcuts */ + baseMinusTMin = base - tMin, + floor = Math.floor, + stringFromCharCode = String.fromCharCode, + + /** Temporary variable */ + key; + + /*--------------------------------------------------------------------------*/ + + /** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ + function error(type) { + throw new RangeError(errors[type]); + } + + /** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ + function map(array, fn) { + var length = array.length; + var result = []; + while (length--) { + result[length] = fn(array[length]); + } + return result; + } + + /** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ + function mapDomain(string, fn) { + var parts = string.split('@'); + var result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + var labels = string.split('.'); + var encoded = map(labels, fn).join('.'); + return result + encoded; + } + + /** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ + function ucs2decode(string) { + var output = [], + counter = 0, + length = string.length, + value, + extra; + while (counter < length) { + value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // high surrogate, and there is a next character + extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { // low surrogate + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // unmatched surrogate; only append this code unit, in case the next + // code unit is the high surrogate of a surrogate pair + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; + } + + /** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ + function ucs2encode(array) { + return map(array, function(value) { + var output = ''; + if (value > 0xFFFF) { + value -= 0x10000; + output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); + value = 0xDC00 | value & 0x3FF; + } + output += stringFromCharCode(value); + return output; + }).join(''); + } + + /** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ + function basicToDigit(codePoint) { + if (codePoint - 48 < 10) { + return codePoint - 22; + } + if (codePoint - 65 < 26) { + return codePoint - 65; + } + if (codePoint - 97 < 26) { + return codePoint - 97; + } + return base; + } + + /** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ + function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); + } + + /** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ + function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); + } + + /** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ + function decode(input) { + // Don't use UCS-2 + var output = [], + inputLength = input.length, + out, + i = 0, + n = initialN, + bias = initialBias, + basic, + j, + index, + oldi, + w, + k, + digit, + t, + /** Cached calculation results */ + baseMinusT; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + for (oldi = i, w = 1, k = base; /* no condition */; k += base) { + + if (index >= inputLength) { + error('invalid-input'); + } + + digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error('overflow'); + } + + i += digit * w; + t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + + if (digit < t) { + break; + } + + baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error('overflow'); + } + + w *= baseMinusT; + + } + + out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output + output.splice(i++, 0, n); + + } + + return ucs2encode(output); + } + + /** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ + function encode(input) { + var n, + delta, + handledCPCount, + basicLength, + bias, + j, + m, + q, + k, + t, + currentValue, + output = [], + /** `inputLength` will hold the number of code points in `input`. */ + inputLength, + /** Cached calculation results */ + handledCPCountPlusOne, + baseMinusT, + qMinusT; + + // Convert the input in UCS-2 to Unicode + input = ucs2decode(input); + + // Cache the length + inputLength = input.length; + + // Initialize the state + n = initialN; + delta = 0; + bias = initialBias; + + // Handle the basic code points + for (j = 0; j < inputLength; ++j) { + currentValue = input[j]; + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + + handledCPCount = basicLength = output.length; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string - if it is not empty - with a delimiter + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + for (m = maxInt, j = 0; j < inputLength; ++j) { + currentValue = input[j]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow + handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (j = 0; j < inputLength; ++j) { + currentValue = input[j]; + + if (currentValue < n && ++delta > maxInt) { + error('overflow'); + } + + if (currentValue == n) { + // Represent delta as a generalized variable-length integer + for (q = delta, k = base; /* no condition */; k += base) { + t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + if (q < t) { + break; + } + qMinusT = q - t; + baseMinusT = base - t; + output.push( + stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) + ); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + + ++delta; + ++n; + + } + return output.join(''); + } + + /** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ + function toUnicode(input) { + return mapDomain(input, function(string) { + return regexPunycode.test(string) + ? decode(string.slice(4).toLowerCase()) + : string; + }); + } + + /** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ + function toASCII(input) { + return mapDomain(input, function(string) { + return regexNonASCII.test(string) + ? 'xn--' + encode(string) + : string; + }); + } + + /*--------------------------------------------------------------------------*/ + + /** Define the public API */ + punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '1.4.1', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode + }; + + /** Expose `punycode` */ + // Some AMD build optimizers, like r.js, check for specific condition patterns + // like the following: + if ( + true + ) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { + return punycode; + }.call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else if (freeExports && freeModule) { + if (module.exports == freeExports) { + // in Node.js, io.js, or RingoJS v0.8.0+ + freeModule.exports = punycode; + } else { + // in Narwhal or RingoJS v0.7.0- + for (key in punycode) { + punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); + } + } + } else { + // in Rhino or a web browser + root.punycode = punycode; + } + +}(this)); + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(14)(module), __webpack_require__(4))) + +/***/ }), +/* 124 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module) {(function (module, exports) { + 'use strict'; + + // Utils + function assert (val, msg) { + if (!val) throw new Error(msg || 'Assertion failed'); + } + + // Could use `inherits` module, but don't want to move from single file + // architecture yet. + function inherits (ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function () {}; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + + // BN + + function BN (number, base, endian) { + if (BN.isBN(number)) { + return number; + } + + this.negative = 0; + this.words = null; + this.length = 0; + + // Reduction context + this.red = null; + + if (number !== null) { + if (base === 'le' || base === 'be') { + endian = base; + base = 10; + } + + this._init(number || 0, base || 10, endian || 'be'); + } + } + if (typeof module === 'object') { + module.exports = BN; + } else { + exports.BN = BN; + } + + BN.BN = BN; + BN.wordSize = 26; + + var Buffer; + try { + Buffer = __webpack_require__(21).Buffer; + } catch (e) { + } + + BN.isBN = function isBN (num) { + if (num instanceof BN) { + return true; + } + + return num !== null && typeof num === 'object' && + num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); + }; + + BN.max = function max (left, right) { + if (left.cmp(right) > 0) return left; + return right; + }; + + BN.min = function min (left, right) { + if (left.cmp(right) < 0) return left; + return right; + }; + + BN.prototype._init = function init (number, base, endian) { + if (typeof number === 'number') { + return this._initNumber(number, base, endian); + } + + if (typeof number === 'object') { + return this._initArray(number, base, endian); + } + + if (base === 'hex') { + base = 16; + } + assert(base === (base | 0) && base >= 2 && base <= 36); + + number = number.toString().replace(/\s+/g, ''); + var start = 0; + if (number[0] === '-') { + start++; + } + + if (base === 16) { + this._parseHex(number, start); + } else { + this._parseBase(number, base, start); + } + + if (number[0] === '-') { + this.negative = 1; + } + + this.strip(); + + if (endian !== 'le') return; + + this._initArray(this.toArray(), base, endian); + }; + + BN.prototype._initNumber = function _initNumber (number, base, endian) { + if (number < 0) { + this.negative = 1; + number = -number; + } + if (number < 0x4000000) { + this.words = [ number & 0x3ffffff ]; + this.length = 1; + } else if (number < 0x10000000000000) { + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff + ]; + this.length = 2; + } else { + assert(number < 0x20000000000000); // 2 ^ 53 (unsafe) + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff, + 1 + ]; + this.length = 3; + } + + if (endian !== 'le') return; + + // Reverse the bytes + this._initArray(this.toArray(), base, endian); + }; + + BN.prototype._initArray = function _initArray (number, base, endian) { + // Perhaps a Uint8Array + assert(typeof number.length === 'number'); + if (number.length <= 0) { + this.words = [ 0 ]; + this.length = 1; + return this; + } + + this.length = Math.ceil(number.length / 3); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + var j, w; + var off = 0; + if (endian === 'be') { + for (i = number.length - 1, j = 0; i >= 0; i -= 3) { + w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } else if (endian === 'le') { + for (i = 0, j = 0; i < number.length; i += 3) { + w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } + return this.strip(); + }; + + function parseHex (str, start, end) { + var r = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + + r <<= 4; + + // 'a' - 'f' + if (c >= 49 && c <= 54) { + r |= c - 49 + 0xa; + + // 'A' - 'F' + } else if (c >= 17 && c <= 22) { + r |= c - 17 + 0xa; + + // '0' - '9' + } else { + r |= c & 0xf; + } + } + return r; + } + + BN.prototype._parseHex = function _parseHex (number, start) { + // Create possibly bigger array to ensure that it fits the number + this.length = Math.ceil((number.length - start) / 6); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + var j, w; + // Scan 24-bit chunks and add them to the number + var off = 0; + for (i = number.length - 6, j = 0; i >= start; i -= 6) { + w = parseHex(number, i, i + 6); + this.words[j] |= (w << off) & 0x3ffffff; + // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb + this.words[j + 1] |= w >>> (26 - off) & 0x3fffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + if (i + 6 !== start) { + w = parseHex(number, start, i + 6); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] |= w >>> (26 - off) & 0x3fffff; + } + this.strip(); + }; + + function parseBase (str, start, end, mul) { + var r = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + + r *= mul; + + // 'a' + if (c >= 49) { + r += c - 49 + 0xa; + + // 'A' + } else if (c >= 17) { + r += c - 17 + 0xa; + + // '0' - '9' + } else { + r += c; + } + } + return r; + } + + BN.prototype._parseBase = function _parseBase (number, base, start) { + // Initialize as zero + this.words = [ 0 ]; + this.length = 1; + + // Find length of limb in base + for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) { + limbLen++; + } + limbLen--; + limbPow = (limbPow / base) | 0; + + var total = number.length - start; + var mod = total % limbLen; + var end = Math.min(total, total - mod) + start; + + var word = 0; + for (var i = start; i < end; i += limbLen) { + word = parseBase(number, i, i + limbLen, base); + + this.imuln(limbPow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + + if (mod !== 0) { + var pow = 1; + word = parseBase(number, i, number.length, base); + + for (i = 0; i < mod; i++) { + pow *= base; + } + + this.imuln(pow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + }; + + BN.prototype.copy = function copy (dest) { + dest.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + dest.words[i] = this.words[i]; + } + dest.length = this.length; + dest.negative = this.negative; + dest.red = this.red; + }; + + BN.prototype.clone = function clone () { + var r = new BN(null); + this.copy(r); + return r; + }; + + BN.prototype._expand = function _expand (size) { + while (this.length < size) { + this.words[this.length++] = 0; + } + return this; + }; + + // Remove leading `0` from `this` + BN.prototype.strip = function strip () { + while (this.length > 1 && this.words[this.length - 1] === 0) { + this.length--; + } + return this._normSign(); + }; + + BN.prototype._normSign = function _normSign () { + // -0 = 0 + if (this.length === 1 && this.words[0] === 0) { + this.negative = 0; + } + return this; + }; + + BN.prototype.inspect = function inspect () { + return (this.red ? ''; + }; + + /* + + var zeros = []; + var groupSizes = []; + var groupBases = []; + + var s = ''; + var i = -1; + while (++i < BN.wordSize) { + zeros[i] = s; + s += '0'; + } + groupSizes[0] = 0; + groupSizes[1] = 0; + groupBases[0] = 0; + groupBases[1] = 0; + var base = 2 - 1; + while (++base < 36 + 1) { + var groupSize = 0; + var groupBase = 1; + while (groupBase < (1 << BN.wordSize) / base) { + groupBase *= base; + groupSize += 1; + } + groupSizes[base] = groupSize; + groupBases[base] = groupBase; + } + + */ + + var zeros = [ + '', + '0', + '00', + '000', + '0000', + '00000', + '000000', + '0000000', + '00000000', + '000000000', + '0000000000', + '00000000000', + '000000000000', + '0000000000000', + '00000000000000', + '000000000000000', + '0000000000000000', + '00000000000000000', + '000000000000000000', + '0000000000000000000', + '00000000000000000000', + '000000000000000000000', + '0000000000000000000000', + '00000000000000000000000', + '000000000000000000000000', + '0000000000000000000000000' + ]; + + var groupSizes = [ + 0, 0, + 25, 16, 12, 11, 10, 9, 8, + 8, 7, 7, 7, 7, 6, 6, + 6, 6, 6, 6, 6, 5, 5, + 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5 + ]; + + var groupBases = [ + 0, 0, + 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, + 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, + 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, + 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, + 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176 + ]; + + BN.prototype.toString = function toString (base, padding) { + base = base || 10; + padding = padding | 0 || 1; + + var out; + if (base === 16 || base === 'hex') { + out = ''; + var off = 0; + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = this.words[i]; + var word = (((w << off) | carry) & 0xffffff).toString(16); + carry = (w >>> (24 - off)) & 0xffffff; + if (carry !== 0 || i !== this.length - 1) { + out = zeros[6 - word.length] + word + out; + } else { + out = word + out; + } + off += 2; + if (off >= 26) { + off -= 26; + i--; + } + } + if (carry !== 0) { + out = carry.toString(16) + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + if (base === (base | 0) && base >= 2 && base <= 36) { + // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base)); + var groupSize = groupSizes[base]; + // var groupBase = Math.pow(base, groupSize); + var groupBase = groupBases[base]; + out = ''; + var c = this.clone(); + c.negative = 0; + while (!c.isZero()) { + var r = c.modn(groupBase).toString(base); + c = c.idivn(groupBase); + + if (!c.isZero()) { + out = zeros[groupSize - r.length] + r + out; + } else { + out = r + out; + } + } + if (this.isZero()) { + out = '0' + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + assert(false, 'Base should be between 2 and 36'); + }; + + BN.prototype.toNumber = function toNumber () { + var ret = this.words[0]; + if (this.length === 2) { + ret += this.words[1] * 0x4000000; + } else if (this.length === 3 && this.words[2] === 0x01) { + // NOTE: at this stage it is known that the top bit is set + ret += 0x10000000000000 + (this.words[1] * 0x4000000); + } else if (this.length > 2) { + assert(false, 'Number can only safely store up to 53 bits'); + } + return (this.negative !== 0) ? -ret : ret; + }; + + BN.prototype.toJSON = function toJSON () { + return this.toString(16); + }; + + BN.prototype.toBuffer = function toBuffer (endian, length) { + assert(typeof Buffer !== 'undefined'); + return this.toArrayLike(Buffer, endian, length); + }; + + BN.prototype.toArray = function toArray (endian, length) { + return this.toArrayLike(Array, endian, length); + }; + + BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) { + var byteLength = this.byteLength(); + var reqLength = length || Math.max(1, byteLength); + assert(byteLength <= reqLength, 'byte array longer than desired length'); + assert(reqLength > 0, 'Requested array length <= 0'); + + this.strip(); + var littleEndian = endian === 'le'; + var res = new ArrayType(reqLength); + + var b, i; + var q = this.clone(); + if (!littleEndian) { + // Assume big-endian + for (i = 0; i < reqLength - byteLength; i++) { + res[i] = 0; + } + + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[reqLength - i - 1] = b; + } + } else { + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[i] = b; + } + + for (; i < reqLength; i++) { + res[i] = 0; + } + } + + return res; + }; + + if (Math.clz32) { + BN.prototype._countBits = function _countBits (w) { + return 32 - Math.clz32(w); + }; + } else { + BN.prototype._countBits = function _countBits (w) { + var t = w; + var r = 0; + if (t >= 0x1000) { + r += 13; + t >>>= 13; + } + if (t >= 0x40) { + r += 7; + t >>>= 7; + } + if (t >= 0x8) { + r += 4; + t >>>= 4; + } + if (t >= 0x02) { + r += 2; + t >>>= 2; + } + return r + t; + }; + } + + BN.prototype._zeroBits = function _zeroBits (w) { + // Short-cut + if (w === 0) return 26; + + var t = w; + var r = 0; + if ((t & 0x1fff) === 0) { + r += 13; + t >>>= 13; + } + if ((t & 0x7f) === 0) { + r += 7; + t >>>= 7; + } + if ((t & 0xf) === 0) { + r += 4; + t >>>= 4; + } + if ((t & 0x3) === 0) { + r += 2; + t >>>= 2; + } + if ((t & 0x1) === 0) { + r++; + } + return r; + }; + + // Return number of used bits in a BN + BN.prototype.bitLength = function bitLength () { + var w = this.words[this.length - 1]; + var hi = this._countBits(w); + return (this.length - 1) * 26 + hi; + }; + + function toBitArray (num) { + var w = new Array(num.bitLength()); + + for (var bit = 0; bit < w.length; bit++) { + var off = (bit / 26) | 0; + var wbit = bit % 26; + + w[bit] = (num.words[off] & (1 << wbit)) >>> wbit; + } + + return w; + } + + // Number of trailing zero bits + BN.prototype.zeroBits = function zeroBits () { + if (this.isZero()) return 0; + + var r = 0; + for (var i = 0; i < this.length; i++) { + var b = this._zeroBits(this.words[i]); + r += b; + if (b !== 26) break; + } + return r; + }; + + BN.prototype.byteLength = function byteLength () { + return Math.ceil(this.bitLength() / 8); + }; + + BN.prototype.toTwos = function toTwos (width) { + if (this.negative !== 0) { + return this.abs().inotn(width).iaddn(1); + } + return this.clone(); + }; + + BN.prototype.fromTwos = function fromTwos (width) { + if (this.testn(width - 1)) { + return this.notn(width).iaddn(1).ineg(); + } + return this.clone(); + }; + + BN.prototype.isNeg = function isNeg () { + return this.negative !== 0; + }; + + // Return negative clone of `this` + BN.prototype.neg = function neg () { + return this.clone().ineg(); + }; + + BN.prototype.ineg = function ineg () { + if (!this.isZero()) { + this.negative ^= 1; + } + + return this; + }; + + // Or `num` with `this` in-place + BN.prototype.iuor = function iuor (num) { + while (this.length < num.length) { + this.words[this.length++] = 0; + } + + for (var i = 0; i < num.length; i++) { + this.words[i] = this.words[i] | num.words[i]; + } + + return this.strip(); + }; + + BN.prototype.ior = function ior (num) { + assert((this.negative | num.negative) === 0); + return this.iuor(num); + }; + + // Or `num` with `this` + BN.prototype.or = function or (num) { + if (this.length > num.length) return this.clone().ior(num); + return num.clone().ior(this); + }; + + BN.prototype.uor = function uor (num) { + if (this.length > num.length) return this.clone().iuor(num); + return num.clone().iuor(this); + }; + + // And `num` with `this` in-place + BN.prototype.iuand = function iuand (num) { + // b = min-length(num, this) + var b; + if (this.length > num.length) { + b = num; + } else { + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = this.words[i] & num.words[i]; + } + + this.length = b.length; + + return this.strip(); + }; + + BN.prototype.iand = function iand (num) { + assert((this.negative | num.negative) === 0); + return this.iuand(num); + }; + + // And `num` with `this` + BN.prototype.and = function and (num) { + if (this.length > num.length) return this.clone().iand(num); + return num.clone().iand(this); + }; + + BN.prototype.uand = function uand (num) { + if (this.length > num.length) return this.clone().iuand(num); + return num.clone().iuand(this); + }; + + // Xor `num` with `this` in-place + BN.prototype.iuxor = function iuxor (num) { + // a.length > b.length + var a; + var b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = a.words[i] ^ b.words[i]; + } + + if (this !== a) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = a.length; + + return this.strip(); + }; + + BN.prototype.ixor = function ixor (num) { + assert((this.negative | num.negative) === 0); + return this.iuxor(num); + }; + + // Xor `num` with `this` + BN.prototype.xor = function xor (num) { + if (this.length > num.length) return this.clone().ixor(num); + return num.clone().ixor(this); + }; + + BN.prototype.uxor = function uxor (num) { + if (this.length > num.length) return this.clone().iuxor(num); + return num.clone().iuxor(this); + }; + + // Not ``this`` with ``width`` bitwidth + BN.prototype.inotn = function inotn (width) { + assert(typeof width === 'number' && width >= 0); + + var bytesNeeded = Math.ceil(width / 26) | 0; + var bitsLeft = width % 26; + + // Extend the buffer with leading zeroes + this._expand(bytesNeeded); + + if (bitsLeft > 0) { + bytesNeeded--; + } + + // Handle complete words + for (var i = 0; i < bytesNeeded; i++) { + this.words[i] = ~this.words[i] & 0x3ffffff; + } + + // Handle the residue + if (bitsLeft > 0) { + this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft)); + } + + // And remove leading zeroes + return this.strip(); + }; + + BN.prototype.notn = function notn (width) { + return this.clone().inotn(width); + }; + + // Set `bit` of `this` + BN.prototype.setn = function setn (bit, val) { + assert(typeof bit === 'number' && bit >= 0); + + var off = (bit / 26) | 0; + var wbit = bit % 26; + + this._expand(off + 1); + + if (val) { + this.words[off] = this.words[off] | (1 << wbit); + } else { + this.words[off] = this.words[off] & ~(1 << wbit); + } + + return this.strip(); + }; + + // Add `num` to `this` in-place + BN.prototype.iadd = function iadd (num) { + var r; + + // negative + positive + if (this.negative !== 0 && num.negative === 0) { + this.negative = 0; + r = this.isub(num); + this.negative ^= 1; + return this._normSign(); + + // positive + negative + } else if (this.negative === 0 && num.negative !== 0) { + num.negative = 0; + r = this.isub(num); + num.negative = 1; + return r._normSign(); + } + + // a.length > b.length + var a, b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) + (b.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + + this.length = a.length; + if (carry !== 0) { + this.words[this.length] = carry; + this.length++; + // Copy the rest of the words + } else if (a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + return this; + }; + + // Add `num` to `this` + BN.prototype.add = function add (num) { + var res; + if (num.negative !== 0 && this.negative === 0) { + num.negative = 0; + res = this.sub(num); + num.negative ^= 1; + return res; + } else if (num.negative === 0 && this.negative !== 0) { + this.negative = 0; + res = num.sub(this); + this.negative = 1; + return res; + } + + if (this.length > num.length) return this.clone().iadd(num); + + return num.clone().iadd(this); + }; + + // Subtract `num` from `this` in-place + BN.prototype.isub = function isub (num) { + // this - (-num) = this + num + if (num.negative !== 0) { + num.negative = 0; + var r = this.iadd(num); + num.negative = 1; + return r._normSign(); + + // -this - num = -(this + num) + } else if (this.negative !== 0) { + this.negative = 0; + this.iadd(num); + this.negative = 1; + return this._normSign(); + } + + // At this point both numbers are positive + var cmp = this.cmp(num); + + // Optimization - zeroify + if (cmp === 0) { + this.negative = 0; + this.length = 1; + this.words[0] = 0; + return this; + } + + // a > b + var a, b; + if (cmp > 0) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) - (b.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + + // Copy rest of the words + if (carry === 0 && i < a.length && a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = Math.max(this.length, i); + + if (a !== this) { + this.negative = 1; + } + + return this.strip(); + }; + + // Subtract `num` from `this` + BN.prototype.sub = function sub (num) { + return this.clone().isub(num); + }; + + function smallMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + var len = (self.length + num.length) | 0; + out.length = len; + len = (len - 1) | 0; + + // Peel one iteration (compiler can't do it, because of code complexity) + var a = self.words[0] | 0; + var b = num.words[0] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + var carry = (r / 0x4000000) | 0; + out.words[0] = lo; + + for (var k = 1; k < len; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = carry >>> 26; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = (k - j) | 0; + a = self.words[i] | 0; + b = num.words[j] | 0; + r = a * b + rword; + ncarry += (r / 0x4000000) | 0; + rword = r & 0x3ffffff; + } + out.words[k] = rword | 0; + carry = ncarry | 0; + } + if (carry !== 0) { + out.words[k] = carry | 0; + } else { + out.length--; + } + + return out.strip(); + } + + // TODO(indutny): it may be reasonable to omit it for users who don't need + // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit + // multiplication (like elliptic secp256k1). + var comb10MulTo = function comb10MulTo (self, num, out) { + var a = self.words; + var b = num.words; + var o = out.words; + var c = 0; + var lo; + var mid; + var hi; + var a0 = a[0] | 0; + var al0 = a0 & 0x1fff; + var ah0 = a0 >>> 13; + var a1 = a[1] | 0; + var al1 = a1 & 0x1fff; + var ah1 = a1 >>> 13; + var a2 = a[2] | 0; + var al2 = a2 & 0x1fff; + var ah2 = a2 >>> 13; + var a3 = a[3] | 0; + var al3 = a3 & 0x1fff; + var ah3 = a3 >>> 13; + var a4 = a[4] | 0; + var al4 = a4 & 0x1fff; + var ah4 = a4 >>> 13; + var a5 = a[5] | 0; + var al5 = a5 & 0x1fff; + var ah5 = a5 >>> 13; + var a6 = a[6] | 0; + var al6 = a6 & 0x1fff; + var ah6 = a6 >>> 13; + var a7 = a[7] | 0; + var al7 = a7 & 0x1fff; + var ah7 = a7 >>> 13; + var a8 = a[8] | 0; + var al8 = a8 & 0x1fff; + var ah8 = a8 >>> 13; + var a9 = a[9] | 0; + var al9 = a9 & 0x1fff; + var ah9 = a9 >>> 13; + var b0 = b[0] | 0; + var bl0 = b0 & 0x1fff; + var bh0 = b0 >>> 13; + var b1 = b[1] | 0; + var bl1 = b1 & 0x1fff; + var bh1 = b1 >>> 13; + var b2 = b[2] | 0; + var bl2 = b2 & 0x1fff; + var bh2 = b2 >>> 13; + var b3 = b[3] | 0; + var bl3 = b3 & 0x1fff; + var bh3 = b3 >>> 13; + var b4 = b[4] | 0; + var bl4 = b4 & 0x1fff; + var bh4 = b4 >>> 13; + var b5 = b[5] | 0; + var bl5 = b5 & 0x1fff; + var bh5 = b5 >>> 13; + var b6 = b[6] | 0; + var bl6 = b6 & 0x1fff; + var bh6 = b6 >>> 13; + var b7 = b[7] | 0; + var bl7 = b7 & 0x1fff; + var bh7 = b7 >>> 13; + var b8 = b[8] | 0; + var bl8 = b8 & 0x1fff; + var bh8 = b8 >>> 13; + var b9 = b[9] | 0; + var bl9 = b9 & 0x1fff; + var bh9 = b9 >>> 13; + + out.negative = self.negative ^ num.negative; + out.length = 19; + /* k = 0 */ + lo = Math.imul(al0, bl0); + mid = Math.imul(al0, bh0); + mid = (mid + Math.imul(ah0, bl0)) | 0; + hi = Math.imul(ah0, bh0); + var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0; + w0 &= 0x3ffffff; + /* k = 1 */ + lo = Math.imul(al1, bl0); + mid = Math.imul(al1, bh0); + mid = (mid + Math.imul(ah1, bl0)) | 0; + hi = Math.imul(ah1, bh0); + lo = (lo + Math.imul(al0, bl1)) | 0; + mid = (mid + Math.imul(al0, bh1)) | 0; + mid = (mid + Math.imul(ah0, bl1)) | 0; + hi = (hi + Math.imul(ah0, bh1)) | 0; + var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0; + w1 &= 0x3ffffff; + /* k = 2 */ + lo = Math.imul(al2, bl0); + mid = Math.imul(al2, bh0); + mid = (mid + Math.imul(ah2, bl0)) | 0; + hi = Math.imul(ah2, bh0); + lo = (lo + Math.imul(al1, bl1)) | 0; + mid = (mid + Math.imul(al1, bh1)) | 0; + mid = (mid + Math.imul(ah1, bl1)) | 0; + hi = (hi + Math.imul(ah1, bh1)) | 0; + lo = (lo + Math.imul(al0, bl2)) | 0; + mid = (mid + Math.imul(al0, bh2)) | 0; + mid = (mid + Math.imul(ah0, bl2)) | 0; + hi = (hi + Math.imul(ah0, bh2)) | 0; + var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0; + w2 &= 0x3ffffff; + /* k = 3 */ + lo = Math.imul(al3, bl0); + mid = Math.imul(al3, bh0); + mid = (mid + Math.imul(ah3, bl0)) | 0; + hi = Math.imul(ah3, bh0); + lo = (lo + Math.imul(al2, bl1)) | 0; + mid = (mid + Math.imul(al2, bh1)) | 0; + mid = (mid + Math.imul(ah2, bl1)) | 0; + hi = (hi + Math.imul(ah2, bh1)) | 0; + lo = (lo + Math.imul(al1, bl2)) | 0; + mid = (mid + Math.imul(al1, bh2)) | 0; + mid = (mid + Math.imul(ah1, bl2)) | 0; + hi = (hi + Math.imul(ah1, bh2)) | 0; + lo = (lo + Math.imul(al0, bl3)) | 0; + mid = (mid + Math.imul(al0, bh3)) | 0; + mid = (mid + Math.imul(ah0, bl3)) | 0; + hi = (hi + Math.imul(ah0, bh3)) | 0; + var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0; + w3 &= 0x3ffffff; + /* k = 4 */ + lo = Math.imul(al4, bl0); + mid = Math.imul(al4, bh0); + mid = (mid + Math.imul(ah4, bl0)) | 0; + hi = Math.imul(ah4, bh0); + lo = (lo + Math.imul(al3, bl1)) | 0; + mid = (mid + Math.imul(al3, bh1)) | 0; + mid = (mid + Math.imul(ah3, bl1)) | 0; + hi = (hi + Math.imul(ah3, bh1)) | 0; + lo = (lo + Math.imul(al2, bl2)) | 0; + mid = (mid + Math.imul(al2, bh2)) | 0; + mid = (mid + Math.imul(ah2, bl2)) | 0; + hi = (hi + Math.imul(ah2, bh2)) | 0; + lo = (lo + Math.imul(al1, bl3)) | 0; + mid = (mid + Math.imul(al1, bh3)) | 0; + mid = (mid + Math.imul(ah1, bl3)) | 0; + hi = (hi + Math.imul(ah1, bh3)) | 0; + lo = (lo + Math.imul(al0, bl4)) | 0; + mid = (mid + Math.imul(al0, bh4)) | 0; + mid = (mid + Math.imul(ah0, bl4)) | 0; + hi = (hi + Math.imul(ah0, bh4)) | 0; + var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0; + w4 &= 0x3ffffff; + /* k = 5 */ + lo = Math.imul(al5, bl0); + mid = Math.imul(al5, bh0); + mid = (mid + Math.imul(ah5, bl0)) | 0; + hi = Math.imul(ah5, bh0); + lo = (lo + Math.imul(al4, bl1)) | 0; + mid = (mid + Math.imul(al4, bh1)) | 0; + mid = (mid + Math.imul(ah4, bl1)) | 0; + hi = (hi + Math.imul(ah4, bh1)) | 0; + lo = (lo + Math.imul(al3, bl2)) | 0; + mid = (mid + Math.imul(al3, bh2)) | 0; + mid = (mid + Math.imul(ah3, bl2)) | 0; + hi = (hi + Math.imul(ah3, bh2)) | 0; + lo = (lo + Math.imul(al2, bl3)) | 0; + mid = (mid + Math.imul(al2, bh3)) | 0; + mid = (mid + Math.imul(ah2, bl3)) | 0; + hi = (hi + Math.imul(ah2, bh3)) | 0; + lo = (lo + Math.imul(al1, bl4)) | 0; + mid = (mid + Math.imul(al1, bh4)) | 0; + mid = (mid + Math.imul(ah1, bl4)) | 0; + hi = (hi + Math.imul(ah1, bh4)) | 0; + lo = (lo + Math.imul(al0, bl5)) | 0; + mid = (mid + Math.imul(al0, bh5)) | 0; + mid = (mid + Math.imul(ah0, bl5)) | 0; + hi = (hi + Math.imul(ah0, bh5)) | 0; + var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0; + w5 &= 0x3ffffff; + /* k = 6 */ + lo = Math.imul(al6, bl0); + mid = Math.imul(al6, bh0); + mid = (mid + Math.imul(ah6, bl0)) | 0; + hi = Math.imul(ah6, bh0); + lo = (lo + Math.imul(al5, bl1)) | 0; + mid = (mid + Math.imul(al5, bh1)) | 0; + mid = (mid + Math.imul(ah5, bl1)) | 0; + hi = (hi + Math.imul(ah5, bh1)) | 0; + lo = (lo + Math.imul(al4, bl2)) | 0; + mid = (mid + Math.imul(al4, bh2)) | 0; + mid = (mid + Math.imul(ah4, bl2)) | 0; + hi = (hi + Math.imul(ah4, bh2)) | 0; + lo = (lo + Math.imul(al3, bl3)) | 0; + mid = (mid + Math.imul(al3, bh3)) | 0; + mid = (mid + Math.imul(ah3, bl3)) | 0; + hi = (hi + Math.imul(ah3, bh3)) | 0; + lo = (lo + Math.imul(al2, bl4)) | 0; + mid = (mid + Math.imul(al2, bh4)) | 0; + mid = (mid + Math.imul(ah2, bl4)) | 0; + hi = (hi + Math.imul(ah2, bh4)) | 0; + lo = (lo + Math.imul(al1, bl5)) | 0; + mid = (mid + Math.imul(al1, bh5)) | 0; + mid = (mid + Math.imul(ah1, bl5)) | 0; + hi = (hi + Math.imul(ah1, bh5)) | 0; + lo = (lo + Math.imul(al0, bl6)) | 0; + mid = (mid + Math.imul(al0, bh6)) | 0; + mid = (mid + Math.imul(ah0, bl6)) | 0; + hi = (hi + Math.imul(ah0, bh6)) | 0; + var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0; + w6 &= 0x3ffffff; + /* k = 7 */ + lo = Math.imul(al7, bl0); + mid = Math.imul(al7, bh0); + mid = (mid + Math.imul(ah7, bl0)) | 0; + hi = Math.imul(ah7, bh0); + lo = (lo + Math.imul(al6, bl1)) | 0; + mid = (mid + Math.imul(al6, bh1)) | 0; + mid = (mid + Math.imul(ah6, bl1)) | 0; + hi = (hi + Math.imul(ah6, bh1)) | 0; + lo = (lo + Math.imul(al5, bl2)) | 0; + mid = (mid + Math.imul(al5, bh2)) | 0; + mid = (mid + Math.imul(ah5, bl2)) | 0; + hi = (hi + Math.imul(ah5, bh2)) | 0; + lo = (lo + Math.imul(al4, bl3)) | 0; + mid = (mid + Math.imul(al4, bh3)) | 0; + mid = (mid + Math.imul(ah4, bl3)) | 0; + hi = (hi + Math.imul(ah4, bh3)) | 0; + lo = (lo + Math.imul(al3, bl4)) | 0; + mid = (mid + Math.imul(al3, bh4)) | 0; + mid = (mid + Math.imul(ah3, bl4)) | 0; + hi = (hi + Math.imul(ah3, bh4)) | 0; + lo = (lo + Math.imul(al2, bl5)) | 0; + mid = (mid + Math.imul(al2, bh5)) | 0; + mid = (mid + Math.imul(ah2, bl5)) | 0; + hi = (hi + Math.imul(ah2, bh5)) | 0; + lo = (lo + Math.imul(al1, bl6)) | 0; + mid = (mid + Math.imul(al1, bh6)) | 0; + mid = (mid + Math.imul(ah1, bl6)) | 0; + hi = (hi + Math.imul(ah1, bh6)) | 0; + lo = (lo + Math.imul(al0, bl7)) | 0; + mid = (mid + Math.imul(al0, bh7)) | 0; + mid = (mid + Math.imul(ah0, bl7)) | 0; + hi = (hi + Math.imul(ah0, bh7)) | 0; + var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0; + w7 &= 0x3ffffff; + /* k = 8 */ + lo = Math.imul(al8, bl0); + mid = Math.imul(al8, bh0); + mid = (mid + Math.imul(ah8, bl0)) | 0; + hi = Math.imul(ah8, bh0); + lo = (lo + Math.imul(al7, bl1)) | 0; + mid = (mid + Math.imul(al7, bh1)) | 0; + mid = (mid + Math.imul(ah7, bl1)) | 0; + hi = (hi + Math.imul(ah7, bh1)) | 0; + lo = (lo + Math.imul(al6, bl2)) | 0; + mid = (mid + Math.imul(al6, bh2)) | 0; + mid = (mid + Math.imul(ah6, bl2)) | 0; + hi = (hi + Math.imul(ah6, bh2)) | 0; + lo = (lo + Math.imul(al5, bl3)) | 0; + mid = (mid + Math.imul(al5, bh3)) | 0; + mid = (mid + Math.imul(ah5, bl3)) | 0; + hi = (hi + Math.imul(ah5, bh3)) | 0; + lo = (lo + Math.imul(al4, bl4)) | 0; + mid = (mid + Math.imul(al4, bh4)) | 0; + mid = (mid + Math.imul(ah4, bl4)) | 0; + hi = (hi + Math.imul(ah4, bh4)) | 0; + lo = (lo + Math.imul(al3, bl5)) | 0; + mid = (mid + Math.imul(al3, bh5)) | 0; + mid = (mid + Math.imul(ah3, bl5)) | 0; + hi = (hi + Math.imul(ah3, bh5)) | 0; + lo = (lo + Math.imul(al2, bl6)) | 0; + mid = (mid + Math.imul(al2, bh6)) | 0; + mid = (mid + Math.imul(ah2, bl6)) | 0; + hi = (hi + Math.imul(ah2, bh6)) | 0; + lo = (lo + Math.imul(al1, bl7)) | 0; + mid = (mid + Math.imul(al1, bh7)) | 0; + mid = (mid + Math.imul(ah1, bl7)) | 0; + hi = (hi + Math.imul(ah1, bh7)) | 0; + lo = (lo + Math.imul(al0, bl8)) | 0; + mid = (mid + Math.imul(al0, bh8)) | 0; + mid = (mid + Math.imul(ah0, bl8)) | 0; + hi = (hi + Math.imul(ah0, bh8)) | 0; + var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0; + w8 &= 0x3ffffff; + /* k = 9 */ + lo = Math.imul(al9, bl0); + mid = Math.imul(al9, bh0); + mid = (mid + Math.imul(ah9, bl0)) | 0; + hi = Math.imul(ah9, bh0); + lo = (lo + Math.imul(al8, bl1)) | 0; + mid = (mid + Math.imul(al8, bh1)) | 0; + mid = (mid + Math.imul(ah8, bl1)) | 0; + hi = (hi + Math.imul(ah8, bh1)) | 0; + lo = (lo + Math.imul(al7, bl2)) | 0; + mid = (mid + Math.imul(al7, bh2)) | 0; + mid = (mid + Math.imul(ah7, bl2)) | 0; + hi = (hi + Math.imul(ah7, bh2)) | 0; + lo = (lo + Math.imul(al6, bl3)) | 0; + mid = (mid + Math.imul(al6, bh3)) | 0; + mid = (mid + Math.imul(ah6, bl3)) | 0; + hi = (hi + Math.imul(ah6, bh3)) | 0; + lo = (lo + Math.imul(al5, bl4)) | 0; + mid = (mid + Math.imul(al5, bh4)) | 0; + mid = (mid + Math.imul(ah5, bl4)) | 0; + hi = (hi + Math.imul(ah5, bh4)) | 0; + lo = (lo + Math.imul(al4, bl5)) | 0; + mid = (mid + Math.imul(al4, bh5)) | 0; + mid = (mid + Math.imul(ah4, bl5)) | 0; + hi = (hi + Math.imul(ah4, bh5)) | 0; + lo = (lo + Math.imul(al3, bl6)) | 0; + mid = (mid + Math.imul(al3, bh6)) | 0; + mid = (mid + Math.imul(ah3, bl6)) | 0; + hi = (hi + Math.imul(ah3, bh6)) | 0; + lo = (lo + Math.imul(al2, bl7)) | 0; + mid = (mid + Math.imul(al2, bh7)) | 0; + mid = (mid + Math.imul(ah2, bl7)) | 0; + hi = (hi + Math.imul(ah2, bh7)) | 0; + lo = (lo + Math.imul(al1, bl8)) | 0; + mid = (mid + Math.imul(al1, bh8)) | 0; + mid = (mid + Math.imul(ah1, bl8)) | 0; + hi = (hi + Math.imul(ah1, bh8)) | 0; + lo = (lo + Math.imul(al0, bl9)) | 0; + mid = (mid + Math.imul(al0, bh9)) | 0; + mid = (mid + Math.imul(ah0, bl9)) | 0; + hi = (hi + Math.imul(ah0, bh9)) | 0; + var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0; + w9 &= 0x3ffffff; + /* k = 10 */ + lo = Math.imul(al9, bl1); + mid = Math.imul(al9, bh1); + mid = (mid + Math.imul(ah9, bl1)) | 0; + hi = Math.imul(ah9, bh1); + lo = (lo + Math.imul(al8, bl2)) | 0; + mid = (mid + Math.imul(al8, bh2)) | 0; + mid = (mid + Math.imul(ah8, bl2)) | 0; + hi = (hi + Math.imul(ah8, bh2)) | 0; + lo = (lo + Math.imul(al7, bl3)) | 0; + mid = (mid + Math.imul(al7, bh3)) | 0; + mid = (mid + Math.imul(ah7, bl3)) | 0; + hi = (hi + Math.imul(ah7, bh3)) | 0; + lo = (lo + Math.imul(al6, bl4)) | 0; + mid = (mid + Math.imul(al6, bh4)) | 0; + mid = (mid + Math.imul(ah6, bl4)) | 0; + hi = (hi + Math.imul(ah6, bh4)) | 0; + lo = (lo + Math.imul(al5, bl5)) | 0; + mid = (mid + Math.imul(al5, bh5)) | 0; + mid = (mid + Math.imul(ah5, bl5)) | 0; + hi = (hi + Math.imul(ah5, bh5)) | 0; + lo = (lo + Math.imul(al4, bl6)) | 0; + mid = (mid + Math.imul(al4, bh6)) | 0; + mid = (mid + Math.imul(ah4, bl6)) | 0; + hi = (hi + Math.imul(ah4, bh6)) | 0; + lo = (lo + Math.imul(al3, bl7)) | 0; + mid = (mid + Math.imul(al3, bh7)) | 0; + mid = (mid + Math.imul(ah3, bl7)) | 0; + hi = (hi + Math.imul(ah3, bh7)) | 0; + lo = (lo + Math.imul(al2, bl8)) | 0; + mid = (mid + Math.imul(al2, bh8)) | 0; + mid = (mid + Math.imul(ah2, bl8)) | 0; + hi = (hi + Math.imul(ah2, bh8)) | 0; + lo = (lo + Math.imul(al1, bl9)) | 0; + mid = (mid + Math.imul(al1, bh9)) | 0; + mid = (mid + Math.imul(ah1, bl9)) | 0; + hi = (hi + Math.imul(ah1, bh9)) | 0; + var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0; + w10 &= 0x3ffffff; + /* k = 11 */ + lo = Math.imul(al9, bl2); + mid = Math.imul(al9, bh2); + mid = (mid + Math.imul(ah9, bl2)) | 0; + hi = Math.imul(ah9, bh2); + lo = (lo + Math.imul(al8, bl3)) | 0; + mid = (mid + Math.imul(al8, bh3)) | 0; + mid = (mid + Math.imul(ah8, bl3)) | 0; + hi = (hi + Math.imul(ah8, bh3)) | 0; + lo = (lo + Math.imul(al7, bl4)) | 0; + mid = (mid + Math.imul(al7, bh4)) | 0; + mid = (mid + Math.imul(ah7, bl4)) | 0; + hi = (hi + Math.imul(ah7, bh4)) | 0; + lo = (lo + Math.imul(al6, bl5)) | 0; + mid = (mid + Math.imul(al6, bh5)) | 0; + mid = (mid + Math.imul(ah6, bl5)) | 0; + hi = (hi + Math.imul(ah6, bh5)) | 0; + lo = (lo + Math.imul(al5, bl6)) | 0; + mid = (mid + Math.imul(al5, bh6)) | 0; + mid = (mid + Math.imul(ah5, bl6)) | 0; + hi = (hi + Math.imul(ah5, bh6)) | 0; + lo = (lo + Math.imul(al4, bl7)) | 0; + mid = (mid + Math.imul(al4, bh7)) | 0; + mid = (mid + Math.imul(ah4, bl7)) | 0; + hi = (hi + Math.imul(ah4, bh7)) | 0; + lo = (lo + Math.imul(al3, bl8)) | 0; + mid = (mid + Math.imul(al3, bh8)) | 0; + mid = (mid + Math.imul(ah3, bl8)) | 0; + hi = (hi + Math.imul(ah3, bh8)) | 0; + lo = (lo + Math.imul(al2, bl9)) | 0; + mid = (mid + Math.imul(al2, bh9)) | 0; + mid = (mid + Math.imul(ah2, bl9)) | 0; + hi = (hi + Math.imul(ah2, bh9)) | 0; + var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0; + w11 &= 0x3ffffff; + /* k = 12 */ + lo = Math.imul(al9, bl3); + mid = Math.imul(al9, bh3); + mid = (mid + Math.imul(ah9, bl3)) | 0; + hi = Math.imul(ah9, bh3); + lo = (lo + Math.imul(al8, bl4)) | 0; + mid = (mid + Math.imul(al8, bh4)) | 0; + mid = (mid + Math.imul(ah8, bl4)) | 0; + hi = (hi + Math.imul(ah8, bh4)) | 0; + lo = (lo + Math.imul(al7, bl5)) | 0; + mid = (mid + Math.imul(al7, bh5)) | 0; + mid = (mid + Math.imul(ah7, bl5)) | 0; + hi = (hi + Math.imul(ah7, bh5)) | 0; + lo = (lo + Math.imul(al6, bl6)) | 0; + mid = (mid + Math.imul(al6, bh6)) | 0; + mid = (mid + Math.imul(ah6, bl6)) | 0; + hi = (hi + Math.imul(ah6, bh6)) | 0; + lo = (lo + Math.imul(al5, bl7)) | 0; + mid = (mid + Math.imul(al5, bh7)) | 0; + mid = (mid + Math.imul(ah5, bl7)) | 0; + hi = (hi + Math.imul(ah5, bh7)) | 0; + lo = (lo + Math.imul(al4, bl8)) | 0; + mid = (mid + Math.imul(al4, bh8)) | 0; + mid = (mid + Math.imul(ah4, bl8)) | 0; + hi = (hi + Math.imul(ah4, bh8)) | 0; + lo = (lo + Math.imul(al3, bl9)) | 0; + mid = (mid + Math.imul(al3, bh9)) | 0; + mid = (mid + Math.imul(ah3, bl9)) | 0; + hi = (hi + Math.imul(ah3, bh9)) | 0; + var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0; + w12 &= 0x3ffffff; + /* k = 13 */ + lo = Math.imul(al9, bl4); + mid = Math.imul(al9, bh4); + mid = (mid + Math.imul(ah9, bl4)) | 0; + hi = Math.imul(ah9, bh4); + lo = (lo + Math.imul(al8, bl5)) | 0; + mid = (mid + Math.imul(al8, bh5)) | 0; + mid = (mid + Math.imul(ah8, bl5)) | 0; + hi = (hi + Math.imul(ah8, bh5)) | 0; + lo = (lo + Math.imul(al7, bl6)) | 0; + mid = (mid + Math.imul(al7, bh6)) | 0; + mid = (mid + Math.imul(ah7, bl6)) | 0; + hi = (hi + Math.imul(ah7, bh6)) | 0; + lo = (lo + Math.imul(al6, bl7)) | 0; + mid = (mid + Math.imul(al6, bh7)) | 0; + mid = (mid + Math.imul(ah6, bl7)) | 0; + hi = (hi + Math.imul(ah6, bh7)) | 0; + lo = (lo + Math.imul(al5, bl8)) | 0; + mid = (mid + Math.imul(al5, bh8)) | 0; + mid = (mid + Math.imul(ah5, bl8)) | 0; + hi = (hi + Math.imul(ah5, bh8)) | 0; + lo = (lo + Math.imul(al4, bl9)) | 0; + mid = (mid + Math.imul(al4, bh9)) | 0; + mid = (mid + Math.imul(ah4, bl9)) | 0; + hi = (hi + Math.imul(ah4, bh9)) | 0; + var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0; + w13 &= 0x3ffffff; + /* k = 14 */ + lo = Math.imul(al9, bl5); + mid = Math.imul(al9, bh5); + mid = (mid + Math.imul(ah9, bl5)) | 0; + hi = Math.imul(ah9, bh5); + lo = (lo + Math.imul(al8, bl6)) | 0; + mid = (mid + Math.imul(al8, bh6)) | 0; + mid = (mid + Math.imul(ah8, bl6)) | 0; + hi = (hi + Math.imul(ah8, bh6)) | 0; + lo = (lo + Math.imul(al7, bl7)) | 0; + mid = (mid + Math.imul(al7, bh7)) | 0; + mid = (mid + Math.imul(ah7, bl7)) | 0; + hi = (hi + Math.imul(ah7, bh7)) | 0; + lo = (lo + Math.imul(al6, bl8)) | 0; + mid = (mid + Math.imul(al6, bh8)) | 0; + mid = (mid + Math.imul(ah6, bl8)) | 0; + hi = (hi + Math.imul(ah6, bh8)) | 0; + lo = (lo + Math.imul(al5, bl9)) | 0; + mid = (mid + Math.imul(al5, bh9)) | 0; + mid = (mid + Math.imul(ah5, bl9)) | 0; + hi = (hi + Math.imul(ah5, bh9)) | 0; + var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0; + w14 &= 0x3ffffff; + /* k = 15 */ + lo = Math.imul(al9, bl6); + mid = Math.imul(al9, bh6); + mid = (mid + Math.imul(ah9, bl6)) | 0; + hi = Math.imul(ah9, bh6); + lo = (lo + Math.imul(al8, bl7)) | 0; + mid = (mid + Math.imul(al8, bh7)) | 0; + mid = (mid + Math.imul(ah8, bl7)) | 0; + hi = (hi + Math.imul(ah8, bh7)) | 0; + lo = (lo + Math.imul(al7, bl8)) | 0; + mid = (mid + Math.imul(al7, bh8)) | 0; + mid = (mid + Math.imul(ah7, bl8)) | 0; + hi = (hi + Math.imul(ah7, bh8)) | 0; + lo = (lo + Math.imul(al6, bl9)) | 0; + mid = (mid + Math.imul(al6, bh9)) | 0; + mid = (mid + Math.imul(ah6, bl9)) | 0; + hi = (hi + Math.imul(ah6, bh9)) | 0; + var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0; + w15 &= 0x3ffffff; + /* k = 16 */ + lo = Math.imul(al9, bl7); + mid = Math.imul(al9, bh7); + mid = (mid + Math.imul(ah9, bl7)) | 0; + hi = Math.imul(ah9, bh7); + lo = (lo + Math.imul(al8, bl8)) | 0; + mid = (mid + Math.imul(al8, bh8)) | 0; + mid = (mid + Math.imul(ah8, bl8)) | 0; + hi = (hi + Math.imul(ah8, bh8)) | 0; + lo = (lo + Math.imul(al7, bl9)) | 0; + mid = (mid + Math.imul(al7, bh9)) | 0; + mid = (mid + Math.imul(ah7, bl9)) | 0; + hi = (hi + Math.imul(ah7, bh9)) | 0; + var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0; + w16 &= 0x3ffffff; + /* k = 17 */ + lo = Math.imul(al9, bl8); + mid = Math.imul(al9, bh8); + mid = (mid + Math.imul(ah9, bl8)) | 0; + hi = Math.imul(ah9, bh8); + lo = (lo + Math.imul(al8, bl9)) | 0; + mid = (mid + Math.imul(al8, bh9)) | 0; + mid = (mid + Math.imul(ah8, bl9)) | 0; + hi = (hi + Math.imul(ah8, bh9)) | 0; + var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0; + w17 &= 0x3ffffff; + /* k = 18 */ + lo = Math.imul(al9, bl9); + mid = Math.imul(al9, bh9); + mid = (mid + Math.imul(ah9, bl9)) | 0; + hi = Math.imul(ah9, bh9); + var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0; + w18 &= 0x3ffffff; + o[0] = w0; + o[1] = w1; + o[2] = w2; + o[3] = w3; + o[4] = w4; + o[5] = w5; + o[6] = w6; + o[7] = w7; + o[8] = w8; + o[9] = w9; + o[10] = w10; + o[11] = w11; + o[12] = w12; + o[13] = w13; + o[14] = w14; + o[15] = w15; + o[16] = w16; + o[17] = w17; + o[18] = w18; + if (c !== 0) { + o[19] = c; + out.length++; + } + return out; + }; + + // Polyfill comb + if (!Math.imul) { + comb10MulTo = smallMulTo; + } + + function bigMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + out.length = self.length + num.length; + + var carry = 0; + var hncarry = 0; + for (var k = 0; k < out.length - 1; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = hncarry; + hncarry = 0; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = k - j; + var a = self.words[i] | 0; + var b = num.words[j] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0; + lo = (lo + rword) | 0; + rword = lo & 0x3ffffff; + ncarry = (ncarry + (lo >>> 26)) | 0; + + hncarry += ncarry >>> 26; + ncarry &= 0x3ffffff; + } + out.words[k] = rword; + carry = ncarry; + ncarry = hncarry; + } + if (carry !== 0) { + out.words[k] = carry; + } else { + out.length--; + } + + return out.strip(); + } + + function jumboMulTo (self, num, out) { + var fftm = new FFTM(); + return fftm.mulp(self, num, out); + } + + BN.prototype.mulTo = function mulTo (num, out) { + var res; + var len = this.length + num.length; + if (this.length === 10 && num.length === 10) { + res = comb10MulTo(this, num, out); + } else if (len < 63) { + res = smallMulTo(this, num, out); + } else if (len < 1024) { + res = bigMulTo(this, num, out); + } else { + res = jumboMulTo(this, num, out); + } + + return res; + }; + + // Cooley-Tukey algorithm for FFT + // slightly revisited to rely on looping instead of recursion + + function FFTM (x, y) { + this.x = x; + this.y = y; + } + + FFTM.prototype.makeRBT = function makeRBT (N) { + var t = new Array(N); + var l = BN.prototype._countBits(N) - 1; + for (var i = 0; i < N; i++) { + t[i] = this.revBin(i, l, N); + } + + return t; + }; + + // Returns binary-reversed representation of `x` + FFTM.prototype.revBin = function revBin (x, l, N) { + if (x === 0 || x === N - 1) return x; + + var rb = 0; + for (var i = 0; i < l; i++) { + rb |= (x & 1) << (l - i - 1); + x >>= 1; + } + + return rb; + }; + + // Performs "tweedling" phase, therefore 'emulating' + // behaviour of the recursive algorithm + FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) { + for (var i = 0; i < N; i++) { + rtws[i] = rws[rbt[i]]; + itws[i] = iws[rbt[i]]; + } + }; + + FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) { + this.permute(rbt, rws, iws, rtws, itws, N); + + for (var s = 1; s < N; s <<= 1) { + var l = s << 1; + + var rtwdf = Math.cos(2 * Math.PI / l); + var itwdf = Math.sin(2 * Math.PI / l); + + for (var p = 0; p < N; p += l) { + var rtwdf_ = rtwdf; + var itwdf_ = itwdf; + + for (var j = 0; j < s; j++) { + var re = rtws[p + j]; + var ie = itws[p + j]; + + var ro = rtws[p + j + s]; + var io = itws[p + j + s]; + + var rx = rtwdf_ * ro - itwdf_ * io; + + io = rtwdf_ * io + itwdf_ * ro; + ro = rx; + + rtws[p + j] = re + ro; + itws[p + j] = ie + io; + + rtws[p + j + s] = re - ro; + itws[p + j + s] = ie - io; + + /* jshint maxdepth : false */ + if (j !== l) { + rx = rtwdf * rtwdf_ - itwdf * itwdf_; + + itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; + rtwdf_ = rx; + } + } + } + } + }; + + FFTM.prototype.guessLen13b = function guessLen13b (n, m) { + var N = Math.max(m, n) | 1; + var odd = N & 1; + var i = 0; + for (N = N / 2 | 0; N; N = N >>> 1) { + i++; + } + + return 1 << i + 1 + odd; + }; + + FFTM.prototype.conjugate = function conjugate (rws, iws, N) { + if (N <= 1) return; + + for (var i = 0; i < N / 2; i++) { + var t = rws[i]; + + rws[i] = rws[N - i - 1]; + rws[N - i - 1] = t; + + t = iws[i]; + + iws[i] = -iws[N - i - 1]; + iws[N - i - 1] = -t; + } + }; + + FFTM.prototype.normalize13b = function normalize13b (ws, N) { + var carry = 0; + for (var i = 0; i < N / 2; i++) { + var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + + Math.round(ws[2 * i] / N) + + carry; + + ws[i] = w & 0x3ffffff; + + if (w < 0x4000000) { + carry = 0; + } else { + carry = w / 0x4000000 | 0; + } + } + + return ws; + }; + + FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) { + var carry = 0; + for (var i = 0; i < len; i++) { + carry = carry + (ws[i] | 0); + + rws[2 * i] = carry & 0x1fff; carry = carry >>> 13; + rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13; + } + + // Pad with zeroes + for (i = 2 * len; i < N; ++i) { + rws[i] = 0; + } + + assert(carry === 0); + assert((carry & ~0x1fff) === 0); + }; + + FFTM.prototype.stub = function stub (N) { + var ph = new Array(N); + for (var i = 0; i < N; i++) { + ph[i] = 0; + } + + return ph; + }; + + FFTM.prototype.mulp = function mulp (x, y, out) { + var N = 2 * this.guessLen13b(x.length, y.length); + + var rbt = this.makeRBT(N); + + var _ = this.stub(N); + + var rws = new Array(N); + var rwst = new Array(N); + var iwst = new Array(N); + + var nrws = new Array(N); + var nrwst = new Array(N); + var niwst = new Array(N); + + var rmws = out.words; + rmws.length = N; + + this.convert13b(x.words, x.length, rws, N); + this.convert13b(y.words, y.length, nrws, N); + + this.transform(rws, _, rwst, iwst, N, rbt); + this.transform(nrws, _, nrwst, niwst, N, rbt); + + for (var i = 0; i < N; i++) { + var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; + iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; + rwst[i] = rx; + } + + this.conjugate(rwst, iwst, N); + this.transform(rwst, iwst, rmws, _, N, rbt); + this.conjugate(rmws, _, N); + this.normalize13b(rmws, N); + + out.negative = x.negative ^ y.negative; + out.length = x.length + y.length; + return out.strip(); + }; + + // Multiply `this` by `num` + BN.prototype.mul = function mul (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return this.mulTo(num, out); + }; + + // Multiply employing FFT + BN.prototype.mulf = function mulf (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return jumboMulTo(this, num, out); + }; + + // In-place Multiplication + BN.prototype.imul = function imul (num) { + return this.clone().mulTo(num, this); + }; + + BN.prototype.imuln = function imuln (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + + // Carry + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = (this.words[i] | 0) * num; + var lo = (w & 0x3ffffff) + (carry & 0x3ffffff); + carry >>= 26; + carry += (w / 0x4000000) | 0; + // NOTE: lo is 27bit maximum + carry += lo >>> 26; + this.words[i] = lo & 0x3ffffff; + } + + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + + return this; + }; + + BN.prototype.muln = function muln (num) { + return this.clone().imuln(num); + }; + + // `this` * `this` + BN.prototype.sqr = function sqr () { + return this.mul(this); + }; + + // `this` * `this` in-place + BN.prototype.isqr = function isqr () { + return this.imul(this.clone()); + }; + + // Math.pow(`this`, `num`) + BN.prototype.pow = function pow (num) { + var w = toBitArray(num); + if (w.length === 0) return new BN(1); + + // Skip leading zeroes + var res = this; + for (var i = 0; i < w.length; i++, res = res.sqr()) { + if (w[i] !== 0) break; + } + + if (++i < w.length) { + for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { + if (w[i] === 0) continue; + + res = res.mul(q); + } + } + + return res; + }; + + // Shift-left in-place + BN.prototype.iushln = function iushln (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r); + var i; + + if (r !== 0) { + var carry = 0; + + for (i = 0; i < this.length; i++) { + var newCarry = this.words[i] & carryMask; + var c = ((this.words[i] | 0) - newCarry) << r; + this.words[i] = c | carry; + carry = newCarry >>> (26 - r); + } + + if (carry) { + this.words[i] = carry; + this.length++; + } + } + + if (s !== 0) { + for (i = this.length - 1; i >= 0; i--) { + this.words[i + s] = this.words[i]; + } + + for (i = 0; i < s; i++) { + this.words[i] = 0; + } + + this.length += s; + } + + return this.strip(); + }; + + BN.prototype.ishln = function ishln (bits) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushln(bits); + }; + + // Shift-right in-place + // NOTE: `hint` is a lowest bit before trailing zeroes + // NOTE: if `extended` is present - it will be filled with destroyed bits + BN.prototype.iushrn = function iushrn (bits, hint, extended) { + assert(typeof bits === 'number' && bits >= 0); + var h; + if (hint) { + h = (hint - (hint % 26)) / 26; + } else { + h = 0; + } + + var r = bits % 26; + var s = Math.min((bits - r) / 26, this.length); + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + var maskedWords = extended; + + h -= s; + h = Math.max(0, h); + + // Extended mode, copy masked part + if (maskedWords) { + for (var i = 0; i < s; i++) { + maskedWords.words[i] = this.words[i]; + } + maskedWords.length = s; + } + + if (s === 0) { + // No-op, we should not move anything at all + } else if (this.length > s) { + this.length -= s; + for (i = 0; i < this.length; i++) { + this.words[i] = this.words[i + s]; + } + } else { + this.words[0] = 0; + this.length = 1; + } + + var carry = 0; + for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { + var word = this.words[i] | 0; + this.words[i] = (carry << (26 - r)) | (word >>> r); + carry = word & mask; + } + + // Push carried bits as a mask + if (maskedWords && carry !== 0) { + maskedWords.words[maskedWords.length++] = carry; + } + + if (this.length === 0) { + this.words[0] = 0; + this.length = 1; + } + + return this.strip(); + }; + + BN.prototype.ishrn = function ishrn (bits, hint, extended) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushrn(bits, hint, extended); + }; + + // Shift-left + BN.prototype.shln = function shln (bits) { + return this.clone().ishln(bits); + }; + + BN.prototype.ushln = function ushln (bits) { + return this.clone().iushln(bits); + }; + + // Shift-right + BN.prototype.shrn = function shrn (bits) { + return this.clone().ishrn(bits); + }; + + BN.prototype.ushrn = function ushrn (bits) { + return this.clone().iushrn(bits); + }; + + // Test if n bit is set + BN.prototype.testn = function testn (bit) { + assert(typeof bit === 'number' && bit >= 0); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) return false; + + // Check bit and return + var w = this.words[s]; + + return !!(w & q); + }; + + // Return only lowers bits of number (in-place) + BN.prototype.imaskn = function imaskn (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + + assert(this.negative === 0, 'imaskn works only with positive numbers'); + + if (this.length <= s) { + return this; + } + + if (r !== 0) { + s++; + } + this.length = Math.min(s, this.length); + + if (r !== 0) { + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + this.words[this.length - 1] &= mask; + } + + return this.strip(); + }; + + // Return only lowers bits of number + BN.prototype.maskn = function maskn (bits) { + return this.clone().imaskn(bits); + }; + + // Add plain number `num` to `this` + BN.prototype.iaddn = function iaddn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.isubn(-num); + + // Possible sign change + if (this.negative !== 0) { + if (this.length === 1 && (this.words[0] | 0) < num) { + this.words[0] = num - (this.words[0] | 0); + this.negative = 0; + return this; + } + + this.negative = 0; + this.isubn(num); + this.negative = 1; + return this; + } + + // Add without checks + return this._iaddn(num); + }; + + BN.prototype._iaddn = function _iaddn (num) { + this.words[0] += num; + + // Carry + for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) { + this.words[i] -= 0x4000000; + if (i === this.length - 1) { + this.words[i + 1] = 1; + } else { + this.words[i + 1]++; + } + } + this.length = Math.max(this.length, i + 1); + + return this; + }; + + // Subtract plain number `num` from `this` + BN.prototype.isubn = function isubn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.iaddn(-num); + + if (this.negative !== 0) { + this.negative = 0; + this.iaddn(num); + this.negative = 1; + return this; + } + + this.words[0] -= num; + + if (this.length === 1 && this.words[0] < 0) { + this.words[0] = -this.words[0]; + this.negative = 1; + } else { + // Carry + for (var i = 0; i < this.length && this.words[i] < 0; i++) { + this.words[i] += 0x4000000; + this.words[i + 1] -= 1; + } + } + + return this.strip(); + }; + + BN.prototype.addn = function addn (num) { + return this.clone().iaddn(num); + }; + + BN.prototype.subn = function subn (num) { + return this.clone().isubn(num); + }; + + BN.prototype.iabs = function iabs () { + this.negative = 0; + + return this; + }; + + BN.prototype.abs = function abs () { + return this.clone().iabs(); + }; + + BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) { + var len = num.length + shift; + var i; + + this._expand(len); + + var w; + var carry = 0; + for (i = 0; i < num.length; i++) { + w = (this.words[i + shift] | 0) + carry; + var right = (num.words[i] | 0) * mul; + w -= right & 0x3ffffff; + carry = (w >> 26) - ((right / 0x4000000) | 0); + this.words[i + shift] = w & 0x3ffffff; + } + for (; i < this.length - shift; i++) { + w = (this.words[i + shift] | 0) + carry; + carry = w >> 26; + this.words[i + shift] = w & 0x3ffffff; + } + + if (carry === 0) return this.strip(); + + // Subtraction overflow + assert(carry === -1); + carry = 0; + for (i = 0; i < this.length; i++) { + w = -(this.words[i] | 0) + carry; + carry = w >> 26; + this.words[i] = w & 0x3ffffff; + } + this.negative = 1; + + return this.strip(); + }; + + BN.prototype._wordDiv = function _wordDiv (num, mode) { + var shift = this.length - num.length; + + var a = this.clone(); + var b = num; + + // Normalize + var bhi = b.words[b.length - 1] | 0; + var bhiBits = this._countBits(bhi); + shift = 26 - bhiBits; + if (shift !== 0) { + b = b.ushln(shift); + a.iushln(shift); + bhi = b.words[b.length - 1] | 0; + } + + // Initialize quotient + var m = a.length - b.length; + var q; + + if (mode !== 'mod') { + q = new BN(null); + q.length = m + 1; + q.words = new Array(q.length); + for (var i = 0; i < q.length; i++) { + q.words[i] = 0; + } + } + + var diff = a.clone()._ishlnsubmul(b, 1, m); + if (diff.negative === 0) { + a = diff; + if (q) { + q.words[m] = 1; + } + } + + for (var j = m - 1; j >= 0; j--) { + var qj = (a.words[b.length + j] | 0) * 0x4000000 + + (a.words[b.length + j - 1] | 0); + + // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max + // (0x7ffffff) + qj = Math.min((qj / bhi) | 0, 0x3ffffff); + + a._ishlnsubmul(b, qj, j); + while (a.negative !== 0) { + qj--; + a.negative = 0; + a._ishlnsubmul(b, 1, j); + if (!a.isZero()) { + a.negative ^= 1; + } + } + if (q) { + q.words[j] = qj; + } + } + if (q) { + q.strip(); + } + a.strip(); + + // Denormalize + if (mode !== 'div' && shift !== 0) { + a.iushrn(shift); + } + + return { + div: q || null, + mod: a + }; + }; + + // NOTE: 1) `mode` can be set to `mod` to request mod only, + // to `div` to request div only, or be absent to + // request both div & mod + // 2) `positive` is true if unsigned mod is requested + BN.prototype.divmod = function divmod (num, mode, positive) { + assert(!num.isZero()); + + if (this.isZero()) { + return { + div: new BN(0), + mod: new BN(0) + }; + } + + var div, mod, res; + if (this.negative !== 0 && num.negative === 0) { + res = this.neg().divmod(num, mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.iadd(num); + } + } + + return { + div: div, + mod: mod + }; + } + + if (this.negative === 0 && num.negative !== 0) { + res = this.divmod(num.neg(), mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + return { + div: div, + mod: res.mod + }; + } + + if ((this.negative & num.negative) !== 0) { + res = this.neg().divmod(num.neg(), mode); + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.isub(num); + } + } + + return { + div: res.div, + mod: mod + }; + } + + // Both numbers are positive at this point + + // Strip both numbers to approximate shift value + if (num.length > this.length || this.cmp(num) < 0) { + return { + div: new BN(0), + mod: this + }; + } + + // Very short reduction + if (num.length === 1) { + if (mode === 'div') { + return { + div: this.divn(num.words[0]), + mod: null + }; + } + + if (mode === 'mod') { + return { + div: null, + mod: new BN(this.modn(num.words[0])) + }; + } + + return { + div: this.divn(num.words[0]), + mod: new BN(this.modn(num.words[0])) + }; + } + + return this._wordDiv(num, mode); + }; + + // Find `this` / `num` + BN.prototype.div = function div (num) { + return this.divmod(num, 'div', false).div; + }; + + // Find `this` % `num` + BN.prototype.mod = function mod (num) { + return this.divmod(num, 'mod', false).mod; + }; + + BN.prototype.umod = function umod (num) { + return this.divmod(num, 'mod', true).mod; + }; + + // Find Round(`this` / `num`) + BN.prototype.divRound = function divRound (num) { + var dm = this.divmod(num); + + // Fast case - exact division + if (dm.mod.isZero()) return dm.div; + + var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; + + var half = num.ushrn(1); + var r2 = num.andln(1); + var cmp = mod.cmp(half); + + // Round down + if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div; + + // Round up + return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); + }; + + BN.prototype.modn = function modn (num) { + assert(num <= 0x3ffffff); + var p = (1 << 26) % num; + + var acc = 0; + for (var i = this.length - 1; i >= 0; i--) { + acc = (p * acc + (this.words[i] | 0)) % num; + } + + return acc; + }; + + // In-place division by number + BN.prototype.idivn = function idivn (num) { + assert(num <= 0x3ffffff); + + var carry = 0; + for (var i = this.length - 1; i >= 0; i--) { + var w = (this.words[i] | 0) + carry * 0x4000000; + this.words[i] = (w / num) | 0; + carry = w % num; + } + + return this.strip(); + }; + + BN.prototype.divn = function divn (num) { + return this.clone().idivn(num); + }; + + BN.prototype.egcd = function egcd (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var x = this; + var y = p.clone(); + + if (x.negative !== 0) { + x = x.umod(p); + } else { + x = x.clone(); + } + + // A * x + B * y = x + var A = new BN(1); + var B = new BN(0); + + // C * x + D * y = y + var C = new BN(0); + var D = new BN(1); + + var g = 0; + + while (x.isEven() && y.isEven()) { + x.iushrn(1); + y.iushrn(1); + ++g; + } + + var yp = y.clone(); + var xp = x.clone(); + + while (!x.isZero()) { + for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + x.iushrn(i); + while (i-- > 0) { + if (A.isOdd() || B.isOdd()) { + A.iadd(yp); + B.isub(xp); + } + + A.iushrn(1); + B.iushrn(1); + } + } + + for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + y.iushrn(j); + while (j-- > 0) { + if (C.isOdd() || D.isOdd()) { + C.iadd(yp); + D.isub(xp); + } + + C.iushrn(1); + D.iushrn(1); + } + } + + if (x.cmp(y) >= 0) { + x.isub(y); + A.isub(C); + B.isub(D); + } else { + y.isub(x); + C.isub(A); + D.isub(B); + } + } + + return { + a: C, + b: D, + gcd: y.iushln(g) + }; + }; + + // This is reduced incarnation of the binary EEA + // above, designated to invert members of the + // _prime_ fields F(p) at a maximal speed + BN.prototype._invmp = function _invmp (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var a = this; + var b = p.clone(); + + if (a.negative !== 0) { + a = a.umod(p); + } else { + a = a.clone(); + } + + var x1 = new BN(1); + var x2 = new BN(0); + + var delta = b.clone(); + + while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { + for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + a.iushrn(i); + while (i-- > 0) { + if (x1.isOdd()) { + x1.iadd(delta); + } + + x1.iushrn(1); + } + } + + for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + b.iushrn(j); + while (j-- > 0) { + if (x2.isOdd()) { + x2.iadd(delta); + } + + x2.iushrn(1); + } + } + + if (a.cmp(b) >= 0) { + a.isub(b); + x1.isub(x2); + } else { + b.isub(a); + x2.isub(x1); + } + } + + var res; + if (a.cmpn(1) === 0) { + res = x1; + } else { + res = x2; + } + + if (res.cmpn(0) < 0) { + res.iadd(p); + } + + return res; + }; + + BN.prototype.gcd = function gcd (num) { + if (this.isZero()) return num.abs(); + if (num.isZero()) return this.abs(); + + var a = this.clone(); + var b = num.clone(); + a.negative = 0; + b.negative = 0; + + // Remove common factor of two + for (var shift = 0; a.isEven() && b.isEven(); shift++) { + a.iushrn(1); + b.iushrn(1); + } + + do { + while (a.isEven()) { + a.iushrn(1); + } + while (b.isEven()) { + b.iushrn(1); + } + + var r = a.cmp(b); + if (r < 0) { + // Swap `a` and `b` to make `a` always bigger than `b` + var t = a; + a = b; + b = t; + } else if (r === 0 || b.cmpn(1) === 0) { + break; + } + + a.isub(b); + } while (true); + + return b.iushln(shift); + }; + + // Invert number in the field F(num) + BN.prototype.invm = function invm (num) { + return this.egcd(num).a.umod(num); + }; + + BN.prototype.isEven = function isEven () { + return (this.words[0] & 1) === 0; + }; + + BN.prototype.isOdd = function isOdd () { + return (this.words[0] & 1) === 1; + }; + + // And first word and num + BN.prototype.andln = function andln (num) { + return this.words[0] & num; + }; + + // Increment at the bit position in-line + BN.prototype.bincn = function bincn (bit) { + assert(typeof bit === 'number'); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) { + this._expand(s + 1); + this.words[s] |= q; + return this; + } + + // Add bit and propagate, if needed + var carry = q; + for (var i = s; carry !== 0 && i < this.length; i++) { + var w = this.words[i] | 0; + w += carry; + carry = w >>> 26; + w &= 0x3ffffff; + this.words[i] = w; + } + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + return this; + }; + + BN.prototype.isZero = function isZero () { + return this.length === 1 && this.words[0] === 0; + }; + + BN.prototype.cmpn = function cmpn (num) { + var negative = num < 0; + + if (this.negative !== 0 && !negative) return -1; + if (this.negative === 0 && negative) return 1; + + this.strip(); + + var res; + if (this.length > 1) { + res = 1; + } else { + if (negative) { + num = -num; + } + + assert(num <= 0x3ffffff, 'Number is too big'); + + var w = this.words[0] | 0; + res = w === num ? 0 : w < num ? -1 : 1; + } + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Compare two numbers and return: + // 1 - if `this` > `num` + // 0 - if `this` == `num` + // -1 - if `this` < `num` + BN.prototype.cmp = function cmp (num) { + if (this.negative !== 0 && num.negative === 0) return -1; + if (this.negative === 0 && num.negative !== 0) return 1; + + var res = this.ucmp(num); + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Unsigned comparison + BN.prototype.ucmp = function ucmp (num) { + // At this point both numbers have the same sign + if (this.length > num.length) return 1; + if (this.length < num.length) return -1; + + var res = 0; + for (var i = this.length - 1; i >= 0; i--) { + var a = this.words[i] | 0; + var b = num.words[i] | 0; + + if (a === b) continue; + if (a < b) { + res = -1; + } else if (a > b) { + res = 1; + } + break; + } + return res; + }; + + BN.prototype.gtn = function gtn (num) { + return this.cmpn(num) === 1; + }; + + BN.prototype.gt = function gt (num) { + return this.cmp(num) === 1; + }; + + BN.prototype.gten = function gten (num) { + return this.cmpn(num) >= 0; + }; + + BN.prototype.gte = function gte (num) { + return this.cmp(num) >= 0; + }; + + BN.prototype.ltn = function ltn (num) { + return this.cmpn(num) === -1; + }; + + BN.prototype.lt = function lt (num) { + return this.cmp(num) === -1; + }; + + BN.prototype.lten = function lten (num) { + return this.cmpn(num) <= 0; + }; + + BN.prototype.lte = function lte (num) { + return this.cmp(num) <= 0; + }; + + BN.prototype.eqn = function eqn (num) { + return this.cmpn(num) === 0; + }; + + BN.prototype.eq = function eq (num) { + return this.cmp(num) === 0; + }; + + // + // A reduce context, could be using montgomery or something better, depending + // on the `m` itself. + // + BN.red = function red (num) { + return new Red(num); + }; + + BN.prototype.toRed = function toRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + assert(this.negative === 0, 'red works only with positives'); + return ctx.convertTo(this)._forceRed(ctx); + }; + + BN.prototype.fromRed = function fromRed () { + assert(this.red, 'fromRed works only with numbers in reduction context'); + return this.red.convertFrom(this); + }; + + BN.prototype._forceRed = function _forceRed (ctx) { + this.red = ctx; + return this; + }; + + BN.prototype.forceRed = function forceRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + return this._forceRed(ctx); + }; + + BN.prototype.redAdd = function redAdd (num) { + assert(this.red, 'redAdd works only with red numbers'); + return this.red.add(this, num); + }; + + BN.prototype.redIAdd = function redIAdd (num) { + assert(this.red, 'redIAdd works only with red numbers'); + return this.red.iadd(this, num); + }; + + BN.prototype.redSub = function redSub (num) { + assert(this.red, 'redSub works only with red numbers'); + return this.red.sub(this, num); + }; + + BN.prototype.redISub = function redISub (num) { + assert(this.red, 'redISub works only with red numbers'); + return this.red.isub(this, num); + }; + + BN.prototype.redShl = function redShl (num) { + assert(this.red, 'redShl works only with red numbers'); + return this.red.shl(this, num); + }; + + BN.prototype.redMul = function redMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.mul(this, num); + }; + + BN.prototype.redIMul = function redIMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.imul(this, num); + }; + + BN.prototype.redSqr = function redSqr () { + assert(this.red, 'redSqr works only with red numbers'); + this.red._verify1(this); + return this.red.sqr(this); + }; + + BN.prototype.redISqr = function redISqr () { + assert(this.red, 'redISqr works only with red numbers'); + this.red._verify1(this); + return this.red.isqr(this); + }; + + // Square root over p + BN.prototype.redSqrt = function redSqrt () { + assert(this.red, 'redSqrt works only with red numbers'); + this.red._verify1(this); + return this.red.sqrt(this); + }; + + BN.prototype.redInvm = function redInvm () { + assert(this.red, 'redInvm works only with red numbers'); + this.red._verify1(this); + return this.red.invm(this); + }; + + // Return negative clone of `this` % `red modulo` + BN.prototype.redNeg = function redNeg () { + assert(this.red, 'redNeg works only with red numbers'); + this.red._verify1(this); + return this.red.neg(this); + }; + + BN.prototype.redPow = function redPow (num) { + assert(this.red && !num.red, 'redPow(normalNum)'); + this.red._verify1(this); + return this.red.pow(this, num); + }; + + // Prime numbers with efficient reduction + var primes = { + k256: null, + p224: null, + p192: null, + p25519: null + }; + + // Pseudo-Mersenne prime + function MPrime (name, p) { + // P = 2 ^ N - K + this.name = name; + this.p = new BN(p, 16); + this.n = this.p.bitLength(); + this.k = new BN(1).iushln(this.n).isub(this.p); + + this.tmp = this._tmp(); + } + + MPrime.prototype._tmp = function _tmp () { + var tmp = new BN(null); + tmp.words = new Array(Math.ceil(this.n / 13)); + return tmp; + }; + + MPrime.prototype.ireduce = function ireduce (num) { + // Assumes that `num` is less than `P^2` + // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P) + var r = num; + var rlen; + + do { + this.split(r, this.tmp); + r = this.imulK(r); + r = r.iadd(this.tmp); + rlen = r.bitLength(); + } while (rlen > this.n); + + var cmp = rlen < this.n ? -1 : r.ucmp(this.p); + if (cmp === 0) { + r.words[0] = 0; + r.length = 1; + } else if (cmp > 0) { + r.isub(this.p); + } else { + r.strip(); + } + + return r; + }; + + MPrime.prototype.split = function split (input, out) { + input.iushrn(this.n, 0, out); + }; + + MPrime.prototype.imulK = function imulK (num) { + return num.imul(this.k); + }; + + function K256 () { + MPrime.call( + this, + 'k256', + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f'); + } + inherits(K256, MPrime); + + K256.prototype.split = function split (input, output) { + // 256 = 9 * 26 + 22 + var mask = 0x3fffff; + + var outLen = Math.min(input.length, 9); + for (var i = 0; i < outLen; i++) { + output.words[i] = input.words[i]; + } + output.length = outLen; + + if (input.length <= 9) { + input.words[0] = 0; + input.length = 1; + return; + } + + // Shift by 9 limbs + var prev = input.words[9]; + output.words[output.length++] = prev & mask; + + for (i = 10; i < input.length; i++) { + var next = input.words[i] | 0; + input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22); + prev = next; + } + prev >>>= 22; + input.words[i - 10] = prev; + if (prev === 0 && input.length > 10) { + input.length -= 10; + } else { + input.length -= 9; + } + }; + + K256.prototype.imulK = function imulK (num) { + // K = 0x1000003d1 = [ 0x40, 0x3d1 ] + num.words[num.length] = 0; + num.words[num.length + 1] = 0; + num.length += 2; + + // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390 + var lo = 0; + for (var i = 0; i < num.length; i++) { + var w = num.words[i] | 0; + lo += w * 0x3d1; + num.words[i] = lo & 0x3ffffff; + lo = w * 0x40 + ((lo / 0x4000000) | 0); + } + + // Fast length reduction + if (num.words[num.length - 1] === 0) { + num.length--; + if (num.words[num.length - 1] === 0) { + num.length--; + } + } + return num; + }; + + function P224 () { + MPrime.call( + this, + 'p224', + 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001'); + } + inherits(P224, MPrime); + + function P192 () { + MPrime.call( + this, + 'p192', + 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff'); + } + inherits(P192, MPrime); + + function P25519 () { + // 2 ^ 255 - 19 + MPrime.call( + this, + '25519', + '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed'); + } + inherits(P25519, MPrime); + + P25519.prototype.imulK = function imulK (num) { + // K = 0x13 + var carry = 0; + for (var i = 0; i < num.length; i++) { + var hi = (num.words[i] | 0) * 0x13 + carry; + var lo = hi & 0x3ffffff; + hi >>>= 26; + + num.words[i] = lo; + carry = hi; + } + if (carry !== 0) { + num.words[num.length++] = carry; + } + return num; + }; + + // Exported mostly for testing purposes, use plain name instead + BN._prime = function prime (name) { + // Cached version of prime + if (primes[name]) return primes[name]; + + var prime; + if (name === 'k256') { + prime = new K256(); + } else if (name === 'p224') { + prime = new P224(); + } else if (name === 'p192') { + prime = new P192(); + } else if (name === 'p25519') { + prime = new P25519(); + } else { + throw new Error('Unknown prime ' + name); + } + primes[name] = prime; + + return prime; + }; + + // + // Base reduction engine + // + function Red (m) { + if (typeof m === 'string') { + var prime = BN._prime(m); + this.m = prime.p; + this.prime = prime; + } else { + assert(m.gtn(1), 'modulus must be greater than 1'); + this.m = m; + this.prime = null; + } + } + + Red.prototype._verify1 = function _verify1 (a) { + assert(a.negative === 0, 'red works only with positives'); + assert(a.red, 'red works only with red numbers'); + }; + + Red.prototype._verify2 = function _verify2 (a, b) { + assert((a.negative | b.negative) === 0, 'red works only with positives'); + assert(a.red && a.red === b.red, + 'red works only with red numbers'); + }; + + Red.prototype.imod = function imod (a) { + if (this.prime) return this.prime.ireduce(a)._forceRed(this); + return a.umod(this.m)._forceRed(this); + }; + + Red.prototype.neg = function neg (a) { + if (a.isZero()) { + return a.clone(); + } + + return this.m.sub(a)._forceRed(this); + }; + + Red.prototype.add = function add (a, b) { + this._verify2(a, b); + + var res = a.add(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.iadd = function iadd (a, b) { + this._verify2(a, b); + + var res = a.iadd(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res; + }; + + Red.prototype.sub = function sub (a, b) { + this._verify2(a, b); + + var res = a.sub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.isub = function isub (a, b) { + this._verify2(a, b); + + var res = a.isub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res; + }; + + Red.prototype.shl = function shl (a, num) { + this._verify1(a); + return this.imod(a.ushln(num)); + }; + + Red.prototype.imul = function imul (a, b) { + this._verify2(a, b); + return this.imod(a.imul(b)); + }; + + Red.prototype.mul = function mul (a, b) { + this._verify2(a, b); + return this.imod(a.mul(b)); + }; + + Red.prototype.isqr = function isqr (a) { + return this.imul(a, a.clone()); + }; + + Red.prototype.sqr = function sqr (a) { + return this.mul(a, a); + }; + + Red.prototype.sqrt = function sqrt (a) { + if (a.isZero()) return a.clone(); + + var mod3 = this.m.andln(3); + assert(mod3 % 2 === 1); + + // Fast case + if (mod3 === 3) { + var pow = this.m.add(new BN(1)).iushrn(2); + return this.pow(a, pow); + } + + // Tonelli-Shanks algorithm (Totally unoptimized and slow) + // + // Find Q and S, that Q * 2 ^ S = (P - 1) + var q = this.m.subn(1); + var s = 0; + while (!q.isZero() && q.andln(1) === 0) { + s++; + q.iushrn(1); + } + assert(!q.isZero()); + + var one = new BN(1).toRed(this); + var nOne = one.redNeg(); + + // Find quadratic non-residue + // NOTE: Max is such because of generalized Riemann hypothesis. + var lpow = this.m.subn(1).iushrn(1); + var z = this.m.bitLength(); + z = new BN(2 * z * z).toRed(this); + + while (this.pow(z, lpow).cmp(nOne) !== 0) { + z.redIAdd(nOne); + } + + var c = this.pow(z, q); + var r = this.pow(a, q.addn(1).iushrn(1)); + var t = this.pow(a, q); + var m = s; + while (t.cmp(one) !== 0) { + var tmp = t; + for (var i = 0; tmp.cmp(one) !== 0; i++) { + tmp = tmp.redSqr(); + } + assert(i < m); + var b = this.pow(c, new BN(1).iushln(m - i - 1)); + + r = r.redMul(b); + c = b.redSqr(); + t = t.redMul(c); + m = i; + } + + return r; + }; + + Red.prototype.invm = function invm (a) { + var inv = a._invmp(this.m); + if (inv.negative !== 0) { + inv.negative = 0; + return this.imod(inv).redNeg(); + } else { + return this.imod(inv); + } + }; + + Red.prototype.pow = function pow (a, num) { + if (num.isZero()) return new BN(1); + if (num.cmpn(1) === 0) return a.clone(); + + var windowSize = 4; + var wnd = new Array(1 << windowSize); + wnd[0] = new BN(1).toRed(this); + wnd[1] = a; + for (var i = 2; i < wnd.length; i++) { + wnd[i] = this.mul(wnd[i - 1], a); + } + + var res = wnd[0]; + var current = 0; + var currentLen = 0; + var start = num.bitLength() % 26; + if (start === 0) { + start = 26; + } + + for (i = num.length - 1; i >= 0; i--) { + var word = num.words[i]; + for (var j = start - 1; j >= 0; j--) { + var bit = (word >> j) & 1; + if (res !== wnd[0]) { + res = this.sqr(res); + } + + if (bit === 0 && current === 0) { + currentLen = 0; + continue; + } + + current <<= 1; + current |= bit; + currentLen++; + if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue; + + res = this.mul(res, wnd[current]); + currentLen = 0; + current = 0; + } + start = 26; + } + + return res; + }; + + Red.prototype.convertTo = function convertTo (num) { + var r = num.umod(this.m); + + return r === num ? r.clone() : r; + }; + + Red.prototype.convertFrom = function convertFrom (num) { + var res = num.clone(); + res.red = null; + return res; + }; + + // + // Montgomery method engine + // + + BN.mont = function mont (num) { + return new Mont(num); + }; + + function Mont (m) { + Red.call(this, m); + + this.shift = this.m.bitLength(); + if (this.shift % 26 !== 0) { + this.shift += 26 - (this.shift % 26); + } + + this.r = new BN(1).iushln(this.shift); + this.r2 = this.imod(this.r.sqr()); + this.rinv = this.r._invmp(this.m); + + this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); + this.minv = this.minv.umod(this.r); + this.minv = this.r.sub(this.minv); + } + inherits(Mont, Red); + + Mont.prototype.convertTo = function convertTo (num) { + return this.imod(num.ushln(this.shift)); + }; + + Mont.prototype.convertFrom = function convertFrom (num) { + var r = this.imod(num.mul(this.rinv)); + r.red = null; + return r; + }; + + Mont.prototype.imul = function imul (a, b) { + if (a.isZero() || b.isZero()) { + a.words[0] = 0; + a.length = 1; + return a; + } + + var t = a.imul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.mul = function mul (a, b) { + if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this); + + var t = a.mul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.invm = function invm (a) { + // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R + var res = this.imod(a._invmp(this.m).mul(this.r2)); + return res._forceRed(this); + }; +})(typeof module === 'undefined' || module, this); + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(14)(module))) + +/***/ }), +/* 125 */ +/***/ (function(module, exports, __webpack_require__) { + +var BN = __webpack_require__(124); +var stripHexPrefix = __webpack_require__(127); + +/** + * Returns a BN object, converts a number value to a BN + * @param {String|Number|Object} `arg` input a string number, hex string number, number, BigNumber or BN object + * @return {Object} `output` BN object of the number + * @throws if the argument is not an array, object that isn't a bignumber, not a string number or number + */ +module.exports = function numberToBN(arg) { + if (typeof arg === 'string' || typeof arg === 'number') { + var multiplier = new BN(1); // eslint-disable-line + var formattedString = String(arg).toLowerCase().trim(); + var isHexPrefixed = formattedString.substr(0, 2) === '0x' || formattedString.substr(0, 3) === '-0x'; + var stringArg = stripHexPrefix(formattedString); // eslint-disable-line + if (stringArg.substr(0, 1) === '-') { + stringArg = stripHexPrefix(stringArg.slice(1)); + multiplier = new BN(-1, 10); + } + stringArg = stringArg === '' ? '0' : stringArg; + + if ((!stringArg.match(/^-?[0-9]+$/) && stringArg.match(/^[0-9A-Fa-f]+$/)) + || stringArg.match(/^[a-fA-F]+$/) + || (isHexPrefixed === true && stringArg.match(/^[0-9A-Fa-f]+$/))) { + return new BN(stringArg, 16).mul(multiplier); + } + + if ((stringArg.match(/^-?[0-9]+$/) || stringArg === '') && isHexPrefixed === false) { + return new BN(stringArg, 10).mul(multiplier); + } + } else if (typeof arg === 'object' && arg.toString && (!arg.pop && !arg.push)) { + if (arg.toString(10).match(/^-?[0-9]+$/) && (arg.mul || arg.dividedToIntegerBy)) { + return new BN(arg.toString(10), 10); + } + } + + throw new Error('[number-to-bn] while converting number ' + JSON.stringify(arg) + ' to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.'); +} + + +/***/ }), +/* 126 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) { + "use strict"; + + if (global.setImmediate) { + return; + } + + var nextHandle = 1; // Spec says greater than zero + var tasksByHandle = {}; + var currentlyRunningATask = false; + var doc = global.document; + var registerImmediate; + + function setImmediate(callback) { + // Callback can either be a function or a string + if (typeof callback !== "function") { + callback = new Function("" + callback); + } + // Copy function arguments + var args = new Array(arguments.length - 1); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i + 1]; + } + // Store and register the task + var task = { callback: callback, args: args }; + tasksByHandle[nextHandle] = task; + registerImmediate(nextHandle); + return nextHandle++; + } + + function clearImmediate(handle) { + delete tasksByHandle[handle]; + } + + function run(task) { + var callback = task.callback; + var args = task.args; + switch (args.length) { + case 0: + callback(); + break; + case 1: + callback(args[0]); + break; + case 2: + callback(args[0], args[1]); + break; + case 3: + callback(args[0], args[1], args[2]); + break; + default: + callback.apply(undefined, args); + break; + } + } + + function runIfPresent(handle) { + // From the spec: "Wait until any invocations of this algorithm started before this one have completed." + // So if we're currently running a task, we'll need to delay this invocation. + if (currentlyRunningATask) { + // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a + // "too much recursion" error. + setTimeout(runIfPresent, 0, handle); + } else { + var task = tasksByHandle[handle]; + if (task) { + currentlyRunningATask = true; + try { + run(task); + } finally { + clearImmediate(handle); + currentlyRunningATask = false; + } + } + } + } + + function installNextTickImplementation() { + registerImmediate = function(handle) { + process.nextTick(function () { runIfPresent(handle); }); + }; + } + + function canUsePostMessage() { + // The test against `importScripts` prevents this implementation from being installed inside a web worker, + // where `global.postMessage` means something completely different and can't be used for this purpose. + if (global.postMessage && !global.importScripts) { + var postMessageIsAsynchronous = true; + var oldOnMessage = global.onmessage; + global.onmessage = function() { + postMessageIsAsynchronous = false; + }; + global.postMessage("", "*"); + global.onmessage = oldOnMessage; + return postMessageIsAsynchronous; + } + } + + function installPostMessageImplementation() { + // Installs an event handler on `global` for the `message` event: see + // * https://developer.mozilla.org/en/DOM/window.postMessage + // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages + + var messagePrefix = "setImmediate$" + Math.random() + "$"; + var onGlobalMessage = function(event) { + if (event.source === global && + typeof event.data === "string" && + event.data.indexOf(messagePrefix) === 0) { + runIfPresent(+event.data.slice(messagePrefix.length)); + } + }; + + if (global.addEventListener) { + global.addEventListener("message", onGlobalMessage, false); + } else { + global.attachEvent("onmessage", onGlobalMessage); + } + + registerImmediate = function(handle) { + global.postMessage(messagePrefix + handle, "*"); + }; + } + + function installMessageChannelImplementation() { + var channel = new MessageChannel(); + channel.port1.onmessage = function(event) { + var handle = event.data; + runIfPresent(handle); + }; + + registerImmediate = function(handle) { + channel.port2.postMessage(handle); + }; + } + + function installReadyStateChangeImplementation() { + var html = doc.documentElement; + registerImmediate = function(handle) { + // Create a - - diff --git a/app/js/app.js b/app/js/app.js deleted file mode 100644 index d79013d..0000000 --- a/app/js/app.js +++ /dev/null @@ -1,209 +0,0 @@ -require('../open-iconic/font/css/open-iconic-bootstrap.css'); -require('html-loader!../index.html'); - -import { default as Web3} from 'web3'; -import { default as contract } from 'truffle-contract'; -import { default as namehash } from 'eth-ens-namehash'; -import { default as _ } from 'underscore'; -import { default as $ } from 'jquery'; -import { keccak_256 as sha3 } from 'js-sha3'; -import { default as Promise } from 'bluebird'; - -import subdomainregistrar_artifacts from '../../build/contracts/ENSMigrationSubdomainRegistrar.json'; -import ens_artifacts from '../../build/contracts/ENSRegistryWithFallback.json'; -import domainnames from './domains.json'; - -const tld = "eth"; -const ensAddress = "0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e"; -const referrerAddress = "0x0904Dac3347eA47d208F3Fd67402D039a3b99859"; -const defaultSubdomainRegistrar = "0xe65d8AAF34CB91087D1598e0A15B582F57F217d9"; - -var SubdomainRegistrar = contract(subdomainregistrar_artifacts); -var ENS = contract(ens_artifacts); -Promise.config({cancellation: true}); - -var registrarVersions = { - "1.0": { - query: async function(domain, subdomain) { - return domain.contract.query('0x' + sha3(domain.name), subdomain); - }, - register: async function(domain, subdomain, ownerAddress, referrerAddress, resolverAddress, value) { - return domain.contract.register( - '0x' + sha3(domain.name), - subdomain, - ownerAddress, - referrerAddress, - resolverAddress, - { - from: ownerAddress, - value: value, - }); - } - } -}; - -function domainge(infoa, infob) { - // Rank free domains highest, regardless of referral fee - if(infoa[1] == 0) return true; - if(infob[1] == 0) return false; - // Then rank by referral fee descending - if(!infoa[3].eq(infob[3])) return infoa[3].gte(infob[3]); - // Then rank by price ascending - if(!infoa[1].eq(infob[1])) return infoa[1].lt(infob[1]); - // Finally sort alphabetically - return infoa[0] < infob[0]; -} - -window.App = { - start: async function() { - var self = this; - - SubdomainRegistrar.setProvider(web3.currentProvider); - ENS.setProvider(web3.currentProvider); - - try { - self.ens = await ENS.at(ensAddress); - - // Construct instances of the registrars we know about - await this.buildInstances(); - - // Get the address of the current public resolver - self.resolverAddress = await self.ens.resolver(namehash.hash('resolver.eth')); - } catch(e) { - console.log(e); - $("#wrongnetworkmodal").modal('show'); - } - - $("#name").keyup(function() { - try { - var name = $("#name"); - namehash.normalize(name.val()); - name.get(0).setCustomValidity(""); - } catch(e) { - name.get(0).setCustomValidity("Please provide a valid domain name"); - } - }); - - $("#name").keyup(_.debounce(function() { - var name = $("#name"); - if(!name.get(0).validity.valid) { - self.clearDomains(); - return; - } - var subdomain = namehash.normalize($("#name").val().trim()); - $("#name").val(subdomain); - - if(subdomain == this.last) return; - this.last = subdomain; - - self.clearDomains(); - if(this.lookups !== undefined) { - this.lookups.cancel(); - } - if(subdomain != "") { - self.checkDomains(domainnames, subdomain, 2); - } - }.bind(this), 500)); - }, - buildInstances: async function() { - var registrars = {}; - for(var i = 0; i < domainnames.length; i++) { - var domain = domainnames[i]; - if(registrars[domain.registrar] === undefined) { - registrars[domain.registrar] = await ((domain.registrar === undefined) ? SubdomainRegistrar.at(defaultSubdomainRegistrar) : SubdomainRegistrar.at(domain.registrar)); - } - domainnames[i].contract = registrars[domain.registrar]; - } - }, - clearDomains: function() { - $('#results').empty(); - }, - checkDomains: async function(domains, subdomain, parallelism) { - this.lookups = Promise.map( - domains, - async function(domain) { - var name = subdomain + "." + domain.name + "." + tld; - - var item = $(''); - item.data({domain: domain, subdomain: subdomain}); - - var namediv = $('
'); - namediv.append($('
').text(name)); - var icon = $(''); - namediv.append(icon.append($(''))); - item.append(namediv); - - var insertPoint = $('#results .list-group-item-danger'); - if(insertPoint.length == 0) { - item.appendTo($('#results')); - } else { - item.insertBefore(insertPoint.first()); - } - - var info = await registrarVersions[domain.version].query(domain, subdomain); - item.removeClass("disabled"); - this.setItemState(domain, subdomain, item, info); - }.bind(this), - {concurrency: 4} - ); - await this.lookups; - this.lookups = undefined; - }, - setItemState: function(domain, subdomain, item, info) { - if(subdomain != this.last) return; - - item.data().info = info; - if(info[0] == "") { - $(".icon", item).empty().append($('')); - item.removeClass("list-group-item-success"); - item.addClass("list-group-item-danger"); - item.appendTo($('#results')); - } else { - var cost = web3.fromWei(info[1]); - $(".icon", item).empty().append($('').text("Ξ" + cost)); - item.removeClass("list-group-item-danger"); - item.addClass("list-group-item-success"); - item.click(() => this.buySubdomain(domain, subdomain, item, info)); - - // Find the correct insertion point - for(var li of $('#results a')) { - li = $(li); - if(li.hasClass("disabled") || li.hasClass("list-group-item-danger") || domainge(item.data().info, li.data().info)) { - item.insertBefore(li); - return; - } - } - item.appendTo($('#results')); - } - }, - buySubdomain: async function(domain, subdomain, item, info) { - if(readOnly) { - $("#readonlymodal").modal('show'); - return; - } - - $(".domainname").text(subdomain + "." + domain.name + "." + tld); - $("#registeringmodal").modal('show'); - var tx = await registrarVersions[domain.version].register(domain, subdomain, web3.eth.accounts[0], referrerAddress, this.resolverAddress, info[1]); - $("#etherscan").attr("href", "https://etherscan.io/tx/" + tx.tx); - $("#registeringmodal").modal('hide'); - $("#registeredmodal").modal('show'); - info[0] = ''; - this.setItemState(domain, subdomain, item, info); - } -}; - -window.addEventListener('load', async function() { - // Checking if Web3 has been injected by the browser (Mist/MetaMask) - if (typeof ethereum !== 'undefined') { - // Use Mist/MetaMask's provider - await ethereum.enable(); - window.web3 = new Web3(ethereum); - window.readOnly = false; - } else { - window.web3 = new Web3(new Web3.providers.HttpProvider("https://mainnet.infura.io/Rg6BrBl8vIqJBc7AlL9h")); - window.readOnly = true; - } - - App.start(); -}); diff --git a/app/js/domains.json b/app/js/domains.json deleted file mode 100644 index 2fb36af..0000000 --- a/app/js/domains.json +++ /dev/null @@ -1,44 +0,0 @@ -[ - {"name": "420", "version": "1.0"}, - {"name": "accepte", "version": "1.0"}, - {"name": "asksfor", "version": "1.0"}, - {"name": "atethereum", "version": "1.0"}, - {"name": "atleeroy", "version": "1.0"}, - {"name": "atpeepeth", "version": "1.0"}, - {"name": "awake", "version": "1.0"}, - {"name": "begsfor", "version": "1.0"}, - {"name": "blockchainboss", "version": "1.0"}, - {"name": "blockchaincontracts", "version": "1.0"}, - {"name": "britishblockchain", "version": "1.0"}, - {"name": "btcaddress", "version": "1.0"}, - {"name": "buymeatesla", "version": "1.0"}, - {"name": "chainlinknode", "version": "1.0"}, - {"name": "cryptoking", "version": "1.0"}, - {"name": "deserves", "version": "1.0"}, - {"name": "dev", "version": "1.0"}, - {"name": "doesexist", "version": "1.0"}, - {"name": "doesntexist", "version": "1.0"}, - {"name": "doexist", "version": "1.0"}, - {"name": "dontexist", "version": "1.0"}, - {"name": "eastoasis", "version": "1.0"}, - {"name": "eth-gbg", "version": "1.0"}, - {"name": "etherbase", "version": "1.0"}, - {"name": "gimmethe", "version": "1.0"}, - {"name": "hack", "version": "1.0"}, - {"name": "iscoin", "version": "1.0"}, - {"name": "isfund", "version": "1.0"}, - {"name": "isfunds", "version": "1.0"}, - {"name": "ismoney", "version": "1.0"}, - {"name": "isonfire", "version": "1.0"}, - {"name": "laundering", "version": "1.0"}, - {"name": "paynonym", "version": "1.0"}, - {"name": "payid", "version": "1.0"}, - {"name": "sendmecrypto", "version": "1.0"}, - {"name": "thecryptogirl", "version": "1.0"}, - {"name": "thecryptoguy", "version": "1.0"}, - {"name": "tokenid", "version": "1.0"}, - {"name": "tradealts", "version": "1.0"}, - {"name": "trustnobank", "version": "1.0"}, - {"name": "wantsome", "version": "1.0"}, - {"name": "xannyfamily", "version": "1.0"} -] diff --git a/app/open-iconic/.gitignore b/app/open-iconic/.gitignore deleted file mode 100755 index 496ee2c..0000000 --- a/app/open-iconic/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.DS_Store \ No newline at end of file diff --git a/app/open-iconic/FONT-LICENSE b/app/open-iconic/FONT-LICENSE deleted file mode 100755 index a1dc03f..0000000 --- a/app/open-iconic/FONT-LICENSE +++ /dev/null @@ -1,86 +0,0 @@ -SIL OPEN FONT LICENSE Version 1.1 - -Copyright (c) 2014 Waybury - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/app/open-iconic/ICON-LICENSE b/app/open-iconic/ICON-LICENSE deleted file mode 100755 index 2199f4a..0000000 --- a/app/open-iconic/ICON-LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Waybury - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/app/open-iconic/README.md b/app/open-iconic/README.md deleted file mode 100755 index 6b810e4..0000000 --- a/app/open-iconic/README.md +++ /dev/null @@ -1,114 +0,0 @@ -[Open Iconic v1.1.1](http://useiconic.com/open) -=========== - -### Open Iconic is the open source sibling of [Iconic](http://useiconic.com). It is a hyper-legible collection of 223 icons with a tiny footprint—ready to use with Bootstrap and Foundation. [View the collection](http://useiconic.com/open#icons) - - - -## What's in Open Iconic? - -* 223 icons designed to be legible down to 8 pixels -* Super-light SVG files - 61.8 for the entire set -* SVG sprite—the modern replacement for icon fonts -* Webfont (EOT, OTF, SVG, TTF, WOFF), PNG and WebP formats -* Webfont stylesheets (including versions for Bootstrap and Foundation) in CSS, LESS, SCSS and Stylus formats -* PNG and WebP raster images in 8px, 16px, 24px, 32px, 48px and 64px. - - -## Getting Started - -#### For code samples and everything else you need to get started with Open Iconic, check out our [Icons](http://useiconic.com/open#icons) and [Reference](http://useiconic.com/open#reference) sections. - -### General Usage - -#### Using Open Iconic's SVGs - -We like SVGs and we think they're the way to display icons on the web. Since Open Iconic are just basic SVGs, we suggest you display them like you would any other image (don't forget the `alt` attribute). - -``` -icon name -``` - -#### Using Open Iconic's SVG Sprite - -Open Iconic also comes in a SVG sprite which allows you to display all the icons in the set with a single request. It's like an icon font, without being a hack. - -Adding an icon from an SVG sprite is a little different than what you're used to, but it's still a piece of cake. *Tip: To make your icons easily style able, we suggest adding a general class to the* `` *tag and a unique class name for each different icon in the* `` *tag.* - -``` - - - -``` - -Sizing icons only needs basic CSS. All the icons are in a square format, so just set the `` tag with equal width and height dimensions. - -``` -.icon { - width: 16px; - height: 16px; -} -``` - -Coloring icons is even easier. All you need to do is set the `fill` rule on the `` tag. - -``` -.icon-account-login { - fill: #f00; -} -``` - -To learn more about SVG Sprites, read [Chris Coyier's guide](http://css-tricks.com/svg-sprites-use-better-icon-fonts/). - -#### Using Open Iconic's Icon Font... - - -##### …with Bootstrap - -You can find our Bootstrap stylesheets in `font/css/open-iconic-bootstrap.{css, less, scss, styl}` - - -``` - -``` - - -``` - -``` - -##### …with Foundation - -You can find our Foundation stylesheets in `font/css/open-iconic-foundation.{css, less, scss, styl}` - -``` - -``` - - -``` - -``` - -##### …on its own - -You can find our default stylesheets in `font/css/open-iconic.{css, less, scss, styl}` - -``` - -``` - -``` - -``` - - -## License - -### Icons - -All code (including SVG markup) is under the [MIT License](http://opensource.org/licenses/MIT). - -### Fonts - -All fonts are under the [SIL Licensed](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web). diff --git a/app/open-iconic/bower.json b/app/open-iconic/bower.json deleted file mode 100755 index fbf9661..0000000 --- a/app/open-iconic/bower.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "open-iconic", - "description": "An open source icon set in SVG, webfont and raster formats", - "version": "1.1.1", - "license": [ - "MIT", - "OFL-1.1" - ], - "homepage": "https://useiconic.com/open", - "repository": { - "type": "git", - "url": "git://github.com/iconic/open-iconic.git" - }, - "main": [ - "./sprite/open-iconic.min.svg" - ], - "ignore": [ - "*.json", - "*.md" - ] -} diff --git a/app/open-iconic/font/css/open-iconic-bootstrap.css b/app/open-iconic/font/css/open-iconic-bootstrap.css deleted file mode 100755 index 56c4e5f..0000000 --- a/app/open-iconic/font/css/open-iconic-bootstrap.css +++ /dev/null @@ -1,952 +0,0 @@ -/* Bootstrap */ - -@font-face { - font-family: 'Icons'; - src: url('../fonts/open-iconic.eot'); - src: url('../fonts/open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('../fonts/open-iconic.woff') format('woff'), url('../fonts/open-iconic.ttf') format('truetype'), url('../fonts/open-iconic.otf') format('opentype'), url('../fonts/open-iconic.svg#iconic-sm') format('svg'); - font-weight: normal; - font-style: normal; -} - -.oi { - position: relative; - top: 1px; - display: inline-block; - speak:none; - font-family: 'Icons'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.oi:empty:before { - width: 1em; - text-align: center; - box-sizing: content-box; -} - -.oi.oi-align-center:before { - text-align: center; -} - -.oi.oi-align-left:before { - text-align: left; -} - -.oi.oi-align-right:before { - text-align: right; -} - - -.oi.oi-flip-horizontal:before { - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} - -.oi.oi-flip-vertical:before { - -webkit-transform: scale(1, -1); - -ms-transform: scale(-1, 1); - transform: scale(1, -1); -} - -.oi.oi-flip-horizontal-vertical:before { - -webkit-transform: scale(-1, -1); - -ms-transform: scale(-1, 1); - transform: scale(-1, -1); -} - - -.oi-account-login:before { - content:'\e000'; -} - -.oi-account-logout:before { - content:'\e001'; -} - -.oi-action-redo:before { - content:'\e002'; -} - -.oi-action-undo:before { - content:'\e003'; -} - -.oi-align-center:before { - content:'\e004'; -} - -.oi-align-left:before { - content:'\e005'; -} - -.oi-align-right:before { - content:'\e006'; -} - -.oi-aperture:before { - content:'\e007'; -} - -.oi-arrow-bottom:before { - content:'\e008'; -} - -.oi-arrow-circle-bottom:before { - content:'\e009'; -} - -.oi-arrow-circle-left:before { - content:'\e00a'; -} - -.oi-arrow-circle-right:before { - content:'\e00b'; -} - -.oi-arrow-circle-top:before { - content:'\e00c'; -} - -.oi-arrow-left:before { - content:'\e00d'; -} - -.oi-arrow-right:before { - content:'\e00e'; -} - -.oi-arrow-thick-bottom:before { - content:'\e00f'; -} - -.oi-arrow-thick-left:before { - content:'\e010'; -} - -.oi-arrow-thick-right:before { - content:'\e011'; -} - -.oi-arrow-thick-top:before { - content:'\e012'; -} - -.oi-arrow-top:before { - content:'\e013'; -} - -.oi-audio-spectrum:before { - content:'\e014'; -} - -.oi-audio:before { - content:'\e015'; -} - -.oi-badge:before { - content:'\e016'; -} - -.oi-ban:before { - content:'\e017'; -} - -.oi-bar-chart:before { - content:'\e018'; -} - -.oi-basket:before { - content:'\e019'; -} - -.oi-battery-empty:before { - content:'\e01a'; -} - -.oi-battery-full:before { - content:'\e01b'; -} - -.oi-beaker:before { - content:'\e01c'; -} - -.oi-bell:before { - content:'\e01d'; -} - -.oi-bluetooth:before { - content:'\e01e'; -} - -.oi-bold:before { - content:'\e01f'; -} - -.oi-bolt:before { - content:'\e020'; -} - -.oi-book:before { - content:'\e021'; -} - -.oi-bookmark:before { - content:'\e022'; -} - -.oi-box:before { - content:'\e023'; -} - -.oi-briefcase:before { - content:'\e024'; -} - -.oi-british-pound:before { - content:'\e025'; -} - -.oi-browser:before { - content:'\e026'; -} - -.oi-brush:before { - content:'\e027'; -} - -.oi-bug:before { - content:'\e028'; -} - -.oi-bullhorn:before { - content:'\e029'; -} - -.oi-calculator:before { - content:'\e02a'; -} - -.oi-calendar:before { - content:'\e02b'; -} - -.oi-camera-slr:before { - content:'\e02c'; -} - -.oi-caret-bottom:before { - content:'\e02d'; -} - -.oi-caret-left:before { - content:'\e02e'; -} - -.oi-caret-right:before { - content:'\e02f'; -} - -.oi-caret-top:before { - content:'\e030'; -} - -.oi-cart:before { - content:'\e031'; -} - -.oi-chat:before { - content:'\e032'; -} - -.oi-check:before { - content:'\e033'; -} - -.oi-chevron-bottom:before { - content:'\e034'; -} - -.oi-chevron-left:before { - content:'\e035'; -} - -.oi-chevron-right:before { - content:'\e036'; -} - -.oi-chevron-top:before { - content:'\e037'; -} - -.oi-circle-check:before { - content:'\e038'; -} - -.oi-circle-x:before { - content:'\e039'; -} - -.oi-clipboard:before { - content:'\e03a'; -} - -.oi-clock:before { - content:'\e03b'; -} - -.oi-cloud-download:before { - content:'\e03c'; -} - -.oi-cloud-upload:before { - content:'\e03d'; -} - -.oi-cloud:before { - content:'\e03e'; -} - -.oi-cloudy:before { - content:'\e03f'; -} - -.oi-code:before { - content:'\e040'; -} - -.oi-cog:before { - content:'\e041'; -} - -.oi-collapse-down:before { - content:'\e042'; -} - -.oi-collapse-left:before { - content:'\e043'; -} - -.oi-collapse-right:before { - content:'\e044'; -} - -.oi-collapse-up:before { - content:'\e045'; -} - -.oi-command:before { - content:'\e046'; -} - -.oi-comment-square:before { - content:'\e047'; -} - -.oi-compass:before { - content:'\e048'; -} - -.oi-contrast:before { - content:'\e049'; -} - -.oi-copywriting:before { - content:'\e04a'; -} - -.oi-credit-card:before { - content:'\e04b'; -} - -.oi-crop:before { - content:'\e04c'; -} - -.oi-dashboard:before { - content:'\e04d'; -} - -.oi-data-transfer-download:before { - content:'\e04e'; -} - -.oi-data-transfer-upload:before { - content:'\e04f'; -} - -.oi-delete:before { - content:'\e050'; -} - -.oi-dial:before { - content:'\e051'; -} - -.oi-document:before { - content:'\e052'; -} - -.oi-dollar:before { - content:'\e053'; -} - -.oi-double-quote-sans-left:before { - content:'\e054'; -} - -.oi-double-quote-sans-right:before { - content:'\e055'; -} - -.oi-double-quote-serif-left:before { - content:'\e056'; -} - -.oi-double-quote-serif-right:before { - content:'\e057'; -} - -.oi-droplet:before { - content:'\e058'; -} - -.oi-eject:before { - content:'\e059'; -} - -.oi-elevator:before { - content:'\e05a'; -} - -.oi-ellipses:before { - content:'\e05b'; -} - -.oi-envelope-closed:before { - content:'\e05c'; -} - -.oi-envelope-open:before { - content:'\e05d'; -} - -.oi-euro:before { - content:'\e05e'; -} - -.oi-excerpt:before { - content:'\e05f'; -} - -.oi-expand-down:before { - content:'\e060'; -} - -.oi-expand-left:before { - content:'\e061'; -} - -.oi-expand-right:before { - content:'\e062'; -} - -.oi-expand-up:before { - content:'\e063'; -} - -.oi-external-link:before { - content:'\e064'; -} - -.oi-eye:before { - content:'\e065'; -} - -.oi-eyedropper:before { - content:'\e066'; -} - -.oi-file:before { - content:'\e067'; -} - -.oi-fire:before { - content:'\e068'; -} - -.oi-flag:before { - content:'\e069'; -} - -.oi-flash:before { - content:'\e06a'; -} - -.oi-folder:before { - content:'\e06b'; -} - -.oi-fork:before { - content:'\e06c'; -} - -.oi-fullscreen-enter:before { - content:'\e06d'; -} - -.oi-fullscreen-exit:before { - content:'\e06e'; -} - -.oi-globe:before { - content:'\e06f'; -} - -.oi-graph:before { - content:'\e070'; -} - -.oi-grid-four-up:before { - content:'\e071'; -} - -.oi-grid-three-up:before { - content:'\e072'; -} - -.oi-grid-two-up:before { - content:'\e073'; -} - -.oi-hard-drive:before { - content:'\e074'; -} - -.oi-header:before { - content:'\e075'; -} - -.oi-headphones:before { - content:'\e076'; -} - -.oi-heart:before { - content:'\e077'; -} - -.oi-home:before { - content:'\e078'; -} - -.oi-image:before { - content:'\e079'; -} - -.oi-inbox:before { - content:'\e07a'; -} - -.oi-infinity:before { - content:'\e07b'; -} - -.oi-info:before { - content:'\e07c'; -} - -.oi-italic:before { - content:'\e07d'; -} - -.oi-justify-center:before { - content:'\e07e'; -} - -.oi-justify-left:before { - content:'\e07f'; -} - -.oi-justify-right:before { - content:'\e080'; -} - -.oi-key:before { - content:'\e081'; -} - -.oi-laptop:before { - content:'\e082'; -} - -.oi-layers:before { - content:'\e083'; -} - -.oi-lightbulb:before { - content:'\e084'; -} - -.oi-link-broken:before { - content:'\e085'; -} - -.oi-link-intact:before { - content:'\e086'; -} - -.oi-list-rich:before { - content:'\e087'; -} - -.oi-list:before { - content:'\e088'; -} - -.oi-location:before { - content:'\e089'; -} - -.oi-lock-locked:before { - content:'\e08a'; -} - -.oi-lock-unlocked:before { - content:'\e08b'; -} - -.oi-loop-circular:before { - content:'\e08c'; -} - -.oi-loop-square:before { - content:'\e08d'; -} - -.oi-loop:before { - content:'\e08e'; -} - -.oi-magnifying-glass:before { - content:'\e08f'; -} - -.oi-map-marker:before { - content:'\e090'; -} - -.oi-map:before { - content:'\e091'; -} - -.oi-media-pause:before { - content:'\e092'; -} - -.oi-media-play:before { - content:'\e093'; -} - -.oi-media-record:before { - content:'\e094'; -} - -.oi-media-skip-backward:before { - content:'\e095'; -} - -.oi-media-skip-forward:before { - content:'\e096'; -} - -.oi-media-step-backward:before { - content:'\e097'; -} - -.oi-media-step-forward:before { - content:'\e098'; -} - -.oi-media-stop:before { - content:'\e099'; -} - -.oi-medical-cross:before { - content:'\e09a'; -} - -.oi-menu:before { - content:'\e09b'; -} - -.oi-microphone:before { - content:'\e09c'; -} - -.oi-minus:before { - content:'\e09d'; -} - -.oi-monitor:before { - content:'\e09e'; -} - -.oi-moon:before { - content:'\e09f'; -} - -.oi-move:before { - content:'\e0a0'; -} - -.oi-musical-note:before { - content:'\e0a1'; -} - -.oi-paperclip:before { - content:'\e0a2'; -} - -.oi-pencil:before { - content:'\e0a3'; -} - -.oi-people:before { - content:'\e0a4'; -} - -.oi-person:before { - content:'\e0a5'; -} - -.oi-phone:before { - content:'\e0a6'; -} - -.oi-pie-chart:before { - content:'\e0a7'; -} - -.oi-pin:before { - content:'\e0a8'; -} - -.oi-play-circle:before { - content:'\e0a9'; -} - -.oi-plus:before { - content:'\e0aa'; -} - -.oi-power-standby:before { - content:'\e0ab'; -} - -.oi-print:before { - content:'\e0ac'; -} - -.oi-project:before { - content:'\e0ad'; -} - -.oi-pulse:before { - content:'\e0ae'; -} - -.oi-puzzle-piece:before { - content:'\e0af'; -} - -.oi-question-mark:before { - content:'\e0b0'; -} - -.oi-rain:before { - content:'\e0b1'; -} - -.oi-random:before { - content:'\e0b2'; -} - -.oi-reload:before { - content:'\e0b3'; -} - -.oi-resize-both:before { - content:'\e0b4'; -} - -.oi-resize-height:before { - content:'\e0b5'; -} - -.oi-resize-width:before { - content:'\e0b6'; -} - -.oi-rss-alt:before { - content:'\e0b7'; -} - -.oi-rss:before { - content:'\e0b8'; -} - -.oi-script:before { - content:'\e0b9'; -} - -.oi-share-boxed:before { - content:'\e0ba'; -} - -.oi-share:before { - content:'\e0bb'; -} - -.oi-shield:before { - content:'\e0bc'; -} - -.oi-signal:before { - content:'\e0bd'; -} - -.oi-signpost:before { - content:'\e0be'; -} - -.oi-sort-ascending:before { - content:'\e0bf'; -} - -.oi-sort-descending:before { - content:'\e0c0'; -} - -.oi-spreadsheet:before { - content:'\e0c1'; -} - -.oi-star:before { - content:'\e0c2'; -} - -.oi-sun:before { - content:'\e0c3'; -} - -.oi-tablet:before { - content:'\e0c4'; -} - -.oi-tag:before { - content:'\e0c5'; -} - -.oi-tags:before { - content:'\e0c6'; -} - -.oi-target:before { - content:'\e0c7'; -} - -.oi-task:before { - content:'\e0c8'; -} - -.oi-terminal:before { - content:'\e0c9'; -} - -.oi-text:before { - content:'\e0ca'; -} - -.oi-thumb-down:before { - content:'\e0cb'; -} - -.oi-thumb-up:before { - content:'\e0cc'; -} - -.oi-timer:before { - content:'\e0cd'; -} - -.oi-transfer:before { - content:'\e0ce'; -} - -.oi-trash:before { - content:'\e0cf'; -} - -.oi-underline:before { - content:'\e0d0'; -} - -.oi-vertical-align-bottom:before { - content:'\e0d1'; -} - -.oi-vertical-align-center:before { - content:'\e0d2'; -} - -.oi-vertical-align-top:before { - content:'\e0d3'; -} - -.oi-video:before { - content:'\e0d4'; -} - -.oi-volume-high:before { - content:'\e0d5'; -} - -.oi-volume-low:before { - content:'\e0d6'; -} - -.oi-volume-off:before { - content:'\e0d7'; -} - -.oi-warning:before { - content:'\e0d8'; -} - -.oi-wifi:before { - content:'\e0d9'; -} - -.oi-wrench:before { - content:'\e0da'; -} - -.oi-x:before { - content:'\e0db'; -} - -.oi-yen:before { - content:'\e0dc'; -} - -.oi-zoom-in:before { - content:'\e0dd'; -} - -.oi-zoom-out:before { - content:'\e0de'; -} diff --git a/app/open-iconic/font/css/open-iconic-bootstrap.less b/app/open-iconic/font/css/open-iconic-bootstrap.less deleted file mode 100755 index fc3fe34..0000000 --- a/app/open-iconic/font/css/open-iconic-bootstrap.less +++ /dev/null @@ -1,960 +0,0 @@ -/* Bootstrap */ - -/* Override Bootstrap default variable */ -//@icon-font-path: "../fonts/"; - -@font-face { - font-family: 'Icons'; - src: ~"url('@{icon-font-path}open-iconic.eot')"; - src: ~"url('@{icon-font-path}open-iconic.eot?#iconic-sm') format('embedded-opentype')", - ~"url('@{icon-font-path}open-iconic.woff') format('woff')", - ~"url('@{icon-font-path}open-iconic.ttf') format('truetype')", - ~"url('@{icon-font-path}open-iconic.svg#iconic-sm') format('svg')"; - font-weight: normal; - font-style: normal; -} - -// Catchall baseclass -.oi { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Icons'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - &:empty:before { - width: 1em; - text-align: center; - box-sizing: content-box; - } - - &.oi-align-center:before { - text-align: center; - } - - &.oi-align-left:before { - text-align: left; - } - - &.oi-align-right:before { - text-align: right; - } - - - &.oi-flip-horizontal:before { - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); - } - - &.oi-flip-vertical:before { - -webkit-transform: scale(1, -1); - -ms-transform: scale(-1, 1); - transform: scale(1, -1); - } - - &.oi-flip-horizontal-vertical:before { - -webkit-transform: scale(-1, -1); - -ms-transform: scale(-1, 1); - transform: scale(-1, -1); - } -} - - - -.oi-account-login:before { - content:"\e000"; -} - -.oi-account-logout:before { - content:"\e001"; -} - -.oi-action-redo:before { - content:"\e002"; -} - -.oi-action-undo:before { - content:"\e003"; -} - -.oi-align-center:before { - content:"\e004"; -} - -.oi-align-left:before { - content:"\e005"; -} - -.oi-align-right:before { - content:"\e006"; -} - -.oi-aperture:before { - content:"\e007"; -} - -.oi-arrow-bottom:before { - content:"\e008"; -} - -.oi-arrow-circle-bottom:before { - content:"\e009"; -} - -.oi-arrow-circle-left:before { - content:"\e00a"; -} - -.oi-arrow-circle-right:before { - content:"\e00b"; -} - -.oi-arrow-circle-top:before { - content:"\e00c"; -} - -.oi-arrow-left:before { - content:"\e00d"; -} - -.oi-arrow-right:before { - content:"\e00e"; -} - -.oi-arrow-thick-bottom:before { - content:"\e00f"; -} - -.oi-arrow-thick-left:before { - content:"\e010"; -} - -.oi-arrow-thick-right:before { - content:"\e011"; -} - -.oi-arrow-thick-top:before { - content:"\e012"; -} - -.oi-arrow-top:before { - content:"\e013"; -} - -.oi-audio-spectrum:before { - content:"\e014"; -} - -.oi-audio:before { - content:"\e015"; -} - -.oi-badge:before { - content:"\e016"; -} - -.oi-ban:before { - content:"\e017"; -} - -.oi-bar-chart:before { - content:"\e018"; -} - -.oi-basket:before { - content:"\e019"; -} - -.oi-battery-empty:before { - content:"\e01a"; -} - -.oi-battery-full:before { - content:"\e01b"; -} - -.oi-beaker:before { - content:"\e01c"; -} - -.oi-bell:before { - content:"\e01d"; -} - -.oi-bluetooth:before { - content:"\e01e"; -} - -.oi-bold:before { - content:"\e01f"; -} - -.oi-bolt:before { - content:"\e020"; -} - -.oi-book:before { - content:"\e021"; -} - -.oi-bookmark:before { - content:"\e022"; -} - -.oi-box:before { - content:"\e023"; -} - -.oi-briefcase:before { - content:"\e024"; -} - -.oi-british-pound:before { - content:"\e025"; -} - -.oi-browser:before { - content:"\e026"; -} - -.oi-brush:before { - content:"\e027"; -} - -.oi-bug:before { - content:"\e028"; -} - -.oi-bullhorn:before { - content:"\e029"; -} - -.oi-calculator:before { - content:"\e02a"; -} - -.oi-calendar:before { - content:"\e02b"; -} - -.oi-camera-slr:before { - content:"\e02c"; -} - -.oi-caret-bottom:before { - content:"\e02d"; -} - -.oi-caret-left:before { - content:"\e02e"; -} - -.oi-caret-right:before { - content:"\e02f"; -} - -.oi-caret-top:before { - content:"\e030"; -} - -.oi-cart:before { - content:"\e031"; -} - -.oi-chat:before { - content:"\e032"; -} - -.oi-check:before { - content:"\e033"; -} - -.oi-chevron-bottom:before { - content:"\e034"; -} - -.oi-chevron-left:before { - content:"\e035"; -} - -.oi-chevron-right:before { - content:"\e036"; -} - -.oi-chevron-top:before { - content:"\e037"; -} - -.oi-circle-check:before { - content:"\e038"; -} - -.oi-circle-x:before { - content:"\e039"; -} - -.oi-clipboard:before { - content:"\e03a"; -} - -.oi-clock:before { - content:"\e03b"; -} - -.oi-cloud-download:before { - content:"\e03c"; -} - -.oi-cloud-upload:before { - content:"\e03d"; -} - -.oi-cloud:before { - content:"\e03e"; -} - -.oi-cloudy:before { - content:"\e03f"; -} - -.oi-code:before { - content:"\e040"; -} - -.oi-cog:before { - content:"\e041"; -} - -.oi-collapse-down:before { - content:"\e042"; -} - -.oi-collapse-left:before { - content:"\e043"; -} - -.oi-collapse-right:before { - content:"\e044"; -} - -.oi-collapse-up:before { - content:"\e045"; -} - -.oi-command:before { - content:"\e046"; -} - -.oi-comment-square:before { - content:"\e047"; -} - -.oi-compass:before { - content:"\e048"; -} - -.oi-contrast:before { - content:"\e049"; -} - -.oi-copywriting:before { - content:"\e04a"; -} - -.oi-credit-card:before { - content:"\e04b"; -} - -.oi-crop:before { - content:"\e04c"; -} - -.oi-dashboard:before { - content:"\e04d"; -} - -.oi-data-transfer-download:before { - content:"\e04e"; -} - -.oi-data-transfer-upload:before { - content:"\e04f"; -} - -.oi-delete:before { - content:"\e050"; -} - -.oi-dial:before { - content:"\e051"; -} - -.oi-document:before { - content:"\e052"; -} - -.oi-dollar:before { - content:"\e053"; -} - -.oi-double-quote-sans-left:before { - content:"\e054"; -} - -.oi-double-quote-sans-right:before { - content:"\e055"; -} - -.oi-double-quote-serif-left:before { - content:"\e056"; -} - -.oi-double-quote-serif-right:before { - content:"\e057"; -} - -.oi-droplet:before { - content:"\e058"; -} - -.oi-eject:before { - content:"\e059"; -} - -.oi-elevator:before { - content:"\e05a"; -} - -.oi-ellipses:before { - content:"\e05b"; -} - -.oi-envelope-closed:before { - content:"\e05c"; -} - -.oi-envelope-open:before { - content:"\e05d"; -} - -.oi-euro:before { - content:"\e05e"; -} - -.oi-excerpt:before { - content:"\e05f"; -} - -.oi-expand-down:before { - content:"\e060"; -} - -.oi-expand-left:before { - content:"\e061"; -} - -.oi-expand-right:before { - content:"\e062"; -} - -.oi-expand-up:before { - content:"\e063"; -} - -.oi-external-link:before { - content:"\e064"; -} - -.oi-eye:before { - content:"\e065"; -} - -.oi-eyedropper:before { - content:"\e066"; -} - -.oi-file:before { - content:"\e067"; -} - -.oi-fire:before { - content:"\e068"; -} - -.oi-flag:before { - content:"\e069"; -} - -.oi-flash:before { - content:"\e06a"; -} - -.oi-folder:before { - content:"\e06b"; -} - -.oi-fork:before { - content:"\e06c"; -} - -.oi-fullscreen-enter:before { - content:"\e06d"; -} - -.oi-fullscreen-exit:before { - content:"\e06e"; -} - -.oi-globe:before { - content:"\e06f"; -} - -.oi-graph:before { - content:"\e070"; -} - -.oi-grid-four-up:before { - content:"\e071"; -} - -.oi-grid-three-up:before { - content:"\e072"; -} - -.oi-grid-two-up:before { - content:"\e073"; -} - -.oi-hard-drive:before { - content:"\e074"; -} - -.oi-header:before { - content:"\e075"; -} - -.oi-headphones:before { - content:"\e076"; -} - -.oi-heart:before { - content:"\e077"; -} - -.oi-home:before { - content:"\e078"; -} - -.oi-image:before { - content:"\e079"; -} - -.oi-inbox:before { - content:"\e07a"; -} - -.oi-infinity:before { - content:"\e07b"; -} - -.oi-info:before { - content:"\e07c"; -} - -.oi-italic:before { - content:"\e07d"; -} - -.oi-justify-center:before { - content:"\e07e"; -} - -.oi-justify-left:before { - content:"\e07f"; -} - -.oi-justify-right:before { - content:"\e080"; -} - -.oi-key:before { - content:"\e081"; -} - -.oi-laptop:before { - content:"\e082"; -} - -.oi-layers:before { - content:"\e083"; -} - -.oi-lightbulb:before { - content:"\e084"; -} - -.oi-link-broken:before { - content:"\e085"; -} - -.oi-link-intact:before { - content:"\e086"; -} - -.oi-list-rich:before { - content:"\e087"; -} - -.oi-list:before { - content:"\e088"; -} - -.oi-location:before { - content:"\e089"; -} - -.oi-lock-locked:before { - content:"\e08a"; -} - -.oi-lock-unlocked:before { - content:"\e08b"; -} - -.oi-loop-circular:before { - content:"\e08c"; -} - -.oi-loop-square:before { - content:"\e08d"; -} - -.oi-loop:before { - content:"\e08e"; -} - -.oi-magnifying-glass:before { - content:"\e08f"; -} - -.oi-map-marker:before { - content:"\e090"; -} - -.oi-map:before { - content:"\e091"; -} - -.oi-media-pause:before { - content:"\e092"; -} - -.oi-media-play:before { - content:"\e093"; -} - -.oi-media-record:before { - content:"\e094"; -} - -.oi-media-skip-backward:before { - content:"\e095"; -} - -.oi-media-skip-forward:before { - content:"\e096"; -} - -.oi-media-step-backward:before { - content:"\e097"; -} - -.oi-media-step-forward:before { - content:"\e098"; -} - -.oi-media-stop:before { - content:"\e099"; -} - -.oi-medical-cross:before { - content:"\e09a"; -} - -.oi-menu:before { - content:"\e09b"; -} - -.oi-microphone:before { - content:"\e09c"; -} - -.oi-minus:before { - content:"\e09d"; -} - -.oi-monitor:before { - content:"\e09e"; -} - -.oi-moon:before { - content:"\e09f"; -} - -.oi-move:before { - content:"\e0a0"; -} - -.oi-musical-note:before { - content:"\e0a1"; -} - -.oi-paperclip:before { - content:"\e0a2"; -} - -.oi-pencil:before { - content:"\e0a3"; -} - -.oi-people:before { - content:"\e0a4"; -} - -.oi-person:before { - content:"\e0a5"; -} - -.oi-phone:before { - content:"\e0a6"; -} - -.oi-pie-chart:before { - content:"\e0a7"; -} - -.oi-pin:before { - content:"\e0a8"; -} - -.oi-play-circle:before { - content:"\e0a9"; -} - -.oi-plus:before { - content:"\e0aa"; -} - -.oi-power-standby:before { - content:"\e0ab"; -} - -.oi-print:before { - content:"\e0ac"; -} - -.oi-project:before { - content:"\e0ad"; -} - -.oi-pulse:before { - content:"\e0ae"; -} - -.oi-puzzle-piece:before { - content:"\e0af"; -} - -.oi-question-mark:before { - content:"\e0b0"; -} - -.oi-rain:before { - content:"\e0b1"; -} - -.oi-random:before { - content:"\e0b2"; -} - -.oi-reload:before { - content:"\e0b3"; -} - -.oi-resize-both:before { - content:"\e0b4"; -} - -.oi-resize-height:before { - content:"\e0b5"; -} - -.oi-resize-width:before { - content:"\e0b6"; -} - -.oi-rss-alt:before { - content:"\e0b7"; -} - -.oi-rss:before { - content:"\e0b8"; -} - -.oi-script:before { - content:"\e0b9"; -} - -.oi-share-boxed:before { - content:"\e0ba"; -} - -.oi-share:before { - content:"\e0bb"; -} - -.oi-shield:before { - content:"\e0bc"; -} - -.oi-signal:before { - content:"\e0bd"; -} - -.oi-signpost:before { - content:"\e0be"; -} - -.oi-sort-ascending:before { - content:"\e0bf"; -} - -.oi-sort-descending:before { - content:"\e0c0"; -} - -.oi-spreadsheet:before { - content:"\e0c1"; -} - -.oi-star:before { - content:"\e0c2"; -} - -.oi-sun:before { - content:"\e0c3"; -} - -.oi-tablet:before { - content:"\e0c4"; -} - -.oi-tag:before { - content:"\e0c5"; -} - -.oi-tags:before { - content:"\e0c6"; -} - -.oi-target:before { - content:"\e0c7"; -} - -.oi-task:before { - content:"\e0c8"; -} - -.oi-terminal:before { - content:"\e0c9"; -} - -.oi-text:before { - content:"\e0ca"; -} - -.oi-thumb-down:before { - content:"\e0cb"; -} - -.oi-thumb-up:before { - content:"\e0cc"; -} - -.oi-timer:before { - content:"\e0cd"; -} - -.oi-transfer:before { - content:"\e0ce"; -} - -.oi-trash:before { - content:"\e0cf"; -} - -.oi-underline:before { - content:"\e0d0"; -} - -.oi-vertical-align-bottom:before { - content:"\e0d1"; -} - -.oi-vertical-align-center:before { - content:"\e0d2"; -} - -.oi-vertical-align-top:before { - content:"\e0d3"; -} - -.oi-video:before { - content:"\e0d4"; -} - -.oi-volume-high:before { - content:"\e0d5"; -} - -.oi-volume-low:before { - content:"\e0d6"; -} - -.oi-volume-off:before { - content:"\e0d7"; -} - -.oi-warning:before { - content:"\e0d8"; -} - -.oi-wifi:before { - content:"\e0d9"; -} - -.oi-wrench:before { - content:"\e0da"; -} - -.oi-x:before { - content:"\e0db"; -} - -.oi-yen:before { - content:"\e0dc"; -} - -.oi-zoom-in:before { - content:"\e0dd"; -} - -.oi-zoom-out:before { - content:"\e0de"; -} - diff --git a/app/open-iconic/font/css/open-iconic-bootstrap.min.css b/app/open-iconic/font/css/open-iconic-bootstrap.min.css deleted file mode 100755 index 4664f2e..0000000 --- a/app/open-iconic/font/css/open-iconic-bootstrap.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Icons;src:url(../fonts/open-iconic.eot);src:url(../fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(../fonts/open-iconic.woff) format('woff'),url(../fonts/open-iconic.ttf) format('truetype'),url(../fonts/open-iconic.otf) format('opentype'),url(../fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi{position:relative;top:1px;display:inline-block;speak:none;font-family:Icons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'} \ No newline at end of file diff --git a/app/open-iconic/font/css/open-iconic-bootstrap.scss b/app/open-iconic/font/css/open-iconic-bootstrap.scss deleted file mode 100755 index 18f01e2..0000000 --- a/app/open-iconic/font/css/open-iconic-bootstrap.scss +++ /dev/null @@ -1,958 +0,0 @@ -/* Bootstrap */ - -/* Override Bootstrap default variable */ -$icon-font-path: '../fonts/' !default; - -@font-face { - font-family: 'Icons'; - src: url('#{$icon-font-path}open-iconic.eot'); - src: url('#{$icon-font-path}open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('#{$icon-font-path}open-iconic.woff') format('woff'), url('#{$icon-font-path}open-iconic.ttf') format('truetype'), url('#{$icon-font-path}open-iconic.svg#iconic-sm') format('svg'); - font-weight: normal; - font-style: normal; -} - -// Catchall baseclass -.oi { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Icons'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - - &:empty:before { - width: 1em; - text-align: center; - box-sizing: content-box; - } - - &.oi-align-center:before { - text-align: center; - } - - &.oi-align-left:before { - text-align: left; - } - - &.oi-align-right:before { - text-align: right; - } - - - &.oi-flip-horizontal:before { - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); - } - - &.oi-flip-vertical:before { - -webkit-transform: scale(1, -1); - -ms-transform: scale(-1, 1); - transform: scale(1, -1); - } - - &.oi-flip-horizontal-vertical:before { - -webkit-transform: scale(-1, -1); - -ms-transform: scale(-1, 1); - transform: scale(-1, -1); - } -} - - - -.oi-account-login:before { - content:'\e000'; -} - -.oi-account-logout:before { - content:'\e001'; -} - -.oi-action-redo:before { - content:'\e002'; -} - -.oi-action-undo:before { - content:'\e003'; -} - -.oi-align-center:before { - content:'\e004'; -} - -.oi-align-left:before { - content:'\e005'; -} - -.oi-align-right:before { - content:'\e006'; -} - -.oi-aperture:before { - content:'\e007'; -} - -.oi-arrow-bottom:before { - content:'\e008'; -} - -.oi-arrow-circle-bottom:before { - content:'\e009'; -} - -.oi-arrow-circle-left:before { - content:'\e00a'; -} - -.oi-arrow-circle-right:before { - content:'\e00b'; -} - -.oi-arrow-circle-top:before { - content:'\e00c'; -} - -.oi-arrow-left:before { - content:'\e00d'; -} - -.oi-arrow-right:before { - content:'\e00e'; -} - -.oi-arrow-thick-bottom:before { - content:'\e00f'; -} - -.oi-arrow-thick-left:before { - content:'\e010'; -} - -.oi-arrow-thick-right:before { - content:'\e011'; -} - -.oi-arrow-thick-top:before { - content:'\e012'; -} - -.oi-arrow-top:before { - content:'\e013'; -} - -.oi-audio-spectrum:before { - content:'\e014'; -} - -.oi-audio:before { - content:'\e015'; -} - -.oi-badge:before { - content:'\e016'; -} - -.oi-ban:before { - content:'\e017'; -} - -.oi-bar-chart:before { - content:'\e018'; -} - -.oi-basket:before { - content:'\e019'; -} - -.oi-battery-empty:before { - content:'\e01a'; -} - -.oi-battery-full:before { - content:'\e01b'; -} - -.oi-beaker:before { - content:'\e01c'; -} - -.oi-bell:before { - content:'\e01d'; -} - -.oi-bluetooth:before { - content:'\e01e'; -} - -.oi-bold:before { - content:'\e01f'; -} - -.oi-bolt:before { - content:'\e020'; -} - -.oi-book:before { - content:'\e021'; -} - -.oi-bookmark:before { - content:'\e022'; -} - -.oi-box:before { - content:'\e023'; -} - -.oi-briefcase:before { - content:'\e024'; -} - -.oi-british-pound:before { - content:'\e025'; -} - -.oi-browser:before { - content:'\e026'; -} - -.oi-brush:before { - content:'\e027'; -} - -.oi-bug:before { - content:'\e028'; -} - -.oi-bullhorn:before { - content:'\e029'; -} - -.oi-calculator:before { - content:'\e02a'; -} - -.oi-calendar:before { - content:'\e02b'; -} - -.oi-camera-slr:before { - content:'\e02c'; -} - -.oi-caret-bottom:before { - content:'\e02d'; -} - -.oi-caret-left:before { - content:'\e02e'; -} - -.oi-caret-right:before { - content:'\e02f'; -} - -.oi-caret-top:before { - content:'\e030'; -} - -.oi-cart:before { - content:'\e031'; -} - -.oi-chat:before { - content:'\e032'; -} - -.oi-check:before { - content:'\e033'; -} - -.oi-chevron-bottom:before { - content:'\e034'; -} - -.oi-chevron-left:before { - content:'\e035'; -} - -.oi-chevron-right:before { - content:'\e036'; -} - -.oi-chevron-top:before { - content:'\e037'; -} - -.oi-circle-check:before { - content:'\e038'; -} - -.oi-circle-x:before { - content:'\e039'; -} - -.oi-clipboard:before { - content:'\e03a'; -} - -.oi-clock:before { - content:'\e03b'; -} - -.oi-cloud-download:before { - content:'\e03c'; -} - -.oi-cloud-upload:before { - content:'\e03d'; -} - -.oi-cloud:before { - content:'\e03e'; -} - -.oi-cloudy:before { - content:'\e03f'; -} - -.oi-code:before { - content:'\e040'; -} - -.oi-cog:before { - content:'\e041'; -} - -.oi-collapse-down:before { - content:'\e042'; -} - -.oi-collapse-left:before { - content:'\e043'; -} - -.oi-collapse-right:before { - content:'\e044'; -} - -.oi-collapse-up:before { - content:'\e045'; -} - -.oi-command:before { - content:'\e046'; -} - -.oi-comment-square:before { - content:'\e047'; -} - -.oi-compass:before { - content:'\e048'; -} - -.oi-contrast:before { - content:'\e049'; -} - -.oi-copywriting:before { - content:'\e04a'; -} - -.oi-credit-card:before { - content:'\e04b'; -} - -.oi-crop:before { - content:'\e04c'; -} - -.oi-dashboard:before { - content:'\e04d'; -} - -.oi-data-transfer-download:before { - content:'\e04e'; -} - -.oi-data-transfer-upload:before { - content:'\e04f'; -} - -.oi-delete:before { - content:'\e050'; -} - -.oi-dial:before { - content:'\e051'; -} - -.oi-document:before { - content:'\e052'; -} - -.oi-dollar:before { - content:'\e053'; -} - -.oi-double-quote-sans-left:before { - content:'\e054'; -} - -.oi-double-quote-sans-right:before { - content:'\e055'; -} - -.oi-double-quote-serif-left:before { - content:'\e056'; -} - -.oi-double-quote-serif-right:before { - content:'\e057'; -} - -.oi-droplet:before { - content:'\e058'; -} - -.oi-eject:before { - content:'\e059'; -} - -.oi-elevator:before { - content:'\e05a'; -} - -.oi-ellipses:before { - content:'\e05b'; -} - -.oi-envelope-closed:before { - content:'\e05c'; -} - -.oi-envelope-open:before { - content:'\e05d'; -} - -.oi-euro:before { - content:'\e05e'; -} - -.oi-excerpt:before { - content:'\e05f'; -} - -.oi-expand-down:before { - content:'\e060'; -} - -.oi-expand-left:before { - content:'\e061'; -} - -.oi-expand-right:before { - content:'\e062'; -} - -.oi-expand-up:before { - content:'\e063'; -} - -.oi-external-link:before { - content:'\e064'; -} - -.oi-eye:before { - content:'\e065'; -} - -.oi-eyedropper:before { - content:'\e066'; -} - -.oi-file:before { - content:'\e067'; -} - -.oi-fire:before { - content:'\e068'; -} - -.oi-flag:before { - content:'\e069'; -} - -.oi-flash:before { - content:'\e06a'; -} - -.oi-folder:before { - content:'\e06b'; -} - -.oi-fork:before { - content:'\e06c'; -} - -.oi-fullscreen-enter:before { - content:'\e06d'; -} - -.oi-fullscreen-exit:before { - content:'\e06e'; -} - -.oi-globe:before { - content:'\e06f'; -} - -.oi-graph:before { - content:'\e070'; -} - -.oi-grid-four-up:before { - content:'\e071'; -} - -.oi-grid-three-up:before { - content:'\e072'; -} - -.oi-grid-two-up:before { - content:'\e073'; -} - -.oi-hard-drive:before { - content:'\e074'; -} - -.oi-header:before { - content:'\e075'; -} - -.oi-headphones:before { - content:'\e076'; -} - -.oi-heart:before { - content:'\e077'; -} - -.oi-home:before { - content:'\e078'; -} - -.oi-image:before { - content:'\e079'; -} - -.oi-inbox:before { - content:'\e07a'; -} - -.oi-infinity:before { - content:'\e07b'; -} - -.oi-info:before { - content:'\e07c'; -} - -.oi-italic:before { - content:'\e07d'; -} - -.oi-justify-center:before { - content:'\e07e'; -} - -.oi-justify-left:before { - content:'\e07f'; -} - -.oi-justify-right:before { - content:'\e080'; -} - -.oi-key:before { - content:'\e081'; -} - -.oi-laptop:before { - content:'\e082'; -} - -.oi-layers:before { - content:'\e083'; -} - -.oi-lightbulb:before { - content:'\e084'; -} - -.oi-link-broken:before { - content:'\e085'; -} - -.oi-link-intact:before { - content:'\e086'; -} - -.oi-list-rich:before { - content:'\e087'; -} - -.oi-list:before { - content:'\e088'; -} - -.oi-location:before { - content:'\e089'; -} - -.oi-lock-locked:before { - content:'\e08a'; -} - -.oi-lock-unlocked:before { - content:'\e08b'; -} - -.oi-loop-circular:before { - content:'\e08c'; -} - -.oi-loop-square:before { - content:'\e08d'; -} - -.oi-loop:before { - content:'\e08e'; -} - -.oi-magnifying-glass:before { - content:'\e08f'; -} - -.oi-map-marker:before { - content:'\e090'; -} - -.oi-map:before { - content:'\e091'; -} - -.oi-media-pause:before { - content:'\e092'; -} - -.oi-media-play:before { - content:'\e093'; -} - -.oi-media-record:before { - content:'\e094'; -} - -.oi-media-skip-backward:before { - content:'\e095'; -} - -.oi-media-skip-forward:before { - content:'\e096'; -} - -.oi-media-step-backward:before { - content:'\e097'; -} - -.oi-media-step-forward:before { - content:'\e098'; -} - -.oi-media-stop:before { - content:'\e099'; -} - -.oi-medical-cross:before { - content:'\e09a'; -} - -.oi-menu:before { - content:'\e09b'; -} - -.oi-microphone:before { - content:'\e09c'; -} - -.oi-minus:before { - content:'\e09d'; -} - -.oi-monitor:before { - content:'\e09e'; -} - -.oi-moon:before { - content:'\e09f'; -} - -.oi-move:before { - content:'\e0a0'; -} - -.oi-musical-note:before { - content:'\e0a1'; -} - -.oi-paperclip:before { - content:'\e0a2'; -} - -.oi-pencil:before { - content:'\e0a3'; -} - -.oi-people:before { - content:'\e0a4'; -} - -.oi-person:before { - content:'\e0a5'; -} - -.oi-phone:before { - content:'\e0a6'; -} - -.oi-pie-chart:before { - content:'\e0a7'; -} - -.oi-pin:before { - content:'\e0a8'; -} - -.oi-play-circle:before { - content:'\e0a9'; -} - -.oi-plus:before { - content:'\e0aa'; -} - -.oi-power-standby:before { - content:'\e0ab'; -} - -.oi-print:before { - content:'\e0ac'; -} - -.oi-project:before { - content:'\e0ad'; -} - -.oi-pulse:before { - content:'\e0ae'; -} - -.oi-puzzle-piece:before { - content:'\e0af'; -} - -.oi-question-mark:before { - content:'\e0b0'; -} - -.oi-rain:before { - content:'\e0b1'; -} - -.oi-random:before { - content:'\e0b2'; -} - -.oi-reload:before { - content:'\e0b3'; -} - -.oi-resize-both:before { - content:'\e0b4'; -} - -.oi-resize-height:before { - content:'\e0b5'; -} - -.oi-resize-width:before { - content:'\e0b6'; -} - -.oi-rss-alt:before { - content:'\e0b7'; -} - -.oi-rss:before { - content:'\e0b8'; -} - -.oi-script:before { - content:'\e0b9'; -} - -.oi-share-boxed:before { - content:'\e0ba'; -} - -.oi-share:before { - content:'\e0bb'; -} - -.oi-shield:before { - content:'\e0bc'; -} - -.oi-signal:before { - content:'\e0bd'; -} - -.oi-signpost:before { - content:'\e0be'; -} - -.oi-sort-ascending:before { - content:'\e0bf'; -} - -.oi-sort-descending:before { - content:'\e0c0'; -} - -.oi-spreadsheet:before { - content:'\e0c1'; -} - -.oi-star:before { - content:'\e0c2'; -} - -.oi-sun:before { - content:'\e0c3'; -} - -.oi-tablet:before { - content:'\e0c4'; -} - -.oi-tag:before { - content:'\e0c5'; -} - -.oi-tags:before { - content:'\e0c6'; -} - -.oi-target:before { - content:'\e0c7'; -} - -.oi-task:before { - content:'\e0c8'; -} - -.oi-terminal:before { - content:'\e0c9'; -} - -.oi-text:before { - content:'\e0ca'; -} - -.oi-thumb-down:before { - content:'\e0cb'; -} - -.oi-thumb-up:before { - content:'\e0cc'; -} - -.oi-timer:before { - content:'\e0cd'; -} - -.oi-transfer:before { - content:'\e0ce'; -} - -.oi-trash:before { - content:'\e0cf'; -} - -.oi-underline:before { - content:'\e0d0'; -} - -.oi-vertical-align-bottom:before { - content:'\e0d1'; -} - -.oi-vertical-align-center:before { - content:'\e0d2'; -} - -.oi-vertical-align-top:before { - content:'\e0d3'; -} - -.oi-video:before { - content:'\e0d4'; -} - -.oi-volume-high:before { - content:'\e0d5'; -} - -.oi-volume-low:before { - content:'\e0d6'; -} - -.oi-volume-off:before { - content:'\e0d7'; -} - -.oi-warning:before { - content:'\e0d8'; -} - -.oi-wifi:before { - content:'\e0d9'; -} - -.oi-wrench:before { - content:'\e0da'; -} - -.oi-x:before { - content:'\e0db'; -} - -.oi-yen:before { - content:'\e0dc'; -} - -.oi-zoom-in:before { - content:'\e0dd'; -} - -.oi-zoom-out:before { - content:'\e0de'; -} - diff --git a/app/open-iconic/font/css/open-iconic-bootstrap.styl b/app/open-iconic/font/css/open-iconic-bootstrap.styl deleted file mode 100755 index 0afa254..0000000 --- a/app/open-iconic/font/css/open-iconic-bootstrap.styl +++ /dev/null @@ -1,954 +0,0 @@ -/* Bootstrap */ - -@font-face - font-family 'Icons' - src url('../fonts/open-iconic.eot') - src url('../fonts/open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('../fonts/open-iconic.woff') format('woff'), url('../fonts/open-iconic.ttf') format('truetype'), url('../fonts/open-iconic.svg#iconic-sm') format('svg') - font-weight normal - font-style normal - - -// Catchall baseclass -.oi - position relative - top 1px - display inline-block - font-family 'Icons' - font-style normal - font-weight normal - line-height 1 - -webkit-font-smoothing antialiased - -moz-osx-font-smoothing grayscale - - - &:empty:before - width 1em - text-align center - box-sizing content-box - - &.oi-align-center:before - text-align center - - - &.oi-align-left:before - text-align left - - - &.oi-align-right:before - text-align right - - - - &.oi-flip-horizontal:before - -webkit-transform scale(-1, 1) - -ms-transform scale(-1, 1) - transform scale(-1, 1) - - - &.oi-flip-vertical:before - -webkit-transform scale(1, -1) - -ms-transform scale(-1, 1) - transform scale(1, -1) - - - &.oi-flip-horizontal-vertical:before - -webkit-transform scale(-1, -1) - -ms-transform scale(-1, 1) - transform scale(-1, -1) - - - - - -.oi-account-login:before { - content'\e000' -} - -.oi-account-logout:before { - content'\e001' -} - -.oi-action-redo:before { - content'\e002' -} - -.oi-action-undo:before { - content'\e003' -} - -.oi-align-center:before { - content'\e004' -} - -.oi-align-left:before { - content'\e005' -} - -.oi-align-right:before { - content'\e006' -} - -.oi-aperture:before { - content'\e007' -} - -.oi-arrow-bottom:before { - content'\e008' -} - -.oi-arrow-circle-bottom:before { - content'\e009' -} - -.oi-arrow-circle-left:before { - content'\e00a' -} - -.oi-arrow-circle-right:before { - content'\e00b' -} - -.oi-arrow-circle-top:before { - content'\e00c' -} - -.oi-arrow-left:before { - content'\e00d' -} - -.oi-arrow-right:before { - content'\e00e' -} - -.oi-arrow-thick-bottom:before { - content'\e00f' -} - -.oi-arrow-thick-left:before { - content'\e010' -} - -.oi-arrow-thick-right:before { - content'\e011' -} - -.oi-arrow-thick-top:before { - content'\e012' -} - -.oi-arrow-top:before { - content'\e013' -} - -.oi-audio-spectrum:before { - content'\e014' -} - -.oi-audio:before { - content'\e015' -} - -.oi-badge:before { - content'\e016' -} - -.oi-ban:before { - content'\e017' -} - -.oi-bar-chart:before { - content'\e018' -} - -.oi-basket:before { - content'\e019' -} - -.oi-battery-empty:before { - content'\e01a' -} - -.oi-battery-full:before { - content'\e01b' -} - -.oi-beaker:before { - content'\e01c' -} - -.oi-bell:before { - content'\e01d' -} - -.oi-bluetooth:before { - content'\e01e' -} - -.oi-bold:before { - content'\e01f' -} - -.oi-bolt:before { - content'\e020' -} - -.oi-book:before { - content'\e021' -} - -.oi-bookmark:before { - content'\e022' -} - -.oi-box:before { - content'\e023' -} - -.oi-briefcase:before { - content'\e024' -} - -.oi-british-pound:before { - content'\e025' -} - -.oi-browser:before { - content'\e026' -} - -.oi-brush:before { - content'\e027' -} - -.oi-bug:before { - content'\e028' -} - -.oi-bullhorn:before { - content'\e029' -} - -.oi-calculator:before { - content'\e02a' -} - -.oi-calendar:before { - content'\e02b' -} - -.oi-camera-slr:before { - content'\e02c' -} - -.oi-caret-bottom:before { - content'\e02d' -} - -.oi-caret-left:before { - content'\e02e' -} - -.oi-caret-right:before { - content'\e02f' -} - -.oi-caret-top:before { - content'\e030' -} - -.oi-cart:before { - content'\e031' -} - -.oi-chat:before { - content'\e032' -} - -.oi-check:before { - content'\e033' -} - -.oi-chevron-bottom:before { - content'\e034' -} - -.oi-chevron-left:before { - content'\e035' -} - -.oi-chevron-right:before { - content'\e036' -} - -.oi-chevron-top:before { - content'\e037' -} - -.oi-circle-check:before { - content'\e038' -} - -.oi-circle-x:before { - content'\e039' -} - -.oi-clipboard:before { - content'\e03a' -} - -.oi-clock:before { - content'\e03b' -} - -.oi-cloud-download:before { - content'\e03c' -} - -.oi-cloud-upload:before { - content'\e03d' -} - -.oi-cloud:before { - content'\e03e' -} - -.oi-cloudy:before { - content'\e03f' -} - -.oi-code:before { - content'\e040' -} - -.oi-cog:before { - content'\e041' -} - -.oi-collapse-down:before { - content'\e042' -} - -.oi-collapse-left:before { - content'\e043' -} - -.oi-collapse-right:before { - content'\e044' -} - -.oi-collapse-up:before { - content'\e045' -} - -.oi-command:before { - content'\e046' -} - -.oi-comment-square:before { - content'\e047' -} - -.oi-compass:before { - content'\e048' -} - -.oi-contrast:before { - content'\e049' -} - -.oi-copywriting:before { - content'\e04a' -} - -.oi-credit-card:before { - content'\e04b' -} - -.oi-crop:before { - content'\e04c' -} - -.oi-dashboard:before { - content'\e04d' -} - -.oi-data-transfer-download:before { - content'\e04e' -} - -.oi-data-transfer-upload:before { - content'\e04f' -} - -.oi-delete:before { - content'\e050' -} - -.oi-dial:before { - content'\e051' -} - -.oi-document:before { - content'\e052' -} - -.oi-dollar:before { - content'\e053' -} - -.oi-double-quote-sans-left:before { - content'\e054' -} - -.oi-double-quote-sans-right:before { - content'\e055' -} - -.oi-double-quote-serif-left:before { - content'\e056' -} - -.oi-double-quote-serif-right:before { - content'\e057' -} - -.oi-droplet:before { - content'\e058' -} - -.oi-eject:before { - content'\e059' -} - -.oi-elevator:before { - content'\e05a' -} - -.oi-ellipses:before { - content'\e05b' -} - -.oi-envelope-closed:before { - content'\e05c' -} - -.oi-envelope-open:before { - content'\e05d' -} - -.oi-euro:before { - content'\e05e' -} - -.oi-excerpt:before { - content'\e05f' -} - -.oi-expand-down:before { - content'\e060' -} - -.oi-expand-left:before { - content'\e061' -} - -.oi-expand-right:before { - content'\e062' -} - -.oi-expand-up:before { - content'\e063' -} - -.oi-external-link:before { - content'\e064' -} - -.oi-eye:before { - content'\e065' -} - -.oi-eyedropper:before { - content'\e066' -} - -.oi-file:before { - content'\e067' -} - -.oi-fire:before { - content'\e068' -} - -.oi-flag:before { - content'\e069' -} - -.oi-flash:before { - content'\e06a' -} - -.oi-folder:before { - content'\e06b' -} - -.oi-fork:before { - content'\e06c' -} - -.oi-fullscreen-enter:before { - content'\e06d' -} - -.oi-fullscreen-exit:before { - content'\e06e' -} - -.oi-globe:before { - content'\e06f' -} - -.oi-graph:before { - content'\e070' -} - -.oi-grid-four-up:before { - content'\e071' -} - -.oi-grid-three-up:before { - content'\e072' -} - -.oi-grid-two-up:before { - content'\e073' -} - -.oi-hard-drive:before { - content'\e074' -} - -.oi-header:before { - content'\e075' -} - -.oi-headphones:before { - content'\e076' -} - -.oi-heart:before { - content'\e077' -} - -.oi-home:before { - content'\e078' -} - -.oi-image:before { - content'\e079' -} - -.oi-inbox:before { - content'\e07a' -} - -.oi-infinity:before { - content'\e07b' -} - -.oi-info:before { - content'\e07c' -} - -.oi-italic:before { - content'\e07d' -} - -.oi-justify-center:before { - content'\e07e' -} - -.oi-justify-left:before { - content'\e07f' -} - -.oi-justify-right:before { - content'\e080' -} - -.oi-key:before { - content'\e081' -} - -.oi-laptop:before { - content'\e082' -} - -.oi-layers:before { - content'\e083' -} - -.oi-lightbulb:before { - content'\e084' -} - -.oi-link-broken:before { - content'\e085' -} - -.oi-link-intact:before { - content'\e086' -} - -.oi-list-rich:before { - content'\e087' -} - -.oi-list:before { - content'\e088' -} - -.oi-location:before { - content'\e089' -} - -.oi-lock-locked:before { - content'\e08a' -} - -.oi-lock-unlocked:before { - content'\e08b' -} - -.oi-loop-circular:before { - content'\e08c' -} - -.oi-loop-square:before { - content'\e08d' -} - -.oi-loop:before { - content'\e08e' -} - -.oi-magnifying-glass:before { - content'\e08f' -} - -.oi-map-marker:before { - content'\e090' -} - -.oi-map:before { - content'\e091' -} - -.oi-media-pause:before { - content'\e092' -} - -.oi-media-play:before { - content'\e093' -} - -.oi-media-record:before { - content'\e094' -} - -.oi-media-skip-backward:before { - content'\e095' -} - -.oi-media-skip-forward:before { - content'\e096' -} - -.oi-media-step-backward:before { - content'\e097' -} - -.oi-media-step-forward:before { - content'\e098' -} - -.oi-media-stop:before { - content'\e099' -} - -.oi-medical-cross:before { - content'\e09a' -} - -.oi-menu:before { - content'\e09b' -} - -.oi-microphone:before { - content'\e09c' -} - -.oi-minus:before { - content'\e09d' -} - -.oi-monitor:before { - content'\e09e' -} - -.oi-moon:before { - content'\e09f' -} - -.oi-move:before { - content'\e0a0' -} - -.oi-musical-note:before { - content'\e0a1' -} - -.oi-paperclip:before { - content'\e0a2' -} - -.oi-pencil:before { - content'\e0a3' -} - -.oi-people:before { - content'\e0a4' -} - -.oi-person:before { - content'\e0a5' -} - -.oi-phone:before { - content'\e0a6' -} - -.oi-pie-chart:before { - content'\e0a7' -} - -.oi-pin:before { - content'\e0a8' -} - -.oi-play-circle:before { - content'\e0a9' -} - -.oi-plus:before { - content'\e0aa' -} - -.oi-power-standby:before { - content'\e0ab' -} - -.oi-print:before { - content'\e0ac' -} - -.oi-project:before { - content'\e0ad' -} - -.oi-pulse:before { - content'\e0ae' -} - -.oi-puzzle-piece:before { - content'\e0af' -} - -.oi-question-mark:before { - content'\e0b0' -} - -.oi-rain:before { - content'\e0b1' -} - -.oi-random:before { - content'\e0b2' -} - -.oi-reload:before { - content'\e0b3' -} - -.oi-resize-both:before { - content'\e0b4' -} - -.oi-resize-height:before { - content'\e0b5' -} - -.oi-resize-width:before { - content'\e0b6' -} - -.oi-rss-alt:before { - content'\e0b7' -} - -.oi-rss:before { - content'\e0b8' -} - -.oi-script:before { - content'\e0b9' -} - -.oi-share-boxed:before { - content'\e0ba' -} - -.oi-share:before { - content'\e0bb' -} - -.oi-shield:before { - content'\e0bc' -} - -.oi-signal:before { - content'\e0bd' -} - -.oi-signpost:before { - content'\e0be' -} - -.oi-sort-ascending:before { - content'\e0bf' -} - -.oi-sort-descending:before { - content'\e0c0' -} - -.oi-spreadsheet:before { - content'\e0c1' -} - -.oi-star:before { - content'\e0c2' -} - -.oi-sun:before { - content'\e0c3' -} - -.oi-tablet:before { - content'\e0c4' -} - -.oi-tag:before { - content'\e0c5' -} - -.oi-tags:before { - content'\e0c6' -} - -.oi-target:before { - content'\e0c7' -} - -.oi-task:before { - content'\e0c8' -} - -.oi-terminal:before { - content'\e0c9' -} - -.oi-text:before { - content'\e0ca' -} - -.oi-thumb-down:before { - content'\e0cb' -} - -.oi-thumb-up:before { - content'\e0cc' -} - -.oi-timer:before { - content'\e0cd' -} - -.oi-transfer:before { - content'\e0ce' -} - -.oi-trash:before { - content'\e0cf' -} - -.oi-underline:before { - content'\e0d0' -} - -.oi-vertical-align-bottom:before { - content'\e0d1' -} - -.oi-vertical-align-center:before { - content'\e0d2' -} - -.oi-vertical-align-top:before { - content'\e0d3' -} - -.oi-video:before { - content'\e0d4' -} - -.oi-volume-high:before { - content'\e0d5' -} - -.oi-volume-low:before { - content'\e0d6' -} - -.oi-volume-off:before { - content'\e0d7' -} - -.oi-warning:before { - content'\e0d8' -} - -.oi-wifi:before { - content'\e0d9' -} - -.oi-wrench:before { - content'\e0da' -} - -.oi-x:before { - content'\e0db' -} - -.oi-yen:before { - content'\e0dc' -} - -.oi-zoom-in:before { - content'\e0dd' -} - -.oi-zoom-out:before { - content'\e0de' -} - diff --git a/app/open-iconic/font/css/open-iconic-foundation.css b/app/open-iconic/font/css/open-iconic-foundation.css deleted file mode 100755 index 905a821..0000000 --- a/app/open-iconic/font/css/open-iconic-foundation.css +++ /dev/null @@ -1,1395 +0,0 @@ -/* Foundation */ - -@font-face { - font-family: 'Icons'; - src: url('../fonts/open-iconic.eot'); - src: url('../fonts/open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('../fonts/open-iconic.woff') format('woff'), url('../fonts/open-iconic.ttf') format('truetype'), url('../fonts/open-iconic.otf') format('opentype'), url('../fonts/open-iconic.svg#iconic-sm') format('svg'); - font-weight: normal; - font-style: normal; -} - - -.fi-account-login:before, - -.fi-account-logout:before, - -.fi-action-redo:before, - -.fi-action-undo:before, - -.fi-align-center:before, - -.fi-align-left:before, - -.fi-align-right:before, - -.fi-aperture:before, - -.fi-arrow-bottom:before, - -.fi-arrow-circle-bottom:before, - -.fi-arrow-circle-left:before, - -.fi-arrow-circle-right:before, - -.fi-arrow-circle-top:before, - -.fi-arrow-left:before, - -.fi-arrow-right:before, - -.fi-arrow-thick-bottom:before, - -.fi-arrow-thick-left:before, - -.fi-arrow-thick-right:before, - -.fi-arrow-thick-top:before, - -.fi-arrow-top:before, - -.fi-audio-spectrum:before, - -.fi-audio:before, - -.fi-badge:before, - -.fi-ban:before, - -.fi-bar-chart:before, - -.fi-basket:before, - -.fi-battery-empty:before, - -.fi-battery-full:before, - -.fi-beaker:before, - -.fi-bell:before, - -.fi-bluetooth:before, - -.fi-bold:before, - -.fi-bolt:before, - -.fi-book:before, - -.fi-bookmark:before, - -.fi-box:before, - -.fi-briefcase:before, - -.fi-british-pound:before, - -.fi-browser:before, - -.fi-brush:before, - -.fi-bug:before, - -.fi-bullhorn:before, - -.fi-calculator:before, - -.fi-calendar:before, - -.fi-camera-slr:before, - -.fi-caret-bottom:before, - -.fi-caret-left:before, - -.fi-caret-right:before, - -.fi-caret-top:before, - -.fi-cart:before, - -.fi-chat:before, - -.fi-check:before, - -.fi-chevron-bottom:before, - -.fi-chevron-left:before, - -.fi-chevron-right:before, - -.fi-chevron-top:before, - -.fi-circle-check:before, - -.fi-circle-x:before, - -.fi-clipboard:before, - -.fi-clock:before, - -.fi-cloud-download:before, - -.fi-cloud-upload:before, - -.fi-cloud:before, - -.fi-cloudy:before, - -.fi-code:before, - -.fi-cog:before, - -.fi-collapse-down:before, - -.fi-collapse-left:before, - -.fi-collapse-right:before, - -.fi-collapse-up:before, - -.fi-command:before, - -.fi-comment-square:before, - -.fi-compass:before, - -.fi-contrast:before, - -.fi-copywriting:before, - -.fi-credit-card:before, - -.fi-crop:before, - -.fi-dashboard:before, - -.fi-data-transfer-download:before, - -.fi-data-transfer-upload:before, - -.fi-delete:before, - -.fi-dial:before, - -.fi-document:before, - -.fi-dollar:before, - -.fi-double-quote-sans-left:before, - -.fi-double-quote-sans-right:before, - -.fi-double-quote-serif-left:before, - -.fi-double-quote-serif-right:before, - -.fi-droplet:before, - -.fi-eject:before, - -.fi-elevator:before, - -.fi-ellipses:before, - -.fi-envelope-closed:before, - -.fi-envelope-open:before, - -.fi-euro:before, - -.fi-excerpt:before, - -.fi-expand-down:before, - -.fi-expand-left:before, - -.fi-expand-right:before, - -.fi-expand-up:before, - -.fi-external-link:before, - -.fi-eye:before, - -.fi-eyedropper:before, - -.fi-file:before, - -.fi-fire:before, - -.fi-flag:before, - -.fi-flash:before, - -.fi-folder:before, - -.fi-fork:before, - -.fi-fullscreen-enter:before, - -.fi-fullscreen-exit:before, - -.fi-globe:before, - -.fi-graph:before, - -.fi-grid-four-up:before, - -.fi-grid-three-up:before, - -.fi-grid-two-up:before, - -.fi-hard-drive:before, - -.fi-header:before, - -.fi-headphones:before, - -.fi-heart:before, - -.fi-home:before, - -.fi-image:before, - -.fi-inbox:before, - -.fi-infinity:before, - -.fi-info:before, - -.fi-italic:before, - -.fi-justify-center:before, - -.fi-justify-left:before, - -.fi-justify-right:before, - -.fi-key:before, - -.fi-laptop:before, - -.fi-layers:before, - -.fi-lightbulb:before, - -.fi-link-broken:before, - -.fi-link-intact:before, - -.fi-list-rich:before, - -.fi-list:before, - -.fi-location:before, - -.fi-lock-locked:before, - -.fi-lock-unlocked:before, - -.fi-loop-circular:before, - -.fi-loop-square:before, - -.fi-loop:before, - -.fi-magnifying-glass:before, - -.fi-map-marker:before, - -.fi-map:before, - -.fi-media-pause:before, - -.fi-media-play:before, - -.fi-media-record:before, - -.fi-media-skip-backward:before, - -.fi-media-skip-forward:before, - -.fi-media-step-backward:before, - -.fi-media-step-forward:before, - -.fi-media-stop:before, - -.fi-medical-cross:before, - -.fi-menu:before, - -.fi-microphone:before, - -.fi-minus:before, - -.fi-monitor:before, - -.fi-moon:before, - -.fi-move:before, - -.fi-musical-note:before, - -.fi-paperclip:before, - -.fi-pencil:before, - -.fi-people:before, - -.fi-person:before, - -.fi-phone:before, - -.fi-pie-chart:before, - -.fi-pin:before, - -.fi-play-circle:before, - -.fi-plus:before, - -.fi-power-standby:before, - -.fi-print:before, - -.fi-project:before, - -.fi-pulse:before, - -.fi-puzzle-piece:before, - -.fi-question-mark:before, - -.fi-rain:before, - -.fi-random:before, - -.fi-reload:before, - -.fi-resize-both:before, - -.fi-resize-height:before, - -.fi-resize-width:before, - -.fi-rss-alt:before, - -.fi-rss:before, - -.fi-script:before, - -.fi-share-boxed:before, - -.fi-share:before, - -.fi-shield:before, - -.fi-signal:before, - -.fi-signpost:before, - -.fi-sort-ascending:before, - -.fi-sort-descending:before, - -.fi-spreadsheet:before, - -.fi-star:before, - -.fi-sun:before, - -.fi-tablet:before, - -.fi-tag:before, - -.fi-tags:before, - -.fi-target:before, - -.fi-task:before, - -.fi-terminal:before, - -.fi-text:before, - -.fi-thumb-down:before, - -.fi-thumb-up:before, - -.fi-timer:before, - -.fi-transfer:before, - -.fi-trash:before, - -.fi-underline:before, - -.fi-vertical-align-bottom:before, - -.fi-vertical-align-center:before, - -.fi-vertical-align-top:before, - -.fi-video:before, - -.fi-volume-high:before, - -.fi-volume-low:before, - -.fi-volume-off:before, - -.fi-warning:before, - -.fi-wifi:before, - -.fi-wrench:before, - -.fi-x:before, - -.fi-yen:before, - -.fi-zoom-in:before, - -.fi-zoom-out:before - { - font-family: 'Icons'; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - display: inline-block; - text-decoration: inherit; -} - - -[class*='fi-'].oi-align-center:before { - text-align: center; -} - -[class*='fi-'].oi-align-left:before { - text-align: left; -} - -[class*='fi-'].oi-align-right:before { - text-align: right; -} - - -[class*='fi-'].oi-flip-horizontal:before { - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} - -[class*='fi-'].oi-flip-vertical:before { - -webkit-transform: scale(1, -1); - -ms-transform: scale(-1, 1); - transform: scale(1, -1); -} - -[class*='fi-'].oi-flip-horizontal-vertical:before { - -webkit-transform: scale(-1, -1); - -ms-transform: scale(-1, 1); - transform: scale(-1, -1); -} - - - -.fi-account-login:before { - content:'\e000'; -} - -.fi-account-logout:before { - content:'\e001'; -} - -.fi-action-redo:before { - content:'\e002'; -} - -.fi-action-undo:before { - content:'\e003'; -} - -.fi-align-center:before { - content:'\e004'; -} - -.fi-align-left:before { - content:'\e005'; -} - -.fi-align-right:before { - content:'\e006'; -} - -.fi-aperture:before { - content:'\e007'; -} - -.fi-arrow-bottom:before { - content:'\e008'; -} - -.fi-arrow-circle-bottom:before { - content:'\e009'; -} - -.fi-arrow-circle-left:before { - content:'\e00a'; -} - -.fi-arrow-circle-right:before { - content:'\e00b'; -} - -.fi-arrow-circle-top:before { - content:'\e00c'; -} - -.fi-arrow-left:before { - content:'\e00d'; -} - -.fi-arrow-right:before { - content:'\e00e'; -} - -.fi-arrow-thick-bottom:before { - content:'\e00f'; -} - -.fi-arrow-thick-left:before { - content:'\e010'; -} - -.fi-arrow-thick-right:before { - content:'\e011'; -} - -.fi-arrow-thick-top:before { - content:'\e012'; -} - -.fi-arrow-top:before { - content:'\e013'; -} - -.fi-audio-spectrum:before { - content:'\e014'; -} - -.fi-audio:before { - content:'\e015'; -} - -.fi-badge:before { - content:'\e016'; -} - -.fi-ban:before { - content:'\e017'; -} - -.fi-bar-chart:before { - content:'\e018'; -} - -.fi-basket:before { - content:'\e019'; -} - -.fi-battery-empty:before { - content:'\e01a'; -} - -.fi-battery-full:before { - content:'\e01b'; -} - -.fi-beaker:before { - content:'\e01c'; -} - -.fi-bell:before { - content:'\e01d'; -} - -.fi-bluetooth:before { - content:'\e01e'; -} - -.fi-bold:before { - content:'\e01f'; -} - -.fi-bolt:before { - content:'\e020'; -} - -.fi-book:before { - content:'\e021'; -} - -.fi-bookmark:before { - content:'\e022'; -} - -.fi-box:before { - content:'\e023'; -} - -.fi-briefcase:before { - content:'\e024'; -} - -.fi-british-pound:before { - content:'\e025'; -} - -.fi-browser:before { - content:'\e026'; -} - -.fi-brush:before { - content:'\e027'; -} - -.fi-bug:before { - content:'\e028'; -} - -.fi-bullhorn:before { - content:'\e029'; -} - -.fi-calculator:before { - content:'\e02a'; -} - -.fi-calendar:before { - content:'\e02b'; -} - -.fi-camera-slr:before { - content:'\e02c'; -} - -.fi-caret-bottom:before { - content:'\e02d'; -} - -.fi-caret-left:before { - content:'\e02e'; -} - -.fi-caret-right:before { - content:'\e02f'; -} - -.fi-caret-top:before { - content:'\e030'; -} - -.fi-cart:before { - content:'\e031'; -} - -.fi-chat:before { - content:'\e032'; -} - -.fi-check:before { - content:'\e033'; -} - -.fi-chevron-bottom:before { - content:'\e034'; -} - -.fi-chevron-left:before { - content:'\e035'; -} - -.fi-chevron-right:before { - content:'\e036'; -} - -.fi-chevron-top:before { - content:'\e037'; -} - -.fi-circle-check:before { - content:'\e038'; -} - -.fi-circle-x:before { - content:'\e039'; -} - -.fi-clipboard:before { - content:'\e03a'; -} - -.fi-clock:before { - content:'\e03b'; -} - -.fi-cloud-download:before { - content:'\e03c'; -} - -.fi-cloud-upload:before { - content:'\e03d'; -} - -.fi-cloud:before { - content:'\e03e'; -} - -.fi-cloudy:before { - content:'\e03f'; -} - -.fi-code:before { - content:'\e040'; -} - -.fi-cog:before { - content:'\e041'; -} - -.fi-collapse-down:before { - content:'\e042'; -} - -.fi-collapse-left:before { - content:'\e043'; -} - -.fi-collapse-right:before { - content:'\e044'; -} - -.fi-collapse-up:before { - content:'\e045'; -} - -.fi-command:before { - content:'\e046'; -} - -.fi-comment-square:before { - content:'\e047'; -} - -.fi-compass:before { - content:'\e048'; -} - -.fi-contrast:before { - content:'\e049'; -} - -.fi-copywriting:before { - content:'\e04a'; -} - -.fi-credit-card:before { - content:'\e04b'; -} - -.fi-crop:before { - content:'\e04c'; -} - -.fi-dashboard:before { - content:'\e04d'; -} - -.fi-data-transfer-download:before { - content:'\e04e'; -} - -.fi-data-transfer-upload:before { - content:'\e04f'; -} - -.fi-delete:before { - content:'\e050'; -} - -.fi-dial:before { - content:'\e051'; -} - -.fi-document:before { - content:'\e052'; -} - -.fi-dollar:before { - content:'\e053'; -} - -.fi-double-quote-sans-left:before { - content:'\e054'; -} - -.fi-double-quote-sans-right:before { - content:'\e055'; -} - -.fi-double-quote-serif-left:before { - content:'\e056'; -} - -.fi-double-quote-serif-right:before { - content:'\e057'; -} - -.fi-droplet:before { - content:'\e058'; -} - -.fi-eject:before { - content:'\e059'; -} - -.fi-elevator:before { - content:'\e05a'; -} - -.fi-ellipses:before { - content:'\e05b'; -} - -.fi-envelope-closed:before { - content:'\e05c'; -} - -.fi-envelope-open:before { - content:'\e05d'; -} - -.fi-euro:before { - content:'\e05e'; -} - -.fi-excerpt:before { - content:'\e05f'; -} - -.fi-expand-down:before { - content:'\e060'; -} - -.fi-expand-left:before { - content:'\e061'; -} - -.fi-expand-right:before { - content:'\e062'; -} - -.fi-expand-up:before { - content:'\e063'; -} - -.fi-external-link:before { - content:'\e064'; -} - -.fi-eye:before { - content:'\e065'; -} - -.fi-eyedropper:before { - content:'\e066'; -} - -.fi-file:before { - content:'\e067'; -} - -.fi-fire:before { - content:'\e068'; -} - -.fi-flag:before { - content:'\e069'; -} - -.fi-flash:before { - content:'\e06a'; -} - -.fi-folder:before { - content:'\e06b'; -} - -.fi-fork:before { - content:'\e06c'; -} - -.fi-fullscreen-enter:before { - content:'\e06d'; -} - -.fi-fullscreen-exit:before { - content:'\e06e'; -} - -.fi-globe:before { - content:'\e06f'; -} - -.fi-graph:before { - content:'\e070'; -} - -.fi-grid-four-up:before { - content:'\e071'; -} - -.fi-grid-three-up:before { - content:'\e072'; -} - -.fi-grid-two-up:before { - content:'\e073'; -} - -.fi-hard-drive:before { - content:'\e074'; -} - -.fi-header:before { - content:'\e075'; -} - -.fi-headphones:before { - content:'\e076'; -} - -.fi-heart:before { - content:'\e077'; -} - -.fi-home:before { - content:'\e078'; -} - -.fi-image:before { - content:'\e079'; -} - -.fi-inbox:before { - content:'\e07a'; -} - -.fi-infinity:before { - content:'\e07b'; -} - -.fi-info:before { - content:'\e07c'; -} - -.fi-italic:before { - content:'\e07d'; -} - -.fi-justify-center:before { - content:'\e07e'; -} - -.fi-justify-left:before { - content:'\e07f'; -} - -.fi-justify-right:before { - content:'\e080'; -} - -.fi-key:before { - content:'\e081'; -} - -.fi-laptop:before { - content:'\e082'; -} - -.fi-layers:before { - content:'\e083'; -} - -.fi-lightbulb:before { - content:'\e084'; -} - -.fi-link-broken:before { - content:'\e085'; -} - -.fi-link-intact:before { - content:'\e086'; -} - -.fi-list-rich:before { - content:'\e087'; -} - -.fi-list:before { - content:'\e088'; -} - -.fi-location:before { - content:'\e089'; -} - -.fi-lock-locked:before { - content:'\e08a'; -} - -.fi-lock-unlocked:before { - content:'\e08b'; -} - -.fi-loop-circular:before { - content:'\e08c'; -} - -.fi-loop-square:before { - content:'\e08d'; -} - -.fi-loop:before { - content:'\e08e'; -} - -.fi-magnifying-glass:before { - content:'\e08f'; -} - -.fi-map-marker:before { - content:'\e090'; -} - -.fi-map:before { - content:'\e091'; -} - -.fi-media-pause:before { - content:'\e092'; -} - -.fi-media-play:before { - content:'\e093'; -} - -.fi-media-record:before { - content:'\e094'; -} - -.fi-media-skip-backward:before { - content:'\e095'; -} - -.fi-media-skip-forward:before { - content:'\e096'; -} - -.fi-media-step-backward:before { - content:'\e097'; -} - -.fi-media-step-forward:before { - content:'\e098'; -} - -.fi-media-stop:before { - content:'\e099'; -} - -.fi-medical-cross:before { - content:'\e09a'; -} - -.fi-menu:before { - content:'\e09b'; -} - -.fi-microphone:before { - content:'\e09c'; -} - -.fi-minus:before { - content:'\e09d'; -} - -.fi-monitor:before { - content:'\e09e'; -} - -.fi-moon:before { - content:'\e09f'; -} - -.fi-move:before { - content:'\e0a0'; -} - -.fi-musical-note:before { - content:'\e0a1'; -} - -.fi-paperclip:before { - content:'\e0a2'; -} - -.fi-pencil:before { - content:'\e0a3'; -} - -.fi-people:before { - content:'\e0a4'; -} - -.fi-person:before { - content:'\e0a5'; -} - -.fi-phone:before { - content:'\e0a6'; -} - -.fi-pie-chart:before { - content:'\e0a7'; -} - -.fi-pin:before { - content:'\e0a8'; -} - -.fi-play-circle:before { - content:'\e0a9'; -} - -.fi-plus:before { - content:'\e0aa'; -} - -.fi-power-standby:before { - content:'\e0ab'; -} - -.fi-print:before { - content:'\e0ac'; -} - -.fi-project:before { - content:'\e0ad'; -} - -.fi-pulse:before { - content:'\e0ae'; -} - -.fi-puzzle-piece:before { - content:'\e0af'; -} - -.fi-question-mark:before { - content:'\e0b0'; -} - -.fi-rain:before { - content:'\e0b1'; -} - -.fi-random:before { - content:'\e0b2'; -} - -.fi-reload:before { - content:'\e0b3'; -} - -.fi-resize-both:before { - content:'\e0b4'; -} - -.fi-resize-height:before { - content:'\e0b5'; -} - -.fi-resize-width:before { - content:'\e0b6'; -} - -.fi-rss-alt:before { - content:'\e0b7'; -} - -.fi-rss:before { - content:'\e0b8'; -} - -.fi-script:before { - content:'\e0b9'; -} - -.fi-share-boxed:before { - content:'\e0ba'; -} - -.fi-share:before { - content:'\e0bb'; -} - -.fi-shield:before { - content:'\e0bc'; -} - -.fi-signal:before { - content:'\e0bd'; -} - -.fi-signpost:before { - content:'\e0be'; -} - -.fi-sort-ascending:before { - content:'\e0bf'; -} - -.fi-sort-descending:before { - content:'\e0c0'; -} - -.fi-spreadsheet:before { - content:'\e0c1'; -} - -.fi-star:before { - content:'\e0c2'; -} - -.fi-sun:before { - content:'\e0c3'; -} - -.fi-tablet:before { - content:'\e0c4'; -} - -.fi-tag:before { - content:'\e0c5'; -} - -.fi-tags:before { - content:'\e0c6'; -} - -.fi-target:before { - content:'\e0c7'; -} - -.fi-task:before { - content:'\e0c8'; -} - -.fi-terminal:before { - content:'\e0c9'; -} - -.fi-text:before { - content:'\e0ca'; -} - -.fi-thumb-down:before { - content:'\e0cb'; -} - -.fi-thumb-up:before { - content:'\e0cc'; -} - -.fi-timer:before { - content:'\e0cd'; -} - -.fi-transfer:before { - content:'\e0ce'; -} - -.fi-trash:before { - content:'\e0cf'; -} - -.fi-underline:before { - content:'\e0d0'; -} - -.fi-vertical-align-bottom:before { - content:'\e0d1'; -} - -.fi-vertical-align-center:before { - content:'\e0d2'; -} - -.fi-vertical-align-top:before { - content:'\e0d3'; -} - -.fi-video:before { - content:'\e0d4'; -} - -.fi-volume-high:before { - content:'\e0d5'; -} - -.fi-volume-low:before { - content:'\e0d6'; -} - -.fi-volume-off:before { - content:'\e0d7'; -} - -.fi-warning:before { - content:'\e0d8'; -} - -.fi-wifi:before { - content:'\e0d9'; -} - -.fi-wrench:before { - content:'\e0da'; -} - -.fi-x:before { - content:'\e0db'; -} - -.fi-yen:before { - content:'\e0dc'; -} - -.fi-zoom-in:before { - content:'\e0dd'; -} - -.fi-zoom-out:before { - content:'\e0de'; -} - diff --git a/app/open-iconic/font/css/open-iconic-foundation.less b/app/open-iconic/font/css/open-iconic-foundation.less deleted file mode 100755 index deabf26..0000000 --- a/app/open-iconic/font/css/open-iconic-foundation.less +++ /dev/null @@ -1,1397 +0,0 @@ -/* Foundation */ - -/* Font path variable */ -@icon-font-path: '../fonts/'; - -@font-face { - font-family: 'Icons'; - src: url('@{icon-font-path}open-iconic.eot'); - src: url('@{icon-font-path}open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('@{icon-font-path}open-iconic.woff') format('woff'), url('@{icon-font-path}open-iconic.ttf') format('truetype'), url('@{icon-font-path}open-iconic.otf') format('opentype'), url('@{icon-font-path}open-iconic.svg#iconic-sm') format('svg'); - font-weight: normal; - font-style: normal; -} - - -.fi-account-login:before, - -.fi-account-logout:before, - -.fi-action-redo:before, - -.fi-action-undo:before, - -.fi-align-center:before, - -.fi-align-left:before, - -.fi-align-right:before, - -.fi-aperture:before, - -.fi-arrow-bottom:before, - -.fi-arrow-circle-bottom:before, - -.fi-arrow-circle-left:before, - -.fi-arrow-circle-right:before, - -.fi-arrow-circle-top:before, - -.fi-arrow-left:before, - -.fi-arrow-right:before, - -.fi-arrow-thick-bottom:before, - -.fi-arrow-thick-left:before, - -.fi-arrow-thick-right:before, - -.fi-arrow-thick-top:before, - -.fi-arrow-top:before, - -.fi-audio-spectrum:before, - -.fi-audio:before, - -.fi-badge:before, - -.fi-ban:before, - -.fi-bar-chart:before, - -.fi-basket:before, - -.fi-battery-empty:before, - -.fi-battery-full:before, - -.fi-beaker:before, - -.fi-bell:before, - -.fi-bluetooth:before, - -.fi-bold:before, - -.fi-bolt:before, - -.fi-book:before, - -.fi-bookmark:before, - -.fi-box:before, - -.fi-briefcase:before, - -.fi-british-pound:before, - -.fi-browser:before, - -.fi-brush:before, - -.fi-bug:before, - -.fi-bullhorn:before, - -.fi-calculator:before, - -.fi-calendar:before, - -.fi-camera-slr:before, - -.fi-caret-bottom:before, - -.fi-caret-left:before, - -.fi-caret-right:before, - -.fi-caret-top:before, - -.fi-cart:before, - -.fi-chat:before, - -.fi-check:before, - -.fi-chevron-bottom:before, - -.fi-chevron-left:before, - -.fi-chevron-right:before, - -.fi-chevron-top:before, - -.fi-circle-check:before, - -.fi-circle-x:before, - -.fi-clipboard:before, - -.fi-clock:before, - -.fi-cloud-download:before, - -.fi-cloud-upload:before, - -.fi-cloud:before, - -.fi-cloudy:before, - -.fi-code:before, - -.fi-cog:before, - -.fi-collapse-down:before, - -.fi-collapse-left:before, - -.fi-collapse-right:before, - -.fi-collapse-up:before, - -.fi-command:before, - -.fi-comment-square:before, - -.fi-compass:before, - -.fi-contrast:before, - -.fi-copywriting:before, - -.fi-credit-card:before, - -.fi-crop:before, - -.fi-dashboard:before, - -.fi-data-transfer-download:before, - -.fi-data-transfer-upload:before, - -.fi-delete:before, - -.fi-dial:before, - -.fi-document:before, - -.fi-dollar:before, - -.fi-double-quote-sans-left:before, - -.fi-double-quote-sans-right:before, - -.fi-double-quote-serif-left:before, - -.fi-double-quote-serif-right:before, - -.fi-droplet:before, - -.fi-eject:before, - -.fi-elevator:before, - -.fi-ellipses:before, - -.fi-envelope-closed:before, - -.fi-envelope-open:before, - -.fi-euro:before, - -.fi-excerpt:before, - -.fi-expand-down:before, - -.fi-expand-left:before, - -.fi-expand-right:before, - -.fi-expand-up:before, - -.fi-external-link:before, - -.fi-eye:before, - -.fi-eyedropper:before, - -.fi-file:before, - -.fi-fire:before, - -.fi-flag:before, - -.fi-flash:before, - -.fi-folder:before, - -.fi-fork:before, - -.fi-fullscreen-enter:before, - -.fi-fullscreen-exit:before, - -.fi-globe:before, - -.fi-graph:before, - -.fi-grid-four-up:before, - -.fi-grid-three-up:before, - -.fi-grid-two-up:before, - -.fi-hard-drive:before, - -.fi-header:before, - -.fi-headphones:before, - -.fi-heart:before, - -.fi-home:before, - -.fi-image:before, - -.fi-inbox:before, - -.fi-infinity:before, - -.fi-info:before, - -.fi-italic:before, - -.fi-justify-center:before, - -.fi-justify-left:before, - -.fi-justify-right:before, - -.fi-key:before, - -.fi-laptop:before, - -.fi-layers:before, - -.fi-lightbulb:before, - -.fi-link-broken:before, - -.fi-link-intact:before, - -.fi-list-rich:before, - -.fi-list:before, - -.fi-location:before, - -.fi-lock-locked:before, - -.fi-lock-unlocked:before, - -.fi-loop-circular:before, - -.fi-loop-square:before, - -.fi-loop:before, - -.fi-magnifying-glass:before, - -.fi-map-marker:before, - -.fi-map:before, - -.fi-media-pause:before, - -.fi-media-play:before, - -.fi-media-record:before, - -.fi-media-skip-backward:before, - -.fi-media-skip-forward:before, - -.fi-media-step-backward:before, - -.fi-media-step-forward:before, - -.fi-media-stop:before, - -.fi-medical-cross:before, - -.fi-menu:before, - -.fi-microphone:before, - -.fi-minus:before, - -.fi-monitor:before, - -.fi-moon:before, - -.fi-move:before, - -.fi-musical-note:before, - -.fi-paperclip:before, - -.fi-pencil:before, - -.fi-people:before, - -.fi-person:before, - -.fi-phone:before, - -.fi-pie-chart:before, - -.fi-pin:before, - -.fi-play-circle:before, - -.fi-plus:before, - -.fi-power-standby:before, - -.fi-print:before, - -.fi-project:before, - -.fi-pulse:before, - -.fi-puzzle-piece:before, - -.fi-question-mark:before, - -.fi-rain:before, - -.fi-random:before, - -.fi-reload:before, - -.fi-resize-both:before, - -.fi-resize-height:before, - -.fi-resize-width:before, - -.fi-rss-alt:before, - -.fi-rss:before, - -.fi-script:before, - -.fi-share-boxed:before, - -.fi-share:before, - -.fi-shield:before, - -.fi-signal:before, - -.fi-signpost:before, - -.fi-sort-ascending:before, - -.fi-sort-descending:before, - -.fi-spreadsheet:before, - -.fi-star:before, - -.fi-sun:before, - -.fi-tablet:before, - -.fi-tag:before, - -.fi-tags:before, - -.fi-target:before, - -.fi-task:before, - -.fi-terminal:before, - -.fi-text:before, - -.fi-thumb-down:before, - -.fi-thumb-up:before, - -.fi-timer:before, - -.fi-transfer:before, - -.fi-trash:before, - -.fi-underline:before, - -.fi-vertical-align-bottom:before, - -.fi-vertical-align-center:before, - -.fi-vertical-align-top:before, - -.fi-video:before, - -.fi-volume-high:before, - -.fi-volume-low:before, - -.fi-volume-off:before, - -.fi-warning:before, - -.fi-wifi:before, - -.fi-wrench:before, - -.fi-x:before, - -.fi-yen:before, - -.fi-zoom-in:before, - -.fi-zoom-out:before - { - font-family: 'Icons'; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - display: inline-block; - text-decoration: inherit; -} - -[class*='fi-'].oi-align-center:before { - text-align: center; -} - -[class*='fi-'].oi-align-left:before { - text-align: left; -} - -[class*='fi-'].oi-align-right:before { - text-align: right; -} - - -[class*='fi-'].oi-flip-horizontal:before { - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} - -[class*='fi-'].oi-flip-vertical:before { - -webkit-transform: scale(1, -1); - -ms-transform: scale(-1, 1); - transform: scale(1, -1); -} - -[class*='fi-'].oi-flip-horizontal-vertical:before { - -webkit-transform: scale(-1, -1); - -ms-transform: scale(-1, 1); - transform: scale(-1, -1); -} - - - -.fi-account-login:before { - content:'\e000'; -} - -.fi-account-logout:before { - content:'\e001'; -} - -.fi-action-redo:before { - content:'\e002'; -} - -.fi-action-undo:before { - content:'\e003'; -} - -.fi-align-center:before { - content:'\e004'; -} - -.fi-align-left:before { - content:'\e005'; -} - -.fi-align-right:before { - content:'\e006'; -} - -.fi-aperture:before { - content:'\e007'; -} - -.fi-arrow-bottom:before { - content:'\e008'; -} - -.fi-arrow-circle-bottom:before { - content:'\e009'; -} - -.fi-arrow-circle-left:before { - content:'\e00a'; -} - -.fi-arrow-circle-right:before { - content:'\e00b'; -} - -.fi-arrow-circle-top:before { - content:'\e00c'; -} - -.fi-arrow-left:before { - content:'\e00d'; -} - -.fi-arrow-right:before { - content:'\e00e'; -} - -.fi-arrow-thick-bottom:before { - content:'\e00f'; -} - -.fi-arrow-thick-left:before { - content:'\e010'; -} - -.fi-arrow-thick-right:before { - content:'\e011'; -} - -.fi-arrow-thick-top:before { - content:'\e012'; -} - -.fi-arrow-top:before { - content:'\e013'; -} - -.fi-audio-spectrum:before { - content:'\e014'; -} - -.fi-audio:before { - content:'\e015'; -} - -.fi-badge:before { - content:'\e016'; -} - -.fi-ban:before { - content:'\e017'; -} - -.fi-bar-chart:before { - content:'\e018'; -} - -.fi-basket:before { - content:'\e019'; -} - -.fi-battery-empty:before { - content:'\e01a'; -} - -.fi-battery-full:before { - content:'\e01b'; -} - -.fi-beaker:before { - content:'\e01c'; -} - -.fi-bell:before { - content:'\e01d'; -} - -.fi-bluetooth:before { - content:'\e01e'; -} - -.fi-bold:before { - content:'\e01f'; -} - -.fi-bolt:before { - content:'\e020'; -} - -.fi-book:before { - content:'\e021'; -} - -.fi-bookmark:before { - content:'\e022'; -} - -.fi-box:before { - content:'\e023'; -} - -.fi-briefcase:before { - content:'\e024'; -} - -.fi-british-pound:before { - content:'\e025'; -} - -.fi-browser:before { - content:'\e026'; -} - -.fi-brush:before { - content:'\e027'; -} - -.fi-bug:before { - content:'\e028'; -} - -.fi-bullhorn:before { - content:'\e029'; -} - -.fi-calculator:before { - content:'\e02a'; -} - -.fi-calendar:before { - content:'\e02b'; -} - -.fi-camera-slr:before { - content:'\e02c'; -} - -.fi-caret-bottom:before { - content:'\e02d'; -} - -.fi-caret-left:before { - content:'\e02e'; -} - -.fi-caret-right:before { - content:'\e02f'; -} - -.fi-caret-top:before { - content:'\e030'; -} - -.fi-cart:before { - content:'\e031'; -} - -.fi-chat:before { - content:'\e032'; -} - -.fi-check:before { - content:'\e033'; -} - -.fi-chevron-bottom:before { - content:'\e034'; -} - -.fi-chevron-left:before { - content:'\e035'; -} - -.fi-chevron-right:before { - content:'\e036'; -} - -.fi-chevron-top:before { - content:'\e037'; -} - -.fi-circle-check:before { - content:'\e038'; -} - -.fi-circle-x:before { - content:'\e039'; -} - -.fi-clipboard:before { - content:'\e03a'; -} - -.fi-clock:before { - content:'\e03b'; -} - -.fi-cloud-download:before { - content:'\e03c'; -} - -.fi-cloud-upload:before { - content:'\e03d'; -} - -.fi-cloud:before { - content:'\e03e'; -} - -.fi-cloudy:before { - content:'\e03f'; -} - -.fi-code:before { - content:'\e040'; -} - -.fi-cog:before { - content:'\e041'; -} - -.fi-collapse-down:before { - content:'\e042'; -} - -.fi-collapse-left:before { - content:'\e043'; -} - -.fi-collapse-right:before { - content:'\e044'; -} - -.fi-collapse-up:before { - content:'\e045'; -} - -.fi-command:before { - content:'\e046'; -} - -.fi-comment-square:before { - content:'\e047'; -} - -.fi-compass:before { - content:'\e048'; -} - -.fi-contrast:before { - content:'\e049'; -} - -.fi-copywriting:before { - content:'\e04a'; -} - -.fi-credit-card:before { - content:'\e04b'; -} - -.fi-crop:before { - content:'\e04c'; -} - -.fi-dashboard:before { - content:'\e04d'; -} - -.fi-data-transfer-download:before { - content:'\e04e'; -} - -.fi-data-transfer-upload:before { - content:'\e04f'; -} - -.fi-delete:before { - content:'\e050'; -} - -.fi-dial:before { - content:'\e051'; -} - -.fi-document:before { - content:'\e052'; -} - -.fi-dollar:before { - content:'\e053'; -} - -.fi-double-quote-sans-left:before { - content:'\e054'; -} - -.fi-double-quote-sans-right:before { - content:'\e055'; -} - -.fi-double-quote-serif-left:before { - content:'\e056'; -} - -.fi-double-quote-serif-right:before { - content:'\e057'; -} - -.fi-droplet:before { - content:'\e058'; -} - -.fi-eject:before { - content:'\e059'; -} - -.fi-elevator:before { - content:'\e05a'; -} - -.fi-ellipses:before { - content:'\e05b'; -} - -.fi-envelope-closed:before { - content:'\e05c'; -} - -.fi-envelope-open:before { - content:'\e05d'; -} - -.fi-euro:before { - content:'\e05e'; -} - -.fi-excerpt:before { - content:'\e05f'; -} - -.fi-expand-down:before { - content:'\e060'; -} - -.fi-expand-left:before { - content:'\e061'; -} - -.fi-expand-right:before { - content:'\e062'; -} - -.fi-expand-up:before { - content:'\e063'; -} - -.fi-external-link:before { - content:'\e064'; -} - -.fi-eye:before { - content:'\e065'; -} - -.fi-eyedropper:before { - content:'\e066'; -} - -.fi-file:before { - content:'\e067'; -} - -.fi-fire:before { - content:'\e068'; -} - -.fi-flag:before { - content:'\e069'; -} - -.fi-flash:before { - content:'\e06a'; -} - -.fi-folder:before { - content:'\e06b'; -} - -.fi-fork:before { - content:'\e06c'; -} - -.fi-fullscreen-enter:before { - content:'\e06d'; -} - -.fi-fullscreen-exit:before { - content:'\e06e'; -} - -.fi-globe:before { - content:'\e06f'; -} - -.fi-graph:before { - content:'\e070'; -} - -.fi-grid-four-up:before { - content:'\e071'; -} - -.fi-grid-three-up:before { - content:'\e072'; -} - -.fi-grid-two-up:before { - content:'\e073'; -} - -.fi-hard-drive:before { - content:'\e074'; -} - -.fi-header:before { - content:'\e075'; -} - -.fi-headphones:before { - content:'\e076'; -} - -.fi-heart:before { - content:'\e077'; -} - -.fi-home:before { - content:'\e078'; -} - -.fi-image:before { - content:'\e079'; -} - -.fi-inbox:before { - content:'\e07a'; -} - -.fi-infinity:before { - content:'\e07b'; -} - -.fi-info:before { - content:'\e07c'; -} - -.fi-italic:before { - content:'\e07d'; -} - -.fi-justify-center:before { - content:'\e07e'; -} - -.fi-justify-left:before { - content:'\e07f'; -} - -.fi-justify-right:before { - content:'\e080'; -} - -.fi-key:before { - content:'\e081'; -} - -.fi-laptop:before { - content:'\e082'; -} - -.fi-layers:before { - content:'\e083'; -} - -.fi-lightbulb:before { - content:'\e084'; -} - -.fi-link-broken:before { - content:'\e085'; -} - -.fi-link-intact:before { - content:'\e086'; -} - -.fi-list-rich:before { - content:'\e087'; -} - -.fi-list:before { - content:'\e088'; -} - -.fi-location:before { - content:'\e089'; -} - -.fi-lock-locked:before { - content:'\e08a'; -} - -.fi-lock-unlocked:before { - content:'\e08b'; -} - -.fi-loop-circular:before { - content:'\e08c'; -} - -.fi-loop-square:before { - content:'\e08d'; -} - -.fi-loop:before { - content:'\e08e'; -} - -.fi-magnifying-glass:before { - content:'\e08f'; -} - -.fi-map-marker:before { - content:'\e090'; -} - -.fi-map:before { - content:'\e091'; -} - -.fi-media-pause:before { - content:'\e092'; -} - -.fi-media-play:before { - content:'\e093'; -} - -.fi-media-record:before { - content:'\e094'; -} - -.fi-media-skip-backward:before { - content:'\e095'; -} - -.fi-media-skip-forward:before { - content:'\e096'; -} - -.fi-media-step-backward:before { - content:'\e097'; -} - -.fi-media-step-forward:before { - content:'\e098'; -} - -.fi-media-stop:before { - content:'\e099'; -} - -.fi-medical-cross:before { - content:'\e09a'; -} - -.fi-menu:before { - content:'\e09b'; -} - -.fi-microphone:before { - content:'\e09c'; -} - -.fi-minus:before { - content:'\e09d'; -} - -.fi-monitor:before { - content:'\e09e'; -} - -.fi-moon:before { - content:'\e09f'; -} - -.fi-move:before { - content:'\e0a0'; -} - -.fi-musical-note:before { - content:'\e0a1'; -} - -.fi-paperclip:before { - content:'\e0a2'; -} - -.fi-pencil:before { - content:'\e0a3'; -} - -.fi-people:before { - content:'\e0a4'; -} - -.fi-person:before { - content:'\e0a5'; -} - -.fi-phone:before { - content:'\e0a6'; -} - -.fi-pie-chart:before { - content:'\e0a7'; -} - -.fi-pin:before { - content:'\e0a8'; -} - -.fi-play-circle:before { - content:'\e0a9'; -} - -.fi-plus:before { - content:'\e0aa'; -} - -.fi-power-standby:before { - content:'\e0ab'; -} - -.fi-print:before { - content:'\e0ac'; -} - -.fi-project:before { - content:'\e0ad'; -} - -.fi-pulse:before { - content:'\e0ae'; -} - -.fi-puzzle-piece:before { - content:'\e0af'; -} - -.fi-question-mark:before { - content:'\e0b0'; -} - -.fi-rain:before { - content:'\e0b1'; -} - -.fi-random:before { - content:'\e0b2'; -} - -.fi-reload:before { - content:'\e0b3'; -} - -.fi-resize-both:before { - content:'\e0b4'; -} - -.fi-resize-height:before { - content:'\e0b5'; -} - -.fi-resize-width:before { - content:'\e0b6'; -} - -.fi-rss-alt:before { - content:'\e0b7'; -} - -.fi-rss:before { - content:'\e0b8'; -} - -.fi-script:before { - content:'\e0b9'; -} - -.fi-share-boxed:before { - content:'\e0ba'; -} - -.fi-share:before { - content:'\e0bb'; -} - -.fi-shield:before { - content:'\e0bc'; -} - -.fi-signal:before { - content:'\e0bd'; -} - -.fi-signpost:before { - content:'\e0be'; -} - -.fi-sort-ascending:before { - content:'\e0bf'; -} - -.fi-sort-descending:before { - content:'\e0c0'; -} - -.fi-spreadsheet:before { - content:'\e0c1'; -} - -.fi-star:before { - content:'\e0c2'; -} - -.fi-sun:before { - content:'\e0c3'; -} - -.fi-tablet:before { - content:'\e0c4'; -} - -.fi-tag:before { - content:'\e0c5'; -} - -.fi-tags:before { - content:'\e0c6'; -} - -.fi-target:before { - content:'\e0c7'; -} - -.fi-task:before { - content:'\e0c8'; -} - -.fi-terminal:before { - content:'\e0c9'; -} - -.fi-text:before { - content:'\e0ca'; -} - -.fi-thumb-down:before { - content:'\e0cb'; -} - -.fi-thumb-up:before { - content:'\e0cc'; -} - -.fi-timer:before { - content:'\e0cd'; -} - -.fi-transfer:before { - content:'\e0ce'; -} - -.fi-trash:before { - content:'\e0cf'; -} - -.fi-underline:before { - content:'\e0d0'; -} - -.fi-vertical-align-bottom:before { - content:'\e0d1'; -} - -.fi-vertical-align-center:before { - content:'\e0d2'; -} - -.fi-vertical-align-top:before { - content:'\e0d3'; -} - -.fi-video:before { - content:'\e0d4'; -} - -.fi-volume-high:before { - content:'\e0d5'; -} - -.fi-volume-low:before { - content:'\e0d6'; -} - -.fi-volume-off:before { - content:'\e0d7'; -} - -.fi-warning:before { - content:'\e0d8'; -} - -.fi-wifi:before { - content:'\e0d9'; -} - -.fi-wrench:before { - content:'\e0da'; -} - -.fi-x:before { - content:'\e0db'; -} - -.fi-yen:before { - content:'\e0dc'; -} - -.fi-zoom-in:before { - content:'\e0dd'; -} - -.fi-zoom-out:before { - content:'\e0de'; -} - diff --git a/app/open-iconic/font/css/open-iconic-foundation.min.css b/app/open-iconic/font/css/open-iconic-foundation.min.css deleted file mode 100755 index bd12429..0000000 --- a/app/open-iconic/font/css/open-iconic-foundation.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Icons;src:url(../fonts/open-iconic.eot);src:url(../fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(../fonts/open-iconic.woff) format('woff'),url(../fonts/open-iconic.ttf) format('truetype'),url(../fonts/open-iconic.otf) format('opentype'),url(../fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.fi-account-login:before,.fi-account-logout:before,.fi-action-redo:before,.fi-action-undo:before,.fi-align-center:before,.fi-align-left:before,.fi-align-right:before,.fi-aperture:before,.fi-arrow-bottom:before,.fi-arrow-circle-bottom:before,.fi-arrow-circle-left:before,.fi-arrow-circle-right:before,.fi-arrow-circle-top:before,.fi-arrow-left:before,.fi-arrow-right:before,.fi-arrow-thick-bottom:before,.fi-arrow-thick-left:before,.fi-arrow-thick-right:before,.fi-arrow-thick-top:before,.fi-arrow-top:before,.fi-audio-spectrum:before,.fi-audio:before,.fi-badge:before,.fi-ban:before,.fi-bar-chart:before,.fi-basket:before,.fi-battery-empty:before,.fi-battery-full:before,.fi-beaker:before,.fi-bell:before,.fi-bluetooth:before,.fi-bold:before,.fi-bolt:before,.fi-book:before,.fi-bookmark:before,.fi-box:before,.fi-briefcase:before,.fi-british-pound:before,.fi-browser:before,.fi-brush:before,.fi-bug:before,.fi-bullhorn:before,.fi-calculator:before,.fi-calendar:before,.fi-camera-slr:before,.fi-caret-bottom:before,.fi-caret-left:before,.fi-caret-right:before,.fi-caret-top:before,.fi-cart:before,.fi-chat:before,.fi-check:before,.fi-chevron-bottom:before,.fi-chevron-left:before,.fi-chevron-right:before,.fi-chevron-top:before,.fi-circle-check:before,.fi-circle-x:before,.fi-clipboard:before,.fi-clock:before,.fi-cloud-download:before,.fi-cloud-upload:before,.fi-cloud:before,.fi-cloudy:before,.fi-code:before,.fi-cog:before,.fi-collapse-down:before,.fi-collapse-left:before,.fi-collapse-right:before,.fi-collapse-up:before,.fi-command:before,.fi-comment-square:before,.fi-compass:before,.fi-contrast:before,.fi-copywriting:before,.fi-credit-card:before,.fi-crop:before,.fi-dashboard:before,.fi-data-transfer-download:before,.fi-data-transfer-upload:before,.fi-delete:before,.fi-dial:before,.fi-document:before,.fi-dollar:before,.fi-double-quote-sans-left:before,.fi-double-quote-sans-right:before,.fi-double-quote-serif-left:before,.fi-double-quote-serif-right:before,.fi-droplet:before,.fi-eject:before,.fi-elevator:before,.fi-ellipses:before,.fi-envelope-closed:before,.fi-envelope-open:before,.fi-euro:before,.fi-excerpt:before,.fi-expand-down:before,.fi-expand-left:before,.fi-expand-right:before,.fi-expand-up:before,.fi-external-link:before,.fi-eye:before,.fi-eyedropper:before,.fi-file:before,.fi-fire:before,.fi-flag:before,.fi-flash:before,.fi-folder:before,.fi-fork:before,.fi-fullscreen-enter:before,.fi-fullscreen-exit:before,.fi-globe:before,.fi-graph:before,.fi-grid-four-up:before,.fi-grid-three-up:before,.fi-grid-two-up:before,.fi-hard-drive:before,.fi-header:before,.fi-headphones:before,.fi-heart:before,.fi-home:before,.fi-image:before,.fi-inbox:before,.fi-infinity:before,.fi-info:before,.fi-italic:before,.fi-justify-center:before,.fi-justify-left:before,.fi-justify-right:before,.fi-key:before,.fi-laptop:before,.fi-layers:before,.fi-lightbulb:before,.fi-link-broken:before,.fi-link-intact:before,.fi-list-rich:before,.fi-list:before,.fi-location:before,.fi-lock-locked:before,.fi-lock-unlocked:before,.fi-loop-circular:before,.fi-loop-square:before,.fi-loop:before,.fi-magnifying-glass:before,.fi-map-marker:before,.fi-map:before,.fi-media-pause:before,.fi-media-play:before,.fi-media-record:before,.fi-media-skip-backward:before,.fi-media-skip-forward:before,.fi-media-step-backward:before,.fi-media-step-forward:before,.fi-media-stop:before,.fi-medical-cross:before,.fi-menu:before,.fi-microphone:before,.fi-minus:before,.fi-monitor:before,.fi-moon:before,.fi-move:before,.fi-musical-note:before,.fi-paperclip:before,.fi-pencil:before,.fi-people:before,.fi-person:before,.fi-phone:before,.fi-pie-chart:before,.fi-pin:before,.fi-play-circle:before,.fi-plus:before,.fi-power-standby:before,.fi-print:before,.fi-project:before,.fi-pulse:before,.fi-puzzle-piece:before,.fi-question-mark:before,.fi-rain:before,.fi-random:before,.fi-reload:before,.fi-resize-both:before,.fi-resize-height:before,.fi-resize-width:before,.fi-rss-alt:before,.fi-rss:before,.fi-script:before,.fi-share-boxed:before,.fi-share:before,.fi-shield:before,.fi-signal:before,.fi-signpost:before,.fi-sort-ascending:before,.fi-sort-descending:before,.fi-spreadsheet:before,.fi-star:before,.fi-sun:before,.fi-tablet:before,.fi-tag:before,.fi-tags:before,.fi-target:before,.fi-task:before,.fi-terminal:before,.fi-text:before,.fi-thumb-down:before,.fi-thumb-up:before,.fi-timer:before,.fi-transfer:before,.fi-trash:before,.fi-underline:before,.fi-vertical-align-bottom:before,.fi-vertical-align-center:before,.fi-vertical-align-top:before,.fi-video:before,.fi-volume-high:before,.fi-volume-low:before,.fi-volume-off:before,.fi-warning:before,.fi-wifi:before,.fi-wrench:before,.fi-x:before,.fi-yen:before,.fi-zoom-in:before,.fi-zoom-out:before{font-family:Icons;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;text-decoration:inherit}[class*=fi-].oi-align-center:before{text-align:center}[class*=fi-].oi-align-left:before{text-align:left}[class*=fi-].oi-align-right:before{text-align:right}[class*=fi-].oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}[class*=fi-].oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}[class*=fi-].oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.fi-account-login:before{content:'\e000'}.fi-account-logout:before{content:'\e001'}.fi-action-redo:before{content:'\e002'}.fi-action-undo:before{content:'\e003'}.fi-align-center:before{content:'\e004'}.fi-align-left:before{content:'\e005'}.fi-align-right:before{content:'\e006'}.fi-aperture:before{content:'\e007'}.fi-arrow-bottom:before{content:'\e008'}.fi-arrow-circle-bottom:before{content:'\e009'}.fi-arrow-circle-left:before{content:'\e00a'}.fi-arrow-circle-right:before{content:'\e00b'}.fi-arrow-circle-top:before{content:'\e00c'}.fi-arrow-left:before{content:'\e00d'}.fi-arrow-right:before{content:'\e00e'}.fi-arrow-thick-bottom:before{content:'\e00f'}.fi-arrow-thick-left:before{content:'\e010'}.fi-arrow-thick-right:before{content:'\e011'}.fi-arrow-thick-top:before{content:'\e012'}.fi-arrow-top:before{content:'\e013'}.fi-audio-spectrum:before{content:'\e014'}.fi-audio:before{content:'\e015'}.fi-badge:before{content:'\e016'}.fi-ban:before{content:'\e017'}.fi-bar-chart:before{content:'\e018'}.fi-basket:before{content:'\e019'}.fi-battery-empty:before{content:'\e01a'}.fi-battery-full:before{content:'\e01b'}.fi-beaker:before{content:'\e01c'}.fi-bell:before{content:'\e01d'}.fi-bluetooth:before{content:'\e01e'}.fi-bold:before{content:'\e01f'}.fi-bolt:before{content:'\e020'}.fi-book:before{content:'\e021'}.fi-bookmark:before{content:'\e022'}.fi-box:before{content:'\e023'}.fi-briefcase:before{content:'\e024'}.fi-british-pound:before{content:'\e025'}.fi-browser:before{content:'\e026'}.fi-brush:before{content:'\e027'}.fi-bug:before{content:'\e028'}.fi-bullhorn:before{content:'\e029'}.fi-calculator:before{content:'\e02a'}.fi-calendar:before{content:'\e02b'}.fi-camera-slr:before{content:'\e02c'}.fi-caret-bottom:before{content:'\e02d'}.fi-caret-left:before{content:'\e02e'}.fi-caret-right:before{content:'\e02f'}.fi-caret-top:before{content:'\e030'}.fi-cart:before{content:'\e031'}.fi-chat:before{content:'\e032'}.fi-check:before{content:'\e033'}.fi-chevron-bottom:before{content:'\e034'}.fi-chevron-left:before{content:'\e035'}.fi-chevron-right:before{content:'\e036'}.fi-chevron-top:before{content:'\e037'}.fi-circle-check:before{content:'\e038'}.fi-circle-x:before{content:'\e039'}.fi-clipboard:before{content:'\e03a'}.fi-clock:before{content:'\e03b'}.fi-cloud-download:before{content:'\e03c'}.fi-cloud-upload:before{content:'\e03d'}.fi-cloud:before{content:'\e03e'}.fi-cloudy:before{content:'\e03f'}.fi-code:before{content:'\e040'}.fi-cog:before{content:'\e041'}.fi-collapse-down:before{content:'\e042'}.fi-collapse-left:before{content:'\e043'}.fi-collapse-right:before{content:'\e044'}.fi-collapse-up:before{content:'\e045'}.fi-command:before{content:'\e046'}.fi-comment-square:before{content:'\e047'}.fi-compass:before{content:'\e048'}.fi-contrast:before{content:'\e049'}.fi-copywriting:before{content:'\e04a'}.fi-credit-card:before{content:'\e04b'}.fi-crop:before{content:'\e04c'}.fi-dashboard:before{content:'\e04d'}.fi-data-transfer-download:before{content:'\e04e'}.fi-data-transfer-upload:before{content:'\e04f'}.fi-delete:before{content:'\e050'}.fi-dial:before{content:'\e051'}.fi-document:before{content:'\e052'}.fi-dollar:before{content:'\e053'}.fi-double-quote-sans-left:before{content:'\e054'}.fi-double-quote-sans-right:before{content:'\e055'}.fi-double-quote-serif-left:before{content:'\e056'}.fi-double-quote-serif-right:before{content:'\e057'}.fi-droplet:before{content:'\e058'}.fi-eject:before{content:'\e059'}.fi-elevator:before{content:'\e05a'}.fi-ellipses:before{content:'\e05b'}.fi-envelope-closed:before{content:'\e05c'}.fi-envelope-open:before{content:'\e05d'}.fi-euro:before{content:'\e05e'}.fi-excerpt:before{content:'\e05f'}.fi-expand-down:before{content:'\e060'}.fi-expand-left:before{content:'\e061'}.fi-expand-right:before{content:'\e062'}.fi-expand-up:before{content:'\e063'}.fi-external-link:before{content:'\e064'}.fi-eye:before{content:'\e065'}.fi-eyedropper:before{content:'\e066'}.fi-file:before{content:'\e067'}.fi-fire:before{content:'\e068'}.fi-flag:before{content:'\e069'}.fi-flash:before{content:'\e06a'}.fi-folder:before{content:'\e06b'}.fi-fork:before{content:'\e06c'}.fi-fullscreen-enter:before{content:'\e06d'}.fi-fullscreen-exit:before{content:'\e06e'}.fi-globe:before{content:'\e06f'}.fi-graph:before{content:'\e070'}.fi-grid-four-up:before{content:'\e071'}.fi-grid-three-up:before{content:'\e072'}.fi-grid-two-up:before{content:'\e073'}.fi-hard-drive:before{content:'\e074'}.fi-header:before{content:'\e075'}.fi-headphones:before{content:'\e076'}.fi-heart:before{content:'\e077'}.fi-home:before{content:'\e078'}.fi-image:before{content:'\e079'}.fi-inbox:before{content:'\e07a'}.fi-infinity:before{content:'\e07b'}.fi-info:before{content:'\e07c'}.fi-italic:before{content:'\e07d'}.fi-justify-center:before{content:'\e07e'}.fi-justify-left:before{content:'\e07f'}.fi-justify-right:before{content:'\e080'}.fi-key:before{content:'\e081'}.fi-laptop:before{content:'\e082'}.fi-layers:before{content:'\e083'}.fi-lightbulb:before{content:'\e084'}.fi-link-broken:before{content:'\e085'}.fi-link-intact:before{content:'\e086'}.fi-list-rich:before{content:'\e087'}.fi-list:before{content:'\e088'}.fi-location:before{content:'\e089'}.fi-lock-locked:before{content:'\e08a'}.fi-lock-unlocked:before{content:'\e08b'}.fi-loop-circular:before{content:'\e08c'}.fi-loop-square:before{content:'\e08d'}.fi-loop:before{content:'\e08e'}.fi-magnifying-glass:before{content:'\e08f'}.fi-map-marker:before{content:'\e090'}.fi-map:before{content:'\e091'}.fi-media-pause:before{content:'\e092'}.fi-media-play:before{content:'\e093'}.fi-media-record:before{content:'\e094'}.fi-media-skip-backward:before{content:'\e095'}.fi-media-skip-forward:before{content:'\e096'}.fi-media-step-backward:before{content:'\e097'}.fi-media-step-forward:before{content:'\e098'}.fi-media-stop:before{content:'\e099'}.fi-medical-cross:before{content:'\e09a'}.fi-menu:before{content:'\e09b'}.fi-microphone:before{content:'\e09c'}.fi-minus:before{content:'\e09d'}.fi-monitor:before{content:'\e09e'}.fi-moon:before{content:'\e09f'}.fi-move:before{content:'\e0a0'}.fi-musical-note:before{content:'\e0a1'}.fi-paperclip:before{content:'\e0a2'}.fi-pencil:before{content:'\e0a3'}.fi-people:before{content:'\e0a4'}.fi-person:before{content:'\e0a5'}.fi-phone:before{content:'\e0a6'}.fi-pie-chart:before{content:'\e0a7'}.fi-pin:before{content:'\e0a8'}.fi-play-circle:before{content:'\e0a9'}.fi-plus:before{content:'\e0aa'}.fi-power-standby:before{content:'\e0ab'}.fi-print:before{content:'\e0ac'}.fi-project:before{content:'\e0ad'}.fi-pulse:before{content:'\e0ae'}.fi-puzzle-piece:before{content:'\e0af'}.fi-question-mark:before{content:'\e0b0'}.fi-rain:before{content:'\e0b1'}.fi-random:before{content:'\e0b2'}.fi-reload:before{content:'\e0b3'}.fi-resize-both:before{content:'\e0b4'}.fi-resize-height:before{content:'\e0b5'}.fi-resize-width:before{content:'\e0b6'}.fi-rss-alt:before{content:'\e0b7'}.fi-rss:before{content:'\e0b8'}.fi-script:before{content:'\e0b9'}.fi-share-boxed:before{content:'\e0ba'}.fi-share:before{content:'\e0bb'}.fi-shield:before{content:'\e0bc'}.fi-signal:before{content:'\e0bd'}.fi-signpost:before{content:'\e0be'}.fi-sort-ascending:before{content:'\e0bf'}.fi-sort-descending:before{content:'\e0c0'}.fi-spreadsheet:before{content:'\e0c1'}.fi-star:before{content:'\e0c2'}.fi-sun:before{content:'\e0c3'}.fi-tablet:before{content:'\e0c4'}.fi-tag:before{content:'\e0c5'}.fi-tags:before{content:'\e0c6'}.fi-target:before{content:'\e0c7'}.fi-task:before{content:'\e0c8'}.fi-terminal:before{content:'\e0c9'}.fi-text:before{content:'\e0ca'}.fi-thumb-down:before{content:'\e0cb'}.fi-thumb-up:before{content:'\e0cc'}.fi-timer:before{content:'\e0cd'}.fi-transfer:before{content:'\e0ce'}.fi-trash:before{content:'\e0cf'}.fi-underline:before{content:'\e0d0'}.fi-vertical-align-bottom:before{content:'\e0d1'}.fi-vertical-align-center:before{content:'\e0d2'}.fi-vertical-align-top:before{content:'\e0d3'}.fi-video:before{content:'\e0d4'}.fi-volume-high:before{content:'\e0d5'}.fi-volume-low:before{content:'\e0d6'}.fi-volume-off:before{content:'\e0d7'}.fi-warning:before{content:'\e0d8'}.fi-wifi:before{content:'\e0d9'}.fi-wrench:before{content:'\e0da'}.fi-x:before{content:'\e0db'}.fi-yen:before{content:'\e0dc'}.fi-zoom-in:before{content:'\e0dd'}.fi-zoom-out:before{content:'\e0de'} \ No newline at end of file diff --git a/app/open-iconic/font/css/open-iconic-foundation.scss b/app/open-iconic/font/css/open-iconic-foundation.scss deleted file mode 100755 index fe47138..0000000 --- a/app/open-iconic/font/css/open-iconic-foundation.scss +++ /dev/null @@ -1,1398 +0,0 @@ -/* Foundation */ - -/* Font path variable */ -$icon-font-path: '../fonts/' !default; - -@font-face { - font-family: 'Icons'; - src: url('#{$icon-font-path}open-iconic.eot'); - src: url('#{$icon-font-path}open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('#{$icon-font-path}open-iconic.woff') format('woff'), url('#{$icon-font-path}open-iconic.ttf') format('truetype'), url('#{$icon-font-path}open-iconic.otf') format('opentype'), url('#{$icon-font-path}open-iconic.svg#iconic-sm') format('svg'); - font-weight: normal; - font-style: normal; -} - - -.fi-account-login:before, - -.fi-account-logout:before, - -.fi-action-redo:before, - -.fi-action-undo:before, - -.fi-align-center:before, - -.fi-align-left:before, - -.fi-align-right:before, - -.fi-aperture:before, - -.fi-arrow-bottom:before, - -.fi-arrow-circle-bottom:before, - -.fi-arrow-circle-left:before, - -.fi-arrow-circle-right:before, - -.fi-arrow-circle-top:before, - -.fi-arrow-left:before, - -.fi-arrow-right:before, - -.fi-arrow-thick-bottom:before, - -.fi-arrow-thick-left:before, - -.fi-arrow-thick-right:before, - -.fi-arrow-thick-top:before, - -.fi-arrow-top:before, - -.fi-audio-spectrum:before, - -.fi-audio:before, - -.fi-badge:before, - -.fi-ban:before, - -.fi-bar-chart:before, - -.fi-basket:before, - -.fi-battery-empty:before, - -.fi-battery-full:before, - -.fi-beaker:before, - -.fi-bell:before, - -.fi-bluetooth:before, - -.fi-bold:before, - -.fi-bolt:before, - -.fi-book:before, - -.fi-bookmark:before, - -.fi-box:before, - -.fi-briefcase:before, - -.fi-british-pound:before, - -.fi-browser:before, - -.fi-brush:before, - -.fi-bug:before, - -.fi-bullhorn:before, - -.fi-calculator:before, - -.fi-calendar:before, - -.fi-camera-slr:before, - -.fi-caret-bottom:before, - -.fi-caret-left:before, - -.fi-caret-right:before, - -.fi-caret-top:before, - -.fi-cart:before, - -.fi-chat:before, - -.fi-check:before, - -.fi-chevron-bottom:before, - -.fi-chevron-left:before, - -.fi-chevron-right:before, - -.fi-chevron-top:before, - -.fi-circle-check:before, - -.fi-circle-x:before, - -.fi-clipboard:before, - -.fi-clock:before, - -.fi-cloud-download:before, - -.fi-cloud-upload:before, - -.fi-cloud:before, - -.fi-cloudy:before, - -.fi-code:before, - -.fi-cog:before, - -.fi-collapse-down:before, - -.fi-collapse-left:before, - -.fi-collapse-right:before, - -.fi-collapse-up:before, - -.fi-command:before, - -.fi-comment-square:before, - -.fi-compass:before, - -.fi-contrast:before, - -.fi-copywriting:before, - -.fi-credit-card:before, - -.fi-crop:before, - -.fi-dashboard:before, - -.fi-data-transfer-download:before, - -.fi-data-transfer-upload:before, - -.fi-delete:before, - -.fi-dial:before, - -.fi-document:before, - -.fi-dollar:before, - -.fi-double-quote-sans-left:before, - -.fi-double-quote-sans-right:before, - -.fi-double-quote-serif-left:before, - -.fi-double-quote-serif-right:before, - -.fi-droplet:before, - -.fi-eject:before, - -.fi-elevator:before, - -.fi-ellipses:before, - -.fi-envelope-closed:before, - -.fi-envelope-open:before, - -.fi-euro:before, - -.fi-excerpt:before, - -.fi-expand-down:before, - -.fi-expand-left:before, - -.fi-expand-right:before, - -.fi-expand-up:before, - -.fi-external-link:before, - -.fi-eye:before, - -.fi-eyedropper:before, - -.fi-file:before, - -.fi-fire:before, - -.fi-flag:before, - -.fi-flash:before, - -.fi-folder:before, - -.fi-fork:before, - -.fi-fullscreen-enter:before, - -.fi-fullscreen-exit:before, - -.fi-globe:before, - -.fi-graph:before, - -.fi-grid-four-up:before, - -.fi-grid-three-up:before, - -.fi-grid-two-up:before, - -.fi-hard-drive:before, - -.fi-header:before, - -.fi-headphones:before, - -.fi-heart:before, - -.fi-home:before, - -.fi-image:before, - -.fi-inbox:before, - -.fi-infinity:before, - -.fi-info:before, - -.fi-italic:before, - -.fi-justify-center:before, - -.fi-justify-left:before, - -.fi-justify-right:before, - -.fi-key:before, - -.fi-laptop:before, - -.fi-layers:before, - -.fi-lightbulb:before, - -.fi-link-broken:before, - -.fi-link-intact:before, - -.fi-list-rich:before, - -.fi-list:before, - -.fi-location:before, - -.fi-lock-locked:before, - -.fi-lock-unlocked:before, - -.fi-loop-circular:before, - -.fi-loop-square:before, - -.fi-loop:before, - -.fi-magnifying-glass:before, - -.fi-map-marker:before, - -.fi-map:before, - -.fi-media-pause:before, - -.fi-media-play:before, - -.fi-media-record:before, - -.fi-media-skip-backward:before, - -.fi-media-skip-forward:before, - -.fi-media-step-backward:before, - -.fi-media-step-forward:before, - -.fi-media-stop:before, - -.fi-medical-cross:before, - -.fi-menu:before, - -.fi-microphone:before, - -.fi-minus:before, - -.fi-monitor:before, - -.fi-moon:before, - -.fi-move:before, - -.fi-musical-note:before, - -.fi-paperclip:before, - -.fi-pencil:before, - -.fi-people:before, - -.fi-person:before, - -.fi-phone:before, - -.fi-pie-chart:before, - -.fi-pin:before, - -.fi-play-circle:before, - -.fi-plus:before, - -.fi-power-standby:before, - -.fi-print:before, - -.fi-project:before, - -.fi-pulse:before, - -.fi-puzzle-piece:before, - -.fi-question-mark:before, - -.fi-rain:before, - -.fi-random:before, - -.fi-reload:before, - -.fi-resize-both:before, - -.fi-resize-height:before, - -.fi-resize-width:before, - -.fi-rss-alt:before, - -.fi-rss:before, - -.fi-script:before, - -.fi-share-boxed:before, - -.fi-share:before, - -.fi-shield:before, - -.fi-signal:before, - -.fi-signpost:before, - -.fi-sort-ascending:before, - -.fi-sort-descending:before, - -.fi-spreadsheet:before, - -.fi-star:before, - -.fi-sun:before, - -.fi-tablet:before, - -.fi-tag:before, - -.fi-tags:before, - -.fi-target:before, - -.fi-task:before, - -.fi-terminal:before, - -.fi-text:before, - -.fi-thumb-down:before, - -.fi-thumb-up:before, - -.fi-timer:before, - -.fi-transfer:before, - -.fi-trash:before, - -.fi-underline:before, - -.fi-vertical-align-bottom:before, - -.fi-vertical-align-center:before, - -.fi-vertical-align-top:before, - -.fi-video:before, - -.fi-volume-high:before, - -.fi-volume-low:before, - -.fi-volume-off:before, - -.fi-warning:before, - -.fi-wifi:before, - -.fi-wrench:before, - -.fi-x:before, - -.fi-yen:before, - -.fi-zoom-in:before, - -.fi-zoom-out:before - { - font-family: 'Icons'; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - display: inline-block; - text-decoration: inherit; -} - - -[class*='fi-'].oi-align-center:before { - text-align: center; -} - -[class*='fi-'].oi-align-left:before { - text-align: left; -} - -[class*='fi-'].oi-align-right:before { - text-align: right; -} - - -[class*='fi-'].oi-flip-horizontal:before { - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} - -[class*='fi-'].oi-flip-vertical:before { - -webkit-transform: scale(1, -1); - -ms-transform: scale(-1, 1); - transform: scale(1, -1); -} - -[class*='fi-'].oi-flip-horizontal-vertical:before { - -webkit-transform: scale(-1, -1); - -ms-transform: scale(-1, 1); - transform: scale(-1, -1); -} - - - -.fi-account-login:before { - content:'\e000'; -} - -.fi-account-logout:before { - content:'\e001'; -} - -.fi-action-redo:before { - content:'\e002'; -} - -.fi-action-undo:before { - content:'\e003'; -} - -.fi-align-center:before { - content:'\e004'; -} - -.fi-align-left:before { - content:'\e005'; -} - -.fi-align-right:before { - content:'\e006'; -} - -.fi-aperture:before { - content:'\e007'; -} - -.fi-arrow-bottom:before { - content:'\e008'; -} - -.fi-arrow-circle-bottom:before { - content:'\e009'; -} - -.fi-arrow-circle-left:before { - content:'\e00a'; -} - -.fi-arrow-circle-right:before { - content:'\e00b'; -} - -.fi-arrow-circle-top:before { - content:'\e00c'; -} - -.fi-arrow-left:before { - content:'\e00d'; -} - -.fi-arrow-right:before { - content:'\e00e'; -} - -.fi-arrow-thick-bottom:before { - content:'\e00f'; -} - -.fi-arrow-thick-left:before { - content:'\e010'; -} - -.fi-arrow-thick-right:before { - content:'\e011'; -} - -.fi-arrow-thick-top:before { - content:'\e012'; -} - -.fi-arrow-top:before { - content:'\e013'; -} - -.fi-audio-spectrum:before { - content:'\e014'; -} - -.fi-audio:before { - content:'\e015'; -} - -.fi-badge:before { - content:'\e016'; -} - -.fi-ban:before { - content:'\e017'; -} - -.fi-bar-chart:before { - content:'\e018'; -} - -.fi-basket:before { - content:'\e019'; -} - -.fi-battery-empty:before { - content:'\e01a'; -} - -.fi-battery-full:before { - content:'\e01b'; -} - -.fi-beaker:before { - content:'\e01c'; -} - -.fi-bell:before { - content:'\e01d'; -} - -.fi-bluetooth:before { - content:'\e01e'; -} - -.fi-bold:before { - content:'\e01f'; -} - -.fi-bolt:before { - content:'\e020'; -} - -.fi-book:before { - content:'\e021'; -} - -.fi-bookmark:before { - content:'\e022'; -} - -.fi-box:before { - content:'\e023'; -} - -.fi-briefcase:before { - content:'\e024'; -} - -.fi-british-pound:before { - content:'\e025'; -} - -.fi-browser:before { - content:'\e026'; -} - -.fi-brush:before { - content:'\e027'; -} - -.fi-bug:before { - content:'\e028'; -} - -.fi-bullhorn:before { - content:'\e029'; -} - -.fi-calculator:before { - content:'\e02a'; -} - -.fi-calendar:before { - content:'\e02b'; -} - -.fi-camera-slr:before { - content:'\e02c'; -} - -.fi-caret-bottom:before { - content:'\e02d'; -} - -.fi-caret-left:before { - content:'\e02e'; -} - -.fi-caret-right:before { - content:'\e02f'; -} - -.fi-caret-top:before { - content:'\e030'; -} - -.fi-cart:before { - content:'\e031'; -} - -.fi-chat:before { - content:'\e032'; -} - -.fi-check:before { - content:'\e033'; -} - -.fi-chevron-bottom:before { - content:'\e034'; -} - -.fi-chevron-left:before { - content:'\e035'; -} - -.fi-chevron-right:before { - content:'\e036'; -} - -.fi-chevron-top:before { - content:'\e037'; -} - -.fi-circle-check:before { - content:'\e038'; -} - -.fi-circle-x:before { - content:'\e039'; -} - -.fi-clipboard:before { - content:'\e03a'; -} - -.fi-clock:before { - content:'\e03b'; -} - -.fi-cloud-download:before { - content:'\e03c'; -} - -.fi-cloud-upload:before { - content:'\e03d'; -} - -.fi-cloud:before { - content:'\e03e'; -} - -.fi-cloudy:before { - content:'\e03f'; -} - -.fi-code:before { - content:'\e040'; -} - -.fi-cog:before { - content:'\e041'; -} - -.fi-collapse-down:before { - content:'\e042'; -} - -.fi-collapse-left:before { - content:'\e043'; -} - -.fi-collapse-right:before { - content:'\e044'; -} - -.fi-collapse-up:before { - content:'\e045'; -} - -.fi-command:before { - content:'\e046'; -} - -.fi-comment-square:before { - content:'\e047'; -} - -.fi-compass:before { - content:'\e048'; -} - -.fi-contrast:before { - content:'\e049'; -} - -.fi-copywriting:before { - content:'\e04a'; -} - -.fi-credit-card:before { - content:'\e04b'; -} - -.fi-crop:before { - content:'\e04c'; -} - -.fi-dashboard:before { - content:'\e04d'; -} - -.fi-data-transfer-download:before { - content:'\e04e'; -} - -.fi-data-transfer-upload:before { - content:'\e04f'; -} - -.fi-delete:before { - content:'\e050'; -} - -.fi-dial:before { - content:'\e051'; -} - -.fi-document:before { - content:'\e052'; -} - -.fi-dollar:before { - content:'\e053'; -} - -.fi-double-quote-sans-left:before { - content:'\e054'; -} - -.fi-double-quote-sans-right:before { - content:'\e055'; -} - -.fi-double-quote-serif-left:before { - content:'\e056'; -} - -.fi-double-quote-serif-right:before { - content:'\e057'; -} - -.fi-droplet:before { - content:'\e058'; -} - -.fi-eject:before { - content:'\e059'; -} - -.fi-elevator:before { - content:'\e05a'; -} - -.fi-ellipses:before { - content:'\e05b'; -} - -.fi-envelope-closed:before { - content:'\e05c'; -} - -.fi-envelope-open:before { - content:'\e05d'; -} - -.fi-euro:before { - content:'\e05e'; -} - -.fi-excerpt:before { - content:'\e05f'; -} - -.fi-expand-down:before { - content:'\e060'; -} - -.fi-expand-left:before { - content:'\e061'; -} - -.fi-expand-right:before { - content:'\e062'; -} - -.fi-expand-up:before { - content:'\e063'; -} - -.fi-external-link:before { - content:'\e064'; -} - -.fi-eye:before { - content:'\e065'; -} - -.fi-eyedropper:before { - content:'\e066'; -} - -.fi-file:before { - content:'\e067'; -} - -.fi-fire:before { - content:'\e068'; -} - -.fi-flag:before { - content:'\e069'; -} - -.fi-flash:before { - content:'\e06a'; -} - -.fi-folder:before { - content:'\e06b'; -} - -.fi-fork:before { - content:'\e06c'; -} - -.fi-fullscreen-enter:before { - content:'\e06d'; -} - -.fi-fullscreen-exit:before { - content:'\e06e'; -} - -.fi-globe:before { - content:'\e06f'; -} - -.fi-graph:before { - content:'\e070'; -} - -.fi-grid-four-up:before { - content:'\e071'; -} - -.fi-grid-three-up:before { - content:'\e072'; -} - -.fi-grid-two-up:before { - content:'\e073'; -} - -.fi-hard-drive:before { - content:'\e074'; -} - -.fi-header:before { - content:'\e075'; -} - -.fi-headphones:before { - content:'\e076'; -} - -.fi-heart:before { - content:'\e077'; -} - -.fi-home:before { - content:'\e078'; -} - -.fi-image:before { - content:'\e079'; -} - -.fi-inbox:before { - content:'\e07a'; -} - -.fi-infinity:before { - content:'\e07b'; -} - -.fi-info:before { - content:'\e07c'; -} - -.fi-italic:before { - content:'\e07d'; -} - -.fi-justify-center:before { - content:'\e07e'; -} - -.fi-justify-left:before { - content:'\e07f'; -} - -.fi-justify-right:before { - content:'\e080'; -} - -.fi-key:before { - content:'\e081'; -} - -.fi-laptop:before { - content:'\e082'; -} - -.fi-layers:before { - content:'\e083'; -} - -.fi-lightbulb:before { - content:'\e084'; -} - -.fi-link-broken:before { - content:'\e085'; -} - -.fi-link-intact:before { - content:'\e086'; -} - -.fi-list-rich:before { - content:'\e087'; -} - -.fi-list:before { - content:'\e088'; -} - -.fi-location:before { - content:'\e089'; -} - -.fi-lock-locked:before { - content:'\e08a'; -} - -.fi-lock-unlocked:before { - content:'\e08b'; -} - -.fi-loop-circular:before { - content:'\e08c'; -} - -.fi-loop-square:before { - content:'\e08d'; -} - -.fi-loop:before { - content:'\e08e'; -} - -.fi-magnifying-glass:before { - content:'\e08f'; -} - -.fi-map-marker:before { - content:'\e090'; -} - -.fi-map:before { - content:'\e091'; -} - -.fi-media-pause:before { - content:'\e092'; -} - -.fi-media-play:before { - content:'\e093'; -} - -.fi-media-record:before { - content:'\e094'; -} - -.fi-media-skip-backward:before { - content:'\e095'; -} - -.fi-media-skip-forward:before { - content:'\e096'; -} - -.fi-media-step-backward:before { - content:'\e097'; -} - -.fi-media-step-forward:before { - content:'\e098'; -} - -.fi-media-stop:before { - content:'\e099'; -} - -.fi-medical-cross:before { - content:'\e09a'; -} - -.fi-menu:before { - content:'\e09b'; -} - -.fi-microphone:before { - content:'\e09c'; -} - -.fi-minus:before { - content:'\e09d'; -} - -.fi-monitor:before { - content:'\e09e'; -} - -.fi-moon:before { - content:'\e09f'; -} - -.fi-move:before { - content:'\e0a0'; -} - -.fi-musical-note:before { - content:'\e0a1'; -} - -.fi-paperclip:before { - content:'\e0a2'; -} - -.fi-pencil:before { - content:'\e0a3'; -} - -.fi-people:before { - content:'\e0a4'; -} - -.fi-person:before { - content:'\e0a5'; -} - -.fi-phone:before { - content:'\e0a6'; -} - -.fi-pie-chart:before { - content:'\e0a7'; -} - -.fi-pin:before { - content:'\e0a8'; -} - -.fi-play-circle:before { - content:'\e0a9'; -} - -.fi-plus:before { - content:'\e0aa'; -} - -.fi-power-standby:before { - content:'\e0ab'; -} - -.fi-print:before { - content:'\e0ac'; -} - -.fi-project:before { - content:'\e0ad'; -} - -.fi-pulse:before { - content:'\e0ae'; -} - -.fi-puzzle-piece:before { - content:'\e0af'; -} - -.fi-question-mark:before { - content:'\e0b0'; -} - -.fi-rain:before { - content:'\e0b1'; -} - -.fi-random:before { - content:'\e0b2'; -} - -.fi-reload:before { - content:'\e0b3'; -} - -.fi-resize-both:before { - content:'\e0b4'; -} - -.fi-resize-height:before { - content:'\e0b5'; -} - -.fi-resize-width:before { - content:'\e0b6'; -} - -.fi-rss-alt:before { - content:'\e0b7'; -} - -.fi-rss:before { - content:'\e0b8'; -} - -.fi-script:before { - content:'\e0b9'; -} - -.fi-share-boxed:before { - content:'\e0ba'; -} - -.fi-share:before { - content:'\e0bb'; -} - -.fi-shield:before { - content:'\e0bc'; -} - -.fi-signal:before { - content:'\e0bd'; -} - -.fi-signpost:before { - content:'\e0be'; -} - -.fi-sort-ascending:before { - content:'\e0bf'; -} - -.fi-sort-descending:before { - content:'\e0c0'; -} - -.fi-spreadsheet:before { - content:'\e0c1'; -} - -.fi-star:before { - content:'\e0c2'; -} - -.fi-sun:before { - content:'\e0c3'; -} - -.fi-tablet:before { - content:'\e0c4'; -} - -.fi-tag:before { - content:'\e0c5'; -} - -.fi-tags:before { - content:'\e0c6'; -} - -.fi-target:before { - content:'\e0c7'; -} - -.fi-task:before { - content:'\e0c8'; -} - -.fi-terminal:before { - content:'\e0c9'; -} - -.fi-text:before { - content:'\e0ca'; -} - -.fi-thumb-down:before { - content:'\e0cb'; -} - -.fi-thumb-up:before { - content:'\e0cc'; -} - -.fi-timer:before { - content:'\e0cd'; -} - -.fi-transfer:before { - content:'\e0ce'; -} - -.fi-trash:before { - content:'\e0cf'; -} - -.fi-underline:before { - content:'\e0d0'; -} - -.fi-vertical-align-bottom:before { - content:'\e0d1'; -} - -.fi-vertical-align-center:before { - content:'\e0d2'; -} - -.fi-vertical-align-top:before { - content:'\e0d3'; -} - -.fi-video:before { - content:'\e0d4'; -} - -.fi-volume-high:before { - content:'\e0d5'; -} - -.fi-volume-low:before { - content:'\e0d6'; -} - -.fi-volume-off:before { - content:'\e0d7'; -} - -.fi-warning:before { - content:'\e0d8'; -} - -.fi-wifi:before { - content:'\e0d9'; -} - -.fi-wrench:before { - content:'\e0da'; -} - -.fi-x:before { - content:'\e0db'; -} - -.fi-yen:before { - content:'\e0dc'; -} - -.fi-zoom-in:before { - content:'\e0dd'; -} - -.fi-zoom-out:before { - content:'\e0de'; -} - diff --git a/app/open-iconic/font/css/open-iconic-foundation.styl b/app/open-iconic/font/css/open-iconic-foundation.styl deleted file mode 100755 index a52637a..0000000 --- a/app/open-iconic/font/css/open-iconic-foundation.styl +++ /dev/null @@ -1,1392 +0,0 @@ -/* Foundation */ - -@font-face - font-family 'Icons' - src url('../fonts/open-iconic.eot') - src url('../fonts/open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('../fonts/open-iconic.woff') format('woff'), url('../fonts/open-iconic.ttf') format('truetype'), url('../fonts/open-iconic.otf') format('opentype'), url('../fonts/open-iconic.svg#iconic-sm') format('svg') - font-weight normal - font-style normal - - - -.fi-account-loginbefore, - -.fi-account-logoutbefore, - -.fi-action-redobefore, - -.fi-action-undobefore, - -.fi-align-centerbefore, - -.fi-align-leftbefore, - -.fi-align-rightbefore, - -.fi-aperturebefore, - -.fi-arrow-bottombefore, - -.fi-arrow-circle-bottombefore, - -.fi-arrow-circle-leftbefore, - -.fi-arrow-circle-rightbefore, - -.fi-arrow-circle-topbefore, - -.fi-arrow-leftbefore, - -.fi-arrow-rightbefore, - -.fi-arrow-thick-bottombefore, - -.fi-arrow-thick-leftbefore, - -.fi-arrow-thick-rightbefore, - -.fi-arrow-thick-topbefore, - -.fi-arrow-topbefore, - -.fi-audio-spectrumbefore, - -.fi-audiobefore, - -.fi-badgebefore, - -.fi-banbefore, - -.fi-bar-chartbefore, - -.fi-basketbefore, - -.fi-battery-emptybefore, - -.fi-battery-fullbefore, - -.fi-beakerbefore, - -.fi-bellbefore, - -.fi-bluetoothbefore, - -.fi-boldbefore, - -.fi-boltbefore, - -.fi-bookbefore, - -.fi-bookmarkbefore, - -.fi-boxbefore, - -.fi-briefcasebefore, - -.fi-british-poundbefore, - -.fi-browserbefore, - -.fi-brushbefore, - -.fi-bugbefore, - -.fi-bullhornbefore, - -.fi-calculatorbefore, - -.fi-calendarbefore, - -.fi-camera-slrbefore, - -.fi-caret-bottombefore, - -.fi-caret-leftbefore, - -.fi-caret-rightbefore, - -.fi-caret-topbefore, - -.fi-cartbefore, - -.fi-chatbefore, - -.fi-checkbefore, - -.fi-chevron-bottombefore, - -.fi-chevron-leftbefore, - -.fi-chevron-rightbefore, - -.fi-chevron-topbefore, - -.fi-circle-checkbefore, - -.fi-circle-xbefore, - -.fi-clipboardbefore, - -.fi-clockbefore, - -.fi-cloud-downloadbefore, - -.fi-cloud-uploadbefore, - -.fi-cloudbefore, - -.fi-cloudybefore, - -.fi-codebefore, - -.fi-cogbefore, - -.fi-collapse-downbefore, - -.fi-collapse-leftbefore, - -.fi-collapse-rightbefore, - -.fi-collapse-upbefore, - -.fi-commandbefore, - -.fi-comment-squarebefore, - -.fi-compassbefore, - -.fi-contrastbefore, - -.fi-copywritingbefore, - -.fi-credit-cardbefore, - -.fi-cropbefore, - -.fi-dashboardbefore, - -.fi-data-transfer-downloadbefore, - -.fi-data-transfer-uploadbefore, - -.fi-deletebefore, - -.fi-dialbefore, - -.fi-documentbefore, - -.fi-dollarbefore, - -.fi-double-quote-sans-leftbefore, - -.fi-double-quote-sans-rightbefore, - -.fi-double-quote-serif-leftbefore, - -.fi-double-quote-serif-rightbefore, - -.fi-dropletbefore, - -.fi-ejectbefore, - -.fi-elevatorbefore, - -.fi-ellipsesbefore, - -.fi-envelope-closedbefore, - -.fi-envelope-openbefore, - -.fi-eurobefore, - -.fi-excerptbefore, - -.fi-expand-downbefore, - -.fi-expand-leftbefore, - -.fi-expand-rightbefore, - -.fi-expand-upbefore, - -.fi-external-linkbefore, - -.fi-eyebefore, - -.fi-eyedropperbefore, - -.fi-filebefore, - -.fi-firebefore, - -.fi-flagbefore, - -.fi-flashbefore, - -.fi-folderbefore, - -.fi-forkbefore, - -.fi-fullscreen-enterbefore, - -.fi-fullscreen-exitbefore, - -.fi-globebefore, - -.fi-graphbefore, - -.fi-grid-four-upbefore, - -.fi-grid-three-upbefore, - -.fi-grid-two-upbefore, - -.fi-hard-drivebefore, - -.fi-headerbefore, - -.fi-headphonesbefore, - -.fi-heartbefore, - -.fi-homebefore, - -.fi-imagebefore, - -.fi-inboxbefore, - -.fi-infinitybefore, - -.fi-infobefore, - -.fi-italicbefore, - -.fi-justify-centerbefore, - -.fi-justify-leftbefore, - -.fi-justify-rightbefore, - -.fi-keybefore, - -.fi-laptopbefore, - -.fi-layersbefore, - -.fi-lightbulbbefore, - -.fi-link-brokenbefore, - -.fi-link-intactbefore, - -.fi-list-richbefore, - -.fi-listbefore, - -.fi-locationbefore, - -.fi-lock-lockedbefore, - -.fi-lock-unlockedbefore, - -.fi-loop-circularbefore, - -.fi-loop-squarebefore, - -.fi-loopbefore, - -.fi-magnifying-glassbefore, - -.fi-map-markerbefore, - -.fi-mapbefore, - -.fi-media-pausebefore, - -.fi-media-playbefore, - -.fi-media-recordbefore, - -.fi-media-skip-backwardbefore, - -.fi-media-skip-forwardbefore, - -.fi-media-step-backwardbefore, - -.fi-media-step-forwardbefore, - -.fi-media-stopbefore, - -.fi-medical-crossbefore, - -.fi-menubefore, - -.fi-microphonebefore, - -.fi-minusbefore, - -.fi-monitorbefore, - -.fi-moonbefore, - -.fi-movebefore, - -.fi-musical-notebefore, - -.fi-paperclipbefore, - -.fi-pencilbefore, - -.fi-peoplebefore, - -.fi-personbefore, - -.fi-phonebefore, - -.fi-pie-chartbefore, - -.fi-pinbefore, - -.fi-play-circlebefore, - -.fi-plusbefore, - -.fi-power-standbybefore, - -.fi-printbefore, - -.fi-projectbefore, - -.fi-pulsebefore, - -.fi-puzzle-piecebefore, - -.fi-question-markbefore, - -.fi-rainbefore, - -.fi-randombefore, - -.fi-reloadbefore, - -.fi-resize-bothbefore, - -.fi-resize-heightbefore, - -.fi-resize-widthbefore, - -.fi-rss-altbefore, - -.fi-rssbefore, - -.fi-scriptbefore, - -.fi-share-boxedbefore, - -.fi-sharebefore, - -.fi-shieldbefore, - -.fi-signalbefore, - -.fi-signpostbefore, - -.fi-sort-ascendingbefore, - -.fi-sort-descendingbefore, - -.fi-spreadsheetbefore, - -.fi-starbefore, - -.fi-sunbefore, - -.fi-tabletbefore, - -.fi-tagbefore, - -.fi-tagsbefore, - -.fi-targetbefore, - -.fi-taskbefore, - -.fi-terminalbefore, - -.fi-textbefore, - -.fi-thumb-downbefore, - -.fi-thumb-upbefore, - -.fi-timerbefore, - -.fi-transferbefore, - -.fi-trashbefore, - -.fi-underlinebefore, - -.fi-vertical-align-bottombefore, - -.fi-vertical-align-centerbefore, - -.fi-vertical-align-topbefore, - -.fi-videobefore, - -.fi-volume-highbefore, - -.fi-volume-lowbefore, - -.fi-volume-offbefore, - -.fi-warningbefore, - -.fi-wifibefore, - -.fi-wrenchbefore, - -.fi-xbefore, - -.fi-yenbefore, - -.fi-zoom-inbefore, - -.fi-zoom-outbefore - - font-family 'Icons' - font-style normal - font-weight normal - font-variant normal - text-transform none - line-height 1 - -webkit-font-smoothing antialiased - -moz-osx-font-smoothing grayscale - display inline-block - text-decoration inherit - - -[class*='fi-'].oi-align-center:before - text-align center - - -[class*='fi-'].oi-align-left:before - text-align left - - -[class*='fi-'].oi-align-right:before - text-align right - - - -[class*='fi-'].oi-flip-horizontal:before - -webkit-transform scale(-1, 1) - -ms-transform scale(-1, 1) - transform scale(-1, 1) - - -[class*='fi-'].oi-flip-vertical:before - -webkit-transform scale(1, -1) - -ms-transform scale(-1, 1) - transform scale(1, -1) - - -[class*='fi-'].oi-flip-horizontal-vertical:before - -webkit-transform scale(-1, -1) - -ms-transform scale(-1, 1) - transform scale(-1, -1) - - -.fi-account-login:before - content'\e000' - - -.fi-account-logout:before - content'\e001' - - -.fi-action-redo:before - content'\e002' - - -.fi-action-undo:before - content'\e003' - - -.fi-align-center:before - content'\e004' - - -.fi-align-left:before - content'\e005' - - -.fi-align-right:before - content'\e006' - - -.fi-aperture:before - content'\e007' - - -.fi-arrow-bottom:before - content'\e008' - - -.fi-arrow-circle-bottom:before - content'\e009' - - -.fi-arrow-circle-left:before - content'\e00a' - - -.fi-arrow-circle-right:before - content'\e00b' - - -.fi-arrow-circle-top:before - content'\e00c' - - -.fi-arrow-left:before - content'\e00d' - - -.fi-arrow-right:before - content'\e00e' - - -.fi-arrow-thick-bottom:before - content'\e00f' - - -.fi-arrow-thick-left:before - content'\e010' - - -.fi-arrow-thick-right:before - content'\e011' - - -.fi-arrow-thick-top:before - content'\e012' - - -.fi-arrow-top:before - content'\e013' - - -.fi-audio-spectrum:before - content'\e014' - - -.fi-audio:before - content'\e015' - - -.fi-badge:before - content'\e016' - - -.fi-ban:before - content'\e017' - - -.fi-bar-chart:before - content'\e018' - - -.fi-basket:before - content'\e019' - - -.fi-battery-empty:before - content'\e01a' - - -.fi-battery-full:before - content'\e01b' - - -.fi-beaker:before - content'\e01c' - - -.fi-bell:before - content'\e01d' - - -.fi-bluetooth:before - content'\e01e' - - -.fi-bold:before - content'\e01f' - - -.fi-bolt:before - content'\e020' - - -.fi-book:before - content'\e021' - - -.fi-bookmark:before - content'\e022' - - -.fi-box:before - content'\e023' - - -.fi-briefcase:before - content'\e024' - - -.fi-british-pound:before - content'\e025' - - -.fi-browser:before - content'\e026' - - -.fi-brush:before - content'\e027' - - -.fi-bug:before - content'\e028' - - -.fi-bullhorn:before - content'\e029' - - -.fi-calculator:before - content'\e02a' - - -.fi-calendar:before - content'\e02b' - - -.fi-camera-slr:before - content'\e02c' - - -.fi-caret-bottom:before - content'\e02d' - - -.fi-caret-left:before - content'\e02e' - - -.fi-caret-right:before - content'\e02f' - - -.fi-caret-top:before - content'\e030' - - -.fi-cart:before - content'\e031' - - -.fi-chat:before - content'\e032' - - -.fi-check:before - content'\e033' - - -.fi-chevron-bottom:before - content'\e034' - - -.fi-chevron-left:before - content'\e035' - - -.fi-chevron-right:before - content'\e036' - - -.fi-chevron-top:before - content'\e037' - - -.fi-circle-check:before - content'\e038' - - -.fi-circle-x:before - content'\e039' - - -.fi-clipboard:before - content'\e03a' - - -.fi-clock:before - content'\e03b' - - -.fi-cloud-download:before - content'\e03c' - - -.fi-cloud-upload:before - content'\e03d' - - -.fi-cloud:before - content'\e03e' - - -.fi-cloudy:before - content'\e03f' - - -.fi-code:before - content'\e040' - - -.fi-cog:before - content'\e041' - - -.fi-collapse-down:before - content'\e042' - - -.fi-collapse-left:before - content'\e043' - - -.fi-collapse-right:before - content'\e044' - - -.fi-collapse-up:before - content'\e045' - - -.fi-command:before - content'\e046' - - -.fi-comment-square:before - content'\e047' - - -.fi-compass:before - content'\e048' - - -.fi-contrast:before - content'\e049' - - -.fi-copywriting:before - content'\e04a' - - -.fi-credit-card:before - content'\e04b' - - -.fi-crop:before - content'\e04c' - - -.fi-dashboard:before - content'\e04d' - - -.fi-data-transfer-download:before - content'\e04e' - - -.fi-data-transfer-upload:before - content'\e04f' - - -.fi-delete:before - content'\e050' - - -.fi-dial:before - content'\e051' - - -.fi-document:before - content'\e052' - - -.fi-dollar:before - content'\e053' - - -.fi-double-quote-sans-left:before - content'\e054' - - -.fi-double-quote-sans-right:before - content'\e055' - - -.fi-double-quote-serif-left:before - content'\e056' - - -.fi-double-quote-serif-right:before - content'\e057' - - -.fi-droplet:before - content'\e058' - - -.fi-eject:before - content'\e059' - - -.fi-elevator:before - content'\e05a' - - -.fi-ellipses:before - content'\e05b' - - -.fi-envelope-closed:before - content'\e05c' - - -.fi-envelope-open:before - content'\e05d' - - -.fi-euro:before - content'\e05e' - - -.fi-excerpt:before - content'\e05f' - - -.fi-expand-down:before - content'\e060' - - -.fi-expand-left:before - content'\e061' - - -.fi-expand-right:before - content'\e062' - - -.fi-expand-up:before - content'\e063' - - -.fi-external-link:before - content'\e064' - - -.fi-eye:before - content'\e065' - - -.fi-eyedropper:before - content'\e066' - - -.fi-file:before - content'\e067' - - -.fi-fire:before - content'\e068' - - -.fi-flag:before - content'\e069' - - -.fi-flash:before - content'\e06a' - - -.fi-folder:before - content'\e06b' - - -.fi-fork:before - content'\e06c' - - -.fi-fullscreen-enter:before - content'\e06d' - - -.fi-fullscreen-exit:before - content'\e06e' - - -.fi-globe:before - content'\e06f' - - -.fi-graph:before - content'\e070' - - -.fi-grid-four-up:before - content'\e071' - - -.fi-grid-three-up:before - content'\e072' - - -.fi-grid-two-up:before - content'\e073' - - -.fi-hard-drive:before - content'\e074' - - -.fi-header:before - content'\e075' - - -.fi-headphones:before - content'\e076' - - -.fi-heart:before - content'\e077' - - -.fi-home:before - content'\e078' - - -.fi-image:before - content'\e079' - - -.fi-inbox:before - content'\e07a' - - -.fi-infinity:before - content'\e07b' - - -.fi-info:before - content'\e07c' - - -.fi-italic:before - content'\e07d' - - -.fi-justify-center:before - content'\e07e' - - -.fi-justify-left:before - content'\e07f' - - -.fi-justify-right:before - content'\e080' - - -.fi-key:before - content'\e081' - - -.fi-laptop:before - content'\e082' - - -.fi-layers:before - content'\e083' - - -.fi-lightbulb:before - content'\e084' - - -.fi-link-broken:before - content'\e085' - - -.fi-link-intact:before - content'\e086' - - -.fi-list-rich:before - content'\e087' - - -.fi-list:before - content'\e088' - - -.fi-location:before - content'\e089' - - -.fi-lock-locked:before - content'\e08a' - - -.fi-lock-unlocked:before - content'\e08b' - - -.fi-loop-circular:before - content'\e08c' - - -.fi-loop-square:before - content'\e08d' - - -.fi-loop:before - content'\e08e' - - -.fi-magnifying-glass:before - content'\e08f' - - -.fi-map-marker:before - content'\e090' - - -.fi-map:before - content'\e091' - - -.fi-media-pause:before - content'\e092' - - -.fi-media-play:before - content'\e093' - - -.fi-media-record:before - content'\e094' - - -.fi-media-skip-backward:before - content'\e095' - - -.fi-media-skip-forward:before - content'\e096' - - -.fi-media-step-backward:before - content'\e097' - - -.fi-media-step-forward:before - content'\e098' - - -.fi-media-stop:before - content'\e099' - - -.fi-medical-cross:before - content'\e09a' - - -.fi-menu:before - content'\e09b' - - -.fi-microphone:before - content'\e09c' - - -.fi-minus:before - content'\e09d' - - -.fi-monitor:before - content'\e09e' - - -.fi-moon:before - content'\e09f' - - -.fi-move:before - content'\e0a0' - - -.fi-musical-note:before - content'\e0a1' - - -.fi-paperclip:before - content'\e0a2' - - -.fi-pencil:before - content'\e0a3' - - -.fi-people:before - content'\e0a4' - - -.fi-person:before - content'\e0a5' - - -.fi-phone:before - content'\e0a6' - - -.fi-pie-chart:before - content'\e0a7' - - -.fi-pin:before - content'\e0a8' - - -.fi-play-circle:before - content'\e0a9' - - -.fi-plus:before - content'\e0aa' - - -.fi-power-standby:before - content'\e0ab' - - -.fi-print:before - content'\e0ac' - - -.fi-project:before - content'\e0ad' - - -.fi-pulse:before - content'\e0ae' - - -.fi-puzzle-piece:before - content'\e0af' - - -.fi-question-mark:before - content'\e0b0' - - -.fi-rain:before - content'\e0b1' - - -.fi-random:before - content'\e0b2' - - -.fi-reload:before - content'\e0b3' - - -.fi-resize-both:before - content'\e0b4' - - -.fi-resize-height:before - content'\e0b5' - - -.fi-resize-width:before - content'\e0b6' - - -.fi-rss-alt:before - content'\e0b7' - - -.fi-rss:before - content'\e0b8' - - -.fi-script:before - content'\e0b9' - - -.fi-share-boxed:before - content'\e0ba' - - -.fi-share:before - content'\e0bb' - - -.fi-shield:before - content'\e0bc' - - -.fi-signal:before - content'\e0bd' - - -.fi-signpost:before - content'\e0be' - - -.fi-sort-ascending:before - content'\e0bf' - - -.fi-sort-descending:before - content'\e0c0' - - -.fi-spreadsheet:before - content'\e0c1' - - -.fi-star:before - content'\e0c2' - - -.fi-sun:before - content'\e0c3' - - -.fi-tablet:before - content'\e0c4' - - -.fi-tag:before - content'\e0c5' - - -.fi-tags:before - content'\e0c6' - - -.fi-target:before - content'\e0c7' - - -.fi-task:before - content'\e0c8' - - -.fi-terminal:before - content'\e0c9' - - -.fi-text:before - content'\e0ca' - - -.fi-thumb-down:before - content'\e0cb' - - -.fi-thumb-up:before - content'\e0cc' - - -.fi-timer:before - content'\e0cd' - - -.fi-transfer:before - content'\e0ce' - - -.fi-trash:before - content'\e0cf' - - -.fi-underline:before - content'\e0d0' - - -.fi-vertical-align-bottom:before - content'\e0d1' - - -.fi-vertical-align-center:before - content'\e0d2' - - -.fi-vertical-align-top:before - content'\e0d3' - - -.fi-video:before - content'\e0d4' - - -.fi-volume-high:before - content'\e0d5' - - -.fi-volume-low:before - content'\e0d6' - - -.fi-volume-off:before - content'\e0d7' - - -.fi-warning:before - content'\e0d8' - - -.fi-wifi:before - content'\e0d9' - - -.fi-wrench:before - content'\e0da' - - -.fi-x:before - content'\e0db' - - -.fi-yen:before - content'\e0dc' - - -.fi-zoom-in:before - content'\e0dd' - - -.fi-zoom-out:before - content'\e0de' - - diff --git a/app/open-iconic/font/css/open-iconic.css b/app/open-iconic/font/css/open-iconic.css deleted file mode 100755 index 301a138..0000000 --- a/app/open-iconic/font/css/open-iconic.css +++ /dev/null @@ -1,511 +0,0 @@ - -@font-face { - font-family: 'Icons'; - src: url('../fonts/open-iconic.eot'); - src: url('../fonts/open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('../fonts/open-iconic.woff') format('woff'), url('../fonts/open-iconic.ttf') format('truetype'), url('../fonts/open-iconic.otf') format('opentype'), url('../fonts/open-iconic.svg#iconic-sm') format('svg'); - font-weight: normal; - font-style: normal; -} - -.oi[data-glyph].oi-text-replace { - font-size: 0; - line-height: 0; -} - -.oi[data-glyph].oi-text-replace:before { - width: 1em; - text-align: center; -} - -.oi[data-glyph]:before { - font-family: 'Icons'; - display: inline-block; - speak: none; - line-height: 1; - vertical-align: baseline; - font-weight: normal; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.oi[data-glyph]:empty:before { - width: 1em; - text-align: center; - box-sizing: content-box; -} - -.oi[data-glyph].oi-align-left:before { - text-align: left; -} - -.oi[data-glyph].oi-align-right:before { - text-align: right; -} - -.oi[data-glyph].oi-align-center:before { - text-align: center; -} - -.oi[data-glyph].oi-flip-horizontal:before { - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.oi[data-glyph].oi-flip-vertical:before { - -webkit-transform: scale(1, -1); - -ms-transform: scale(-1, 1); - transform: scale(1, -1); -} -.oi[data-glyph].oi-flip-horizontal-vertical:before { - -webkit-transform: scale(-1, -1); - -ms-transform: scale(-1, 1); - transform: scale(-1, -1); -} - - -.oi[data-glyph=account-login]:before { content:'\e000'; } - -.oi[data-glyph=account-logout]:before { content:'\e001'; } - -.oi[data-glyph=action-redo]:before { content:'\e002'; } - -.oi[data-glyph=action-undo]:before { content:'\e003'; } - -.oi[data-glyph=align-center]:before { content:'\e004'; } - -.oi[data-glyph=align-left]:before { content:'\e005'; } - -.oi[data-glyph=align-right]:before { content:'\e006'; } - -.oi[data-glyph=aperture]:before { content:'\e007'; } - -.oi[data-glyph=arrow-bottom]:before { content:'\e008'; } - -.oi[data-glyph=arrow-circle-bottom]:before { content:'\e009'; } - -.oi[data-glyph=arrow-circle-left]:before { content:'\e00a'; } - -.oi[data-glyph=arrow-circle-right]:before { content:'\e00b'; } - -.oi[data-glyph=arrow-circle-top]:before { content:'\e00c'; } - -.oi[data-glyph=arrow-left]:before { content:'\e00d'; } - -.oi[data-glyph=arrow-right]:before { content:'\e00e'; } - -.oi[data-glyph=arrow-thick-bottom]:before { content:'\e00f'; } - -.oi[data-glyph=arrow-thick-left]:before { content:'\e010'; } - -.oi[data-glyph=arrow-thick-right]:before { content:'\e011'; } - -.oi[data-glyph=arrow-thick-top]:before { content:'\e012'; } - -.oi[data-glyph=arrow-top]:before { content:'\e013'; } - -.oi[data-glyph=audio-spectrum]:before { content:'\e014'; } - -.oi[data-glyph=audio]:before { content:'\e015'; } - -.oi[data-glyph=badge]:before { content:'\e016'; } - -.oi[data-glyph=ban]:before { content:'\e017'; } - -.oi[data-glyph=bar-chart]:before { content:'\e018'; } - -.oi[data-glyph=basket]:before { content:'\e019'; } - -.oi[data-glyph=battery-empty]:before { content:'\e01a'; } - -.oi[data-glyph=battery-full]:before { content:'\e01b'; } - -.oi[data-glyph=beaker]:before { content:'\e01c'; } - -.oi[data-glyph=bell]:before { content:'\e01d'; } - -.oi[data-glyph=bluetooth]:before { content:'\e01e'; } - -.oi[data-glyph=bold]:before { content:'\e01f'; } - -.oi[data-glyph=bolt]:before { content:'\e020'; } - -.oi[data-glyph=book]:before { content:'\e021'; } - -.oi[data-glyph=bookmark]:before { content:'\e022'; } - -.oi[data-glyph=box]:before { content:'\e023'; } - -.oi[data-glyph=briefcase]:before { content:'\e024'; } - -.oi[data-glyph=british-pound]:before { content:'\e025'; } - -.oi[data-glyph=browser]:before { content:'\e026'; } - -.oi[data-glyph=brush]:before { content:'\e027'; } - -.oi[data-glyph=bug]:before { content:'\e028'; } - -.oi[data-glyph=bullhorn]:before { content:'\e029'; } - -.oi[data-glyph=calculator]:before { content:'\e02a'; } - -.oi[data-glyph=calendar]:before { content:'\e02b'; } - -.oi[data-glyph=camera-slr]:before { content:'\e02c'; } - -.oi[data-glyph=caret-bottom]:before { content:'\e02d'; } - -.oi[data-glyph=caret-left]:before { content:'\e02e'; } - -.oi[data-glyph=caret-right]:before { content:'\e02f'; } - -.oi[data-glyph=caret-top]:before { content:'\e030'; } - -.oi[data-glyph=cart]:before { content:'\e031'; } - -.oi[data-glyph=chat]:before { content:'\e032'; } - -.oi[data-glyph=check]:before { content:'\e033'; } - -.oi[data-glyph=chevron-bottom]:before { content:'\e034'; } - -.oi[data-glyph=chevron-left]:before { content:'\e035'; } - -.oi[data-glyph=chevron-right]:before { content:'\e036'; } - -.oi[data-glyph=chevron-top]:before { content:'\e037'; } - -.oi[data-glyph=circle-check]:before { content:'\e038'; } - -.oi[data-glyph=circle-x]:before { content:'\e039'; } - -.oi[data-glyph=clipboard]:before { content:'\e03a'; } - -.oi[data-glyph=clock]:before { content:'\e03b'; } - -.oi[data-glyph=cloud-download]:before { content:'\e03c'; } - -.oi[data-glyph=cloud-upload]:before { content:'\e03d'; } - -.oi[data-glyph=cloud]:before { content:'\e03e'; } - -.oi[data-glyph=cloudy]:before { content:'\e03f'; } - -.oi[data-glyph=code]:before { content:'\e040'; } - -.oi[data-glyph=cog]:before { content:'\e041'; } - -.oi[data-glyph=collapse-down]:before { content:'\e042'; } - -.oi[data-glyph=collapse-left]:before { content:'\e043'; } - -.oi[data-glyph=collapse-right]:before { content:'\e044'; } - -.oi[data-glyph=collapse-up]:before { content:'\e045'; } - -.oi[data-glyph=command]:before { content:'\e046'; } - -.oi[data-glyph=comment-square]:before { content:'\e047'; } - -.oi[data-glyph=compass]:before { content:'\e048'; } - -.oi[data-glyph=contrast]:before { content:'\e049'; } - -.oi[data-glyph=copywriting]:before { content:'\e04a'; } - -.oi[data-glyph=credit-card]:before { content:'\e04b'; } - -.oi[data-glyph=crop]:before { content:'\e04c'; } - -.oi[data-glyph=dashboard]:before { content:'\e04d'; } - -.oi[data-glyph=data-transfer-download]:before { content:'\e04e'; } - -.oi[data-glyph=data-transfer-upload]:before { content:'\e04f'; } - -.oi[data-glyph=delete]:before { content:'\e050'; } - -.oi[data-glyph=dial]:before { content:'\e051'; } - -.oi[data-glyph=document]:before { content:'\e052'; } - -.oi[data-glyph=dollar]:before { content:'\e053'; } - -.oi[data-glyph=double-quote-sans-left]:before { content:'\e054'; } - -.oi[data-glyph=double-quote-sans-right]:before { content:'\e055'; } - -.oi[data-glyph=double-quote-serif-left]:before { content:'\e056'; } - -.oi[data-glyph=double-quote-serif-right]:before { content:'\e057'; } - -.oi[data-glyph=droplet]:before { content:'\e058'; } - -.oi[data-glyph=eject]:before { content:'\e059'; } - -.oi[data-glyph=elevator]:before { content:'\e05a'; } - -.oi[data-glyph=ellipses]:before { content:'\e05b'; } - -.oi[data-glyph=envelope-closed]:before { content:'\e05c'; } - -.oi[data-glyph=envelope-open]:before { content:'\e05d'; } - -.oi[data-glyph=euro]:before { content:'\e05e'; } - -.oi[data-glyph=excerpt]:before { content:'\e05f'; } - -.oi[data-glyph=expand-down]:before { content:'\e060'; } - -.oi[data-glyph=expand-left]:before { content:'\e061'; } - -.oi[data-glyph=expand-right]:before { content:'\e062'; } - -.oi[data-glyph=expand-up]:before { content:'\e063'; } - -.oi[data-glyph=external-link]:before { content:'\e064'; } - -.oi[data-glyph=eye]:before { content:'\e065'; } - -.oi[data-glyph=eyedropper]:before { content:'\e066'; } - -.oi[data-glyph=file]:before { content:'\e067'; } - -.oi[data-glyph=fire]:before { content:'\e068'; } - -.oi[data-glyph=flag]:before { content:'\e069'; } - -.oi[data-glyph=flash]:before { content:'\e06a'; } - -.oi[data-glyph=folder]:before { content:'\e06b'; } - -.oi[data-glyph=fork]:before { content:'\e06c'; } - -.oi[data-glyph=fullscreen-enter]:before { content:'\e06d'; } - -.oi[data-glyph=fullscreen-exit]:before { content:'\e06e'; } - -.oi[data-glyph=globe]:before { content:'\e06f'; } - -.oi[data-glyph=graph]:before { content:'\e070'; } - -.oi[data-glyph=grid-four-up]:before { content:'\e071'; } - -.oi[data-glyph=grid-three-up]:before { content:'\e072'; } - -.oi[data-glyph=grid-two-up]:before { content:'\e073'; } - -.oi[data-glyph=hard-drive]:before { content:'\e074'; } - -.oi[data-glyph=header]:before { content:'\e075'; } - -.oi[data-glyph=headphones]:before { content:'\e076'; } - -.oi[data-glyph=heart]:before { content:'\e077'; } - -.oi[data-glyph=home]:before { content:'\e078'; } - -.oi[data-glyph=image]:before { content:'\e079'; } - -.oi[data-glyph=inbox]:before { content:'\e07a'; } - -.oi[data-glyph=infinity]:before { content:'\e07b'; } - -.oi[data-glyph=info]:before { content:'\e07c'; } - -.oi[data-glyph=italic]:before { content:'\e07d'; } - -.oi[data-glyph=justify-center]:before { content:'\e07e'; } - -.oi[data-glyph=justify-left]:before { content:'\e07f'; } - -.oi[data-glyph=justify-right]:before { content:'\e080'; } - -.oi[data-glyph=key]:before { content:'\e081'; } - -.oi[data-glyph=laptop]:before { content:'\e082'; } - -.oi[data-glyph=layers]:before { content:'\e083'; } - -.oi[data-glyph=lightbulb]:before { content:'\e084'; } - -.oi[data-glyph=link-broken]:before { content:'\e085'; } - -.oi[data-glyph=link-intact]:before { content:'\e086'; } - -.oi[data-glyph=list-rich]:before { content:'\e087'; } - -.oi[data-glyph=list]:before { content:'\e088'; } - -.oi[data-glyph=location]:before { content:'\e089'; } - -.oi[data-glyph=lock-locked]:before { content:'\e08a'; } - -.oi[data-glyph=lock-unlocked]:before { content:'\e08b'; } - -.oi[data-glyph=loop-circular]:before { content:'\e08c'; } - -.oi[data-glyph=loop-square]:before { content:'\e08d'; } - -.oi[data-glyph=loop]:before { content:'\e08e'; } - -.oi[data-glyph=magnifying-glass]:before { content:'\e08f'; } - -.oi[data-glyph=map-marker]:before { content:'\e090'; } - -.oi[data-glyph=map]:before { content:'\e091'; } - -.oi[data-glyph=media-pause]:before { content:'\e092'; } - -.oi[data-glyph=media-play]:before { content:'\e093'; } - -.oi[data-glyph=media-record]:before { content:'\e094'; } - -.oi[data-glyph=media-skip-backward]:before { content:'\e095'; } - -.oi[data-glyph=media-skip-forward]:before { content:'\e096'; } - -.oi[data-glyph=media-step-backward]:before { content:'\e097'; } - -.oi[data-glyph=media-step-forward]:before { content:'\e098'; } - -.oi[data-glyph=media-stop]:before { content:'\e099'; } - -.oi[data-glyph=medical-cross]:before { content:'\e09a'; } - -.oi[data-glyph=menu]:before { content:'\e09b'; } - -.oi[data-glyph=microphone]:before { content:'\e09c'; } - -.oi[data-glyph=minus]:before { content:'\e09d'; } - -.oi[data-glyph=monitor]:before { content:'\e09e'; } - -.oi[data-glyph=moon]:before { content:'\e09f'; } - -.oi[data-glyph=move]:before { content:'\e0a0'; } - -.oi[data-glyph=musical-note]:before { content:'\e0a1'; } - -.oi[data-glyph=paperclip]:before { content:'\e0a2'; } - -.oi[data-glyph=pencil]:before { content:'\e0a3'; } - -.oi[data-glyph=people]:before { content:'\e0a4'; } - -.oi[data-glyph=person]:before { content:'\e0a5'; } - -.oi[data-glyph=phone]:before { content:'\e0a6'; } - -.oi[data-glyph=pie-chart]:before { content:'\e0a7'; } - -.oi[data-glyph=pin]:before { content:'\e0a8'; } - -.oi[data-glyph=play-circle]:before { content:'\e0a9'; } - -.oi[data-glyph=plus]:before { content:'\e0aa'; } - -.oi[data-glyph=power-standby]:before { content:'\e0ab'; } - -.oi[data-glyph=print]:before { content:'\e0ac'; } - -.oi[data-glyph=project]:before { content:'\e0ad'; } - -.oi[data-glyph=pulse]:before { content:'\e0ae'; } - -.oi[data-glyph=puzzle-piece]:before { content:'\e0af'; } - -.oi[data-glyph=question-mark]:before { content:'\e0b0'; } - -.oi[data-glyph=rain]:before { content:'\e0b1'; } - -.oi[data-glyph=random]:before { content:'\e0b2'; } - -.oi[data-glyph=reload]:before { content:'\e0b3'; } - -.oi[data-glyph=resize-both]:before { content:'\e0b4'; } - -.oi[data-glyph=resize-height]:before { content:'\e0b5'; } - -.oi[data-glyph=resize-width]:before { content:'\e0b6'; } - -.oi[data-glyph=rss-alt]:before { content:'\e0b7'; } - -.oi[data-glyph=rss]:before { content:'\e0b8'; } - -.oi[data-glyph=script]:before { content:'\e0b9'; } - -.oi[data-glyph=share-boxed]:before { content:'\e0ba'; } - -.oi[data-glyph=share]:before { content:'\e0bb'; } - -.oi[data-glyph=shield]:before { content:'\e0bc'; } - -.oi[data-glyph=signal]:before { content:'\e0bd'; } - -.oi[data-glyph=signpost]:before { content:'\e0be'; } - -.oi[data-glyph=sort-ascending]:before { content:'\e0bf'; } - -.oi[data-glyph=sort-descending]:before { content:'\e0c0'; } - -.oi[data-glyph=spreadsheet]:before { content:'\e0c1'; } - -.oi[data-glyph=star]:before { content:'\e0c2'; } - -.oi[data-glyph=sun]:before { content:'\e0c3'; } - -.oi[data-glyph=tablet]:before { content:'\e0c4'; } - -.oi[data-glyph=tag]:before { content:'\e0c5'; } - -.oi[data-glyph=tags]:before { content:'\e0c6'; } - -.oi[data-glyph=target]:before { content:'\e0c7'; } - -.oi[data-glyph=task]:before { content:'\e0c8'; } - -.oi[data-glyph=terminal]:before { content:'\e0c9'; } - -.oi[data-glyph=text]:before { content:'\e0ca'; } - -.oi[data-glyph=thumb-down]:before { content:'\e0cb'; } - -.oi[data-glyph=thumb-up]:before { content:'\e0cc'; } - -.oi[data-glyph=timer]:before { content:'\e0cd'; } - -.oi[data-glyph=transfer]:before { content:'\e0ce'; } - -.oi[data-glyph=trash]:before { content:'\e0cf'; } - -.oi[data-glyph=underline]:before { content:'\e0d0'; } - -.oi[data-glyph=vertical-align-bottom]:before { content:'\e0d1'; } - -.oi[data-glyph=vertical-align-center]:before { content:'\e0d2'; } - -.oi[data-glyph=vertical-align-top]:before { content:'\e0d3'; } - -.oi[data-glyph=video]:before { content:'\e0d4'; } - -.oi[data-glyph=volume-high]:before { content:'\e0d5'; } - -.oi[data-glyph=volume-low]:before { content:'\e0d6'; } - -.oi[data-glyph=volume-off]:before { content:'\e0d7'; } - -.oi[data-glyph=warning]:before { content:'\e0d8'; } - -.oi[data-glyph=wifi]:before { content:'\e0d9'; } - -.oi[data-glyph=wrench]:before { content:'\e0da'; } - -.oi[data-glyph=x]:before { content:'\e0db'; } - -.oi[data-glyph=yen]:before { content:'\e0dc'; } - -.oi[data-glyph=zoom-in]:before { content:'\e0dd'; } - -.oi[data-glyph=zoom-out]:before { content:'\e0de'; } diff --git a/app/open-iconic/font/css/open-iconic.less b/app/open-iconic/font/css/open-iconic.less deleted file mode 100755 index d505e9f..0000000 --- a/app/open-iconic/font/css/open-iconic.less +++ /dev/null @@ -1,962 +0,0 @@ -@iconic-font-path: '../fonts/'; - -@font-face { - font-family: 'Icons'; - src: url('@{iconic-font-path}open-iconic.eot'); - src: url('@{iconic-font-path}open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('@{iconic-font-path}open-iconic.woff') format('woff'), url('@{iconic-font-path}open-iconic.ttf') format('truetype'), url('@{iconic-font-path}open-iconic.otf') format('opentype'), url('@{iconic-font-path}open-iconic.svg#iconic-sm') format('svg'); - font-weight: normal; - font-style: normal; -} - -.oi[data-glyph].oi-text-replace { - font-size: 0; - line-height: 0; -} - -.oi[data-glyph].oi-text-replace:before { - width: 1em; - text-align: center; -} - -.oi[data-glyph] { - &:before { - position: relative; - top: 1px; - font-family: 'Icons'; - display: inline-block; - speak: none; - line-height: 1; - vertical-align: baseline; - font-weight: normal; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - } - - &:empty:before { - width: 1em; - text-align: center; - box-sizing: content-box; - } - - &.oi-align-left:before { - text-align: left; - } - &.oi-align-right:before { - text-align: right; - } - &.oi-align-center:before { - text-align: center; - } - - &.oi-flip-horizontal:before { - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); - } - - &.oi-flip-vertical:before { - -webkit-transform: scale(1, -1); - -ms-transform: scale(-1, 1); - transform: scale(1, -1); - } - - &.oi-flip-horizontal-vertical:before { - -webkit-transform: scale(-1, -1); - -ms-transform: scale(-1, 1); - transform: scale(-1, -1); - } -} - - -.oi[data-glyph=account-login]:before { - content: '\e000'; -} - -.oi[data-glyph=account-logout]:before { - content: '\e001'; -} - -.oi[data-glyph=action-redo]:before { - content: '\e002'; -} - -.oi[data-glyph=action-undo]:before { - content: '\e003'; -} - -.oi[data-glyph=align-center]:before { - content: '\e004'; -} - -.oi[data-glyph=align-left]:before { - content: '\e005'; -} - -.oi[data-glyph=align-right]:before { - content: '\e006'; -} - -.oi[data-glyph=aperture]:before { - content: '\e007'; -} - -.oi[data-glyph=arrow-bottom]:before { - content: '\e008'; -} - -.oi[data-glyph=arrow-circle-bottom]:before { - content: '\e009'; -} - -.oi[data-glyph=arrow-circle-left]:before { - content: '\e00a'; -} - -.oi[data-glyph=arrow-circle-right]:before { - content: '\e00b'; -} - -.oi[data-glyph=arrow-circle-top]:before { - content: '\e00c'; -} - -.oi[data-glyph=arrow-left]:before { - content: '\e00d'; -} - -.oi[data-glyph=arrow-right]:before { - content: '\e00e'; -} - -.oi[data-glyph=arrow-thick-bottom]:before { - content: '\e00f'; -} - -.oi[data-glyph=arrow-thick-left]:before { - content: '\e010'; -} - -.oi[data-glyph=arrow-thick-right]:before { - content: '\e011'; -} - -.oi[data-glyph=arrow-thick-top]:before { - content: '\e012'; -} - -.oi[data-glyph=arrow-top]:before { - content: '\e013'; -} - -.oi[data-glyph=audio-spectrum]:before { - content: '\e014'; -} - -.oi[data-glyph=audio]:before { - content: '\e015'; -} - -.oi[data-glyph=badge]:before { - content: '\e016'; -} - -.oi[data-glyph=ban]:before { - content: '\e017'; -} - -.oi[data-glyph=bar-chart]:before { - content: '\e018'; -} - -.oi[data-glyph=basket]:before { - content: '\e019'; -} - -.oi[data-glyph=battery-empty]:before { - content: '\e01a'; -} - -.oi[data-glyph=battery-full]:before { - content: '\e01b'; -} - -.oi[data-glyph=beaker]:before { - content: '\e01c'; -} - -.oi[data-glyph=bell]:before { - content: '\e01d'; -} - -.oi[data-glyph=bluetooth]:before { - content: '\e01e'; -} - -.oi[data-glyph=bold]:before { - content: '\e01f'; -} - -.oi[data-glyph=bolt]:before { - content: '\e020'; -} - -.oi[data-glyph=book]:before { - content: '\e021'; -} - -.oi[data-glyph=bookmark]:before { - content: '\e022'; -} - -.oi[data-glyph=box]:before { - content: '\e023'; -} - -.oi[data-glyph=briefcase]:before { - content: '\e024'; -} - -.oi[data-glyph=british-pound]:before { - content: '\e025'; -} - -.oi[data-glyph=browser]:before { - content: '\e026'; -} - -.oi[data-glyph=brush]:before { - content: '\e027'; -} - -.oi[data-glyph=bug]:before { - content: '\e028'; -} - -.oi[data-glyph=bullhorn]:before { - content: '\e029'; -} - -.oi[data-glyph=calculator]:before { - content: '\e02a'; -} - -.oi[data-glyph=calendar]:before { - content: '\e02b'; -} - -.oi[data-glyph=camera-slr]:before { - content: '\e02c'; -} - -.oi[data-glyph=caret-bottom]:before { - content: '\e02d'; -} - -.oi[data-glyph=caret-left]:before { - content: '\e02e'; -} - -.oi[data-glyph=caret-right]:before { - content: '\e02f'; -} - -.oi[data-glyph=caret-top]:before { - content: '\e030'; -} - -.oi[data-glyph=cart]:before { - content: '\e031'; -} - -.oi[data-glyph=chat]:before { - content: '\e032'; -} - -.oi[data-glyph=check]:before { - content: '\e033'; -} - -.oi[data-glyph=chevron-bottom]:before { - content: '\e034'; -} - -.oi[data-glyph=chevron-left]:before { - content: '\e035'; -} - -.oi[data-glyph=chevron-right]:before { - content: '\e036'; -} - -.oi[data-glyph=chevron-top]:before { - content: '\e037'; -} - -.oi[data-glyph=circle-check]:before { - content: '\e038'; -} - -.oi[data-glyph=circle-x]:before { - content: '\e039'; -} - -.oi[data-glyph=clipboard]:before { - content: '\e03a'; -} - -.oi[data-glyph=clock]:before { - content: '\e03b'; -} - -.oi[data-glyph=cloud-download]:before { - content: '\e03c'; -} - -.oi[data-glyph=cloud-upload]:before { - content: '\e03d'; -} - -.oi[data-glyph=cloud]:before { - content: '\e03e'; -} - -.oi[data-glyph=cloudy]:before { - content: '\e03f'; -} - -.oi[data-glyph=code]:before { - content: '\e040'; -} - -.oi[data-glyph=cog]:before { - content: '\e041'; -} - -.oi[data-glyph=collapse-down]:before { - content: '\e042'; -} - -.oi[data-glyph=collapse-left]:before { - content: '\e043'; -} - -.oi[data-glyph=collapse-right]:before { - content: '\e044'; -} - -.oi[data-glyph=collapse-up]:before { - content: '\e045'; -} - -.oi[data-glyph=command]:before { - content: '\e046'; -} - -.oi[data-glyph=comment-square]:before { - content: '\e047'; -} - -.oi[data-glyph=compass]:before { - content: '\e048'; -} - -.oi[data-glyph=contrast]:before { - content: '\e049'; -} - -.oi[data-glyph=copywriting]:before { - content: '\e04a'; -} - -.oi[data-glyph=credit-card]:before { - content: '\e04b'; -} - -.oi[data-glyph=crop]:before { - content: '\e04c'; -} - -.oi[data-glyph=dashboard]:before { - content: '\e04d'; -} - -.oi[data-glyph=data-transfer-download]:before { - content: '\e04e'; -} - -.oi[data-glyph=data-transfer-upload]:before { - content: '\e04f'; -} - -.oi[data-glyph=delete]:before { - content: '\e050'; -} - -.oi[data-glyph=dial]:before { - content: '\e051'; -} - -.oi[data-glyph=document]:before { - content: '\e052'; -} - -.oi[data-glyph=dollar]:before { - content: '\e053'; -} - -.oi[data-glyph=double-quote-sans-left]:before { - content: '\e054'; -} - -.oi[data-glyph=double-quote-sans-right]:before { - content: '\e055'; -} - -.oi[data-glyph=double-quote-serif-left]:before { - content: '\e056'; -} - -.oi[data-glyph=double-quote-serif-right]:before { - content: '\e057'; -} - -.oi[data-glyph=droplet]:before { - content: '\e058'; -} - -.oi[data-glyph=eject]:before { - content: '\e059'; -} - -.oi[data-glyph=elevator]:before { - content: '\e05a'; -} - -.oi[data-glyph=ellipses]:before { - content: '\e05b'; -} - -.oi[data-glyph=envelope-closed]:before { - content: '\e05c'; -} - -.oi[data-glyph=envelope-open]:before { - content: '\e05d'; -} - -.oi[data-glyph=euro]:before { - content: '\e05e'; -} - -.oi[data-glyph=excerpt]:before { - content: '\e05f'; -} - -.oi[data-glyph=expand-down]:before { - content: '\e060'; -} - -.oi[data-glyph=expand-left]:before { - content: '\e061'; -} - -.oi[data-glyph=expand-right]:before { - content: '\e062'; -} - -.oi[data-glyph=expand-up]:before { - content: '\e063'; -} - -.oi[data-glyph=external-link]:before { - content: '\e064'; -} - -.oi[data-glyph=eye]:before { - content: '\e065'; -} - -.oi[data-glyph=eyedropper]:before { - content: '\e066'; -} - -.oi[data-glyph=file]:before { - content: '\e067'; -} - -.oi[data-glyph=fire]:before { - content: '\e068'; -} - -.oi[data-glyph=flag]:before { - content: '\e069'; -} - -.oi[data-glyph=flash]:before { - content: '\e06a'; -} - -.oi[data-glyph=folder]:before { - content: '\e06b'; -} - -.oi[data-glyph=fork]:before { - content: '\e06c'; -} - -.oi[data-glyph=fullscreen-enter]:before { - content: '\e06d'; -} - -.oi[data-glyph=fullscreen-exit]:before { - content: '\e06e'; -} - -.oi[data-glyph=globe]:before { - content: '\e06f'; -} - -.oi[data-glyph=graph]:before { - content: '\e070'; -} - -.oi[data-glyph=grid-four-up]:before { - content: '\e071'; -} - -.oi[data-glyph=grid-three-up]:before { - content: '\e072'; -} - -.oi[data-glyph=grid-two-up]:before { - content: '\e073'; -} - -.oi[data-glyph=hard-drive]:before { - content: '\e074'; -} - -.oi[data-glyph=header]:before { - content: '\e075'; -} - -.oi[data-glyph=headphones]:before { - content: '\e076'; -} - -.oi[data-glyph=heart]:before { - content: '\e077'; -} - -.oi[data-glyph=home]:before { - content: '\e078'; -} - -.oi[data-glyph=image]:before { - content: '\e079'; -} - -.oi[data-glyph=inbox]:before { - content: '\e07a'; -} - -.oi[data-glyph=infinity]:before { - content: '\e07b'; -} - -.oi[data-glyph=info]:before { - content: '\e07c'; -} - -.oi[data-glyph=italic]:before { - content: '\e07d'; -} - -.oi[data-glyph=justify-center]:before { - content: '\e07e'; -} - -.oi[data-glyph=justify-left]:before { - content: '\e07f'; -} - -.oi[data-glyph=justify-right]:before { - content: '\e080'; -} - -.oi[data-glyph=key]:before { - content: '\e081'; -} - -.oi[data-glyph=laptop]:before { - content: '\e082'; -} - -.oi[data-glyph=layers]:before { - content: '\e083'; -} - -.oi[data-glyph=lightbulb]:before { - content: '\e084'; -} - -.oi[data-glyph=link-broken]:before { - content: '\e085'; -} - -.oi[data-glyph=link-intact]:before { - content: '\e086'; -} - -.oi[data-glyph=list-rich]:before { - content: '\e087'; -} - -.oi[data-glyph=list]:before { - content: '\e088'; -} - -.oi[data-glyph=location]:before { - content: '\e089'; -} - -.oi[data-glyph=lock-locked]:before { - content: '\e08a'; -} - -.oi[data-glyph=lock-unlocked]:before { - content: '\e08b'; -} - -.oi[data-glyph=loop-circular]:before { - content: '\e08c'; -} - -.oi[data-glyph=loop-square]:before { - content: '\e08d'; -} - -.oi[data-glyph=loop]:before { - content: '\e08e'; -} - -.oi[data-glyph=magnifying-glass]:before { - content: '\e08f'; -} - -.oi[data-glyph=map-marker]:before { - content: '\e090'; -} - -.oi[data-glyph=map]:before { - content: '\e091'; -} - -.oi[data-glyph=media-pause]:before { - content: '\e092'; -} - -.oi[data-glyph=media-play]:before { - content: '\e093'; -} - -.oi[data-glyph=media-record]:before { - content: '\e094'; -} - -.oi[data-glyph=media-skip-backward]:before { - content: '\e095'; -} - -.oi[data-glyph=media-skip-forward]:before { - content: '\e096'; -} - -.oi[data-glyph=media-step-backward]:before { - content: '\e097'; -} - -.oi[data-glyph=media-step-forward]:before { - content: '\e098'; -} - -.oi[data-glyph=media-stop]:before { - content: '\e099'; -} - -.oi[data-glyph=medical-cross]:before { - content: '\e09a'; -} - -.oi[data-glyph=menu]:before { - content: '\e09b'; -} - -.oi[data-glyph=microphone]:before { - content: '\e09c'; -} - -.oi[data-glyph=minus]:before { - content: '\e09d'; -} - -.oi[data-glyph=monitor]:before { - content: '\e09e'; -} - -.oi[data-glyph=moon]:before { - content: '\e09f'; -} - -.oi[data-glyph=move]:before { - content: '\e0a0'; -} - -.oi[data-glyph=musical-note]:before { - content: '\e0a1'; -} - -.oi[data-glyph=paperclip]:before { - content: '\e0a2'; -} - -.oi[data-glyph=pencil]:before { - content: '\e0a3'; -} - -.oi[data-glyph=people]:before { - content: '\e0a4'; -} - -.oi[data-glyph=person]:before { - content: '\e0a5'; -} - -.oi[data-glyph=phone]:before { - content: '\e0a6'; -} - -.oi[data-glyph=pie-chart]:before { - content: '\e0a7'; -} - -.oi[data-glyph=pin]:before { - content: '\e0a8'; -} - -.oi[data-glyph=play-circle]:before { - content: '\e0a9'; -} - -.oi[data-glyph=plus]:before { - content: '\e0aa'; -} - -.oi[data-glyph=power-standby]:before { - content: '\e0ab'; -} - -.oi[data-glyph=print]:before { - content: '\e0ac'; -} - -.oi[data-glyph=project]:before { - content: '\e0ad'; -} - -.oi[data-glyph=pulse]:before { - content: '\e0ae'; -} - -.oi[data-glyph=puzzle-piece]:before { - content: '\e0af'; -} - -.oi[data-glyph=question-mark]:before { - content: '\e0b0'; -} - -.oi[data-glyph=rain]:before { - content: '\e0b1'; -} - -.oi[data-glyph=random]:before { - content: '\e0b2'; -} - -.oi[data-glyph=reload]:before { - content: '\e0b3'; -} - -.oi[data-glyph=resize-both]:before { - content: '\e0b4'; -} - -.oi[data-glyph=resize-height]:before { - content: '\e0b5'; -} - -.oi[data-glyph=resize-width]:before { - content: '\e0b6'; -} - -.oi[data-glyph=rss-alt]:before { - content: '\e0b7'; -} - -.oi[data-glyph=rss]:before { - content: '\e0b8'; -} - -.oi[data-glyph=script]:before { - content: '\e0b9'; -} - -.oi[data-glyph=share-boxed]:before { - content: '\e0ba'; -} - -.oi[data-glyph=share]:before { - content: '\e0bb'; -} - -.oi[data-glyph=shield]:before { - content: '\e0bc'; -} - -.oi[data-glyph=signal]:before { - content: '\e0bd'; -} - -.oi[data-glyph=signpost]:before { - content: '\e0be'; -} - -.oi[data-glyph=sort-ascending]:before { - content: '\e0bf'; -} - -.oi[data-glyph=sort-descending]:before { - content: '\e0c0'; -} - -.oi[data-glyph=spreadsheet]:before { - content: '\e0c1'; -} - -.oi[data-glyph=star]:before { - content: '\e0c2'; -} - -.oi[data-glyph=sun]:before { - content: '\e0c3'; -} - -.oi[data-glyph=tablet]:before { - content: '\e0c4'; -} - -.oi[data-glyph=tag]:before { - content: '\e0c5'; -} - -.oi[data-glyph=tags]:before { - content: '\e0c6'; -} - -.oi[data-glyph=target]:before { - content: '\e0c7'; -} - -.oi[data-glyph=task]:before { - content: '\e0c8'; -} - -.oi[data-glyph=terminal]:before { - content: '\e0c9'; -} - -.oi[data-glyph=text]:before { - content: '\e0ca'; -} - -.oi[data-glyph=thumb-down]:before { - content: '\e0cb'; -} - -.oi[data-glyph=thumb-up]:before { - content: '\e0cc'; -} - -.oi[data-glyph=timer]:before { - content: '\e0cd'; -} - -.oi[data-glyph=transfer]:before { - content: '\e0ce'; -} - -.oi[data-glyph=trash]:before { - content: '\e0cf'; -} - -.oi[data-glyph=underline]:before { - content: '\e0d0'; -} - -.oi[data-glyph=vertical-align-bottom]:before { - content: '\e0d1'; -} - -.oi[data-glyph=vertical-align-center]:before { - content: '\e0d2'; -} - -.oi[data-glyph=vertical-align-top]:before { - content: '\e0d3'; -} - -.oi[data-glyph=video]:before { - content: '\e0d4'; -} - -.oi[data-glyph=volume-high]:before { - content: '\e0d5'; -} - -.oi[data-glyph=volume-low]:before { - content: '\e0d6'; -} - -.oi[data-glyph=volume-off]:before { - content: '\e0d7'; -} - -.oi[data-glyph=warning]:before { - content: '\e0d8'; -} - -.oi[data-glyph=wifi]:before { - content: '\e0d9'; -} - -.oi[data-glyph=wrench]:before { - content: '\e0da'; -} - -.oi[data-glyph=x]:before { - content: '\e0db'; -} - -.oi[data-glyph=yen]:before { - content: '\e0dc'; -} - -.oi[data-glyph=zoom-in]:before { - content: '\e0dd'; -} - -.oi[data-glyph=zoom-out]:before { - content: '\e0de'; -} diff --git a/app/open-iconic/font/css/open-iconic.min.css b/app/open-iconic/font/css/open-iconic.min.css deleted file mode 100755 index 1f6afb8..0000000 --- a/app/open-iconic/font/css/open-iconic.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Icons;src:url(../fonts/open-iconic.eot);src:url(../fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(../fonts/open-iconic.woff) format('woff'),url(../fonts/open-iconic.ttf) format('truetype'),url(../fonts/open-iconic.otf) format('opentype'),url(../fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi[data-glyph].oi-text-replace{font-size:0;line-height:0}.oi[data-glyph].oi-text-replace:before{width:1em;text-align:center}.oi[data-glyph]:before{font-family:Icons;display:inline-block;speak:none;line-height:1;vertical-align:baseline;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi[data-glyph]:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi[data-glyph].oi-align-left:before{text-align:left}.oi[data-glyph].oi-align-right:before{text-align:right}.oi[data-glyph].oi-align-center:before{text-align:center}.oi[data-glyph].oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi[data-glyph].oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi[data-glyph].oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi[data-glyph=account-login]:before{content:'\e000'}.oi[data-glyph=account-logout]:before{content:'\e001'}.oi[data-glyph=action-redo]:before{content:'\e002'}.oi[data-glyph=action-undo]:before{content:'\e003'}.oi[data-glyph=align-center]:before{content:'\e004'}.oi[data-glyph=align-left]:before{content:'\e005'}.oi[data-glyph=align-right]:before{content:'\e006'}.oi[data-glyph=aperture]:before{content:'\e007'}.oi[data-glyph=arrow-bottom]:before{content:'\e008'}.oi[data-glyph=arrow-circle-bottom]:before{content:'\e009'}.oi[data-glyph=arrow-circle-left]:before{content:'\e00a'}.oi[data-glyph=arrow-circle-right]:before{content:'\e00b'}.oi[data-glyph=arrow-circle-top]:before{content:'\e00c'}.oi[data-glyph=arrow-left]:before{content:'\e00d'}.oi[data-glyph=arrow-right]:before{content:'\e00e'}.oi[data-glyph=arrow-thick-bottom]:before{content:'\e00f'}.oi[data-glyph=arrow-thick-left]:before{content:'\e010'}.oi[data-glyph=arrow-thick-right]:before{content:'\e011'}.oi[data-glyph=arrow-thick-top]:before{content:'\e012'}.oi[data-glyph=arrow-top]:before{content:'\e013'}.oi[data-glyph=audio-spectrum]:before{content:'\e014'}.oi[data-glyph=audio]:before{content:'\e015'}.oi[data-glyph=badge]:before{content:'\e016'}.oi[data-glyph=ban]:before{content:'\e017'}.oi[data-glyph=bar-chart]:before{content:'\e018'}.oi[data-glyph=basket]:before{content:'\e019'}.oi[data-glyph=battery-empty]:before{content:'\e01a'}.oi[data-glyph=battery-full]:before{content:'\e01b'}.oi[data-glyph=beaker]:before{content:'\e01c'}.oi[data-glyph=bell]:before{content:'\e01d'}.oi[data-glyph=bluetooth]:before{content:'\e01e'}.oi[data-glyph=bold]:before{content:'\e01f'}.oi[data-glyph=bolt]:before{content:'\e020'}.oi[data-glyph=book]:before{content:'\e021'}.oi[data-glyph=bookmark]:before{content:'\e022'}.oi[data-glyph=box]:before{content:'\e023'}.oi[data-glyph=briefcase]:before{content:'\e024'}.oi[data-glyph=british-pound]:before{content:'\e025'}.oi[data-glyph=browser]:before{content:'\e026'}.oi[data-glyph=brush]:before{content:'\e027'}.oi[data-glyph=bug]:before{content:'\e028'}.oi[data-glyph=bullhorn]:before{content:'\e029'}.oi[data-glyph=calculator]:before{content:'\e02a'}.oi[data-glyph=calendar]:before{content:'\e02b'}.oi[data-glyph=camera-slr]:before{content:'\e02c'}.oi[data-glyph=caret-bottom]:before{content:'\e02d'}.oi[data-glyph=caret-left]:before{content:'\e02e'}.oi[data-glyph=caret-right]:before{content:'\e02f'}.oi[data-glyph=caret-top]:before{content:'\e030'}.oi[data-glyph=cart]:before{content:'\e031'}.oi[data-glyph=chat]:before{content:'\e032'}.oi[data-glyph=check]:before{content:'\e033'}.oi[data-glyph=chevron-bottom]:before{content:'\e034'}.oi[data-glyph=chevron-left]:before{content:'\e035'}.oi[data-glyph=chevron-right]:before{content:'\e036'}.oi[data-glyph=chevron-top]:before{content:'\e037'}.oi[data-glyph=circle-check]:before{content:'\e038'}.oi[data-glyph=circle-x]:before{content:'\e039'}.oi[data-glyph=clipboard]:before{content:'\e03a'}.oi[data-glyph=clock]:before{content:'\e03b'}.oi[data-glyph=cloud-download]:before{content:'\e03c'}.oi[data-glyph=cloud-upload]:before{content:'\e03d'}.oi[data-glyph=cloud]:before{content:'\e03e'}.oi[data-glyph=cloudy]:before{content:'\e03f'}.oi[data-glyph=code]:before{content:'\e040'}.oi[data-glyph=cog]:before{content:'\e041'}.oi[data-glyph=collapse-down]:before{content:'\e042'}.oi[data-glyph=collapse-left]:before{content:'\e043'}.oi[data-glyph=collapse-right]:before{content:'\e044'}.oi[data-glyph=collapse-up]:before{content:'\e045'}.oi[data-glyph=command]:before{content:'\e046'}.oi[data-glyph=comment-square]:before{content:'\e047'}.oi[data-glyph=compass]:before{content:'\e048'}.oi[data-glyph=contrast]:before{content:'\e049'}.oi[data-glyph=copywriting]:before{content:'\e04a'}.oi[data-glyph=credit-card]:before{content:'\e04b'}.oi[data-glyph=crop]:before{content:'\e04c'}.oi[data-glyph=dashboard]:before{content:'\e04d'}.oi[data-glyph=data-transfer-download]:before{content:'\e04e'}.oi[data-glyph=data-transfer-upload]:before{content:'\e04f'}.oi[data-glyph=delete]:before{content:'\e050'}.oi[data-glyph=dial]:before{content:'\e051'}.oi[data-glyph=document]:before{content:'\e052'}.oi[data-glyph=dollar]:before{content:'\e053'}.oi[data-glyph=double-quote-sans-left]:before{content:'\e054'}.oi[data-glyph=double-quote-sans-right]:before{content:'\e055'}.oi[data-glyph=double-quote-serif-left]:before{content:'\e056'}.oi[data-glyph=double-quote-serif-right]:before{content:'\e057'}.oi[data-glyph=droplet]:before{content:'\e058'}.oi[data-glyph=eject]:before{content:'\e059'}.oi[data-glyph=elevator]:before{content:'\e05a'}.oi[data-glyph=ellipses]:before{content:'\e05b'}.oi[data-glyph=envelope-closed]:before{content:'\e05c'}.oi[data-glyph=envelope-open]:before{content:'\e05d'}.oi[data-glyph=euro]:before{content:'\e05e'}.oi[data-glyph=excerpt]:before{content:'\e05f'}.oi[data-glyph=expand-down]:before{content:'\e060'}.oi[data-glyph=expand-left]:before{content:'\e061'}.oi[data-glyph=expand-right]:before{content:'\e062'}.oi[data-glyph=expand-up]:before{content:'\e063'}.oi[data-glyph=external-link]:before{content:'\e064'}.oi[data-glyph=eye]:before{content:'\e065'}.oi[data-glyph=eyedropper]:before{content:'\e066'}.oi[data-glyph=file]:before{content:'\e067'}.oi[data-glyph=fire]:before{content:'\e068'}.oi[data-glyph=flag]:before{content:'\e069'}.oi[data-glyph=flash]:before{content:'\e06a'}.oi[data-glyph=folder]:before{content:'\e06b'}.oi[data-glyph=fork]:before{content:'\e06c'}.oi[data-glyph=fullscreen-enter]:before{content:'\e06d'}.oi[data-glyph=fullscreen-exit]:before{content:'\e06e'}.oi[data-glyph=globe]:before{content:'\e06f'}.oi[data-glyph=graph]:before{content:'\e070'}.oi[data-glyph=grid-four-up]:before{content:'\e071'}.oi[data-glyph=grid-three-up]:before{content:'\e072'}.oi[data-glyph=grid-two-up]:before{content:'\e073'}.oi[data-glyph=hard-drive]:before{content:'\e074'}.oi[data-glyph=header]:before{content:'\e075'}.oi[data-glyph=headphones]:before{content:'\e076'}.oi[data-glyph=heart]:before{content:'\e077'}.oi[data-glyph=home]:before{content:'\e078'}.oi[data-glyph=image]:before{content:'\e079'}.oi[data-glyph=inbox]:before{content:'\e07a'}.oi[data-glyph=infinity]:before{content:'\e07b'}.oi[data-glyph=info]:before{content:'\e07c'}.oi[data-glyph=italic]:before{content:'\e07d'}.oi[data-glyph=justify-center]:before{content:'\e07e'}.oi[data-glyph=justify-left]:before{content:'\e07f'}.oi[data-glyph=justify-right]:before{content:'\e080'}.oi[data-glyph=key]:before{content:'\e081'}.oi[data-glyph=laptop]:before{content:'\e082'}.oi[data-glyph=layers]:before{content:'\e083'}.oi[data-glyph=lightbulb]:before{content:'\e084'}.oi[data-glyph=link-broken]:before{content:'\e085'}.oi[data-glyph=link-intact]:before{content:'\e086'}.oi[data-glyph=list-rich]:before{content:'\e087'}.oi[data-glyph=list]:before{content:'\e088'}.oi[data-glyph=location]:before{content:'\e089'}.oi[data-glyph=lock-locked]:before{content:'\e08a'}.oi[data-glyph=lock-unlocked]:before{content:'\e08b'}.oi[data-glyph=loop-circular]:before{content:'\e08c'}.oi[data-glyph=loop-square]:before{content:'\e08d'}.oi[data-glyph=loop]:before{content:'\e08e'}.oi[data-glyph=magnifying-glass]:before{content:'\e08f'}.oi[data-glyph=map-marker]:before{content:'\e090'}.oi[data-glyph=map]:before{content:'\e091'}.oi[data-glyph=media-pause]:before{content:'\e092'}.oi[data-glyph=media-play]:before{content:'\e093'}.oi[data-glyph=media-record]:before{content:'\e094'}.oi[data-glyph=media-skip-backward]:before{content:'\e095'}.oi[data-glyph=media-skip-forward]:before{content:'\e096'}.oi[data-glyph=media-step-backward]:before{content:'\e097'}.oi[data-glyph=media-step-forward]:before{content:'\e098'}.oi[data-glyph=media-stop]:before{content:'\e099'}.oi[data-glyph=medical-cross]:before{content:'\e09a'}.oi[data-glyph=menu]:before{content:'\e09b'}.oi[data-glyph=microphone]:before{content:'\e09c'}.oi[data-glyph=minus]:before{content:'\e09d'}.oi[data-glyph=monitor]:before{content:'\e09e'}.oi[data-glyph=moon]:before{content:'\e09f'}.oi[data-glyph=move]:before{content:'\e0a0'}.oi[data-glyph=musical-note]:before{content:'\e0a1'}.oi[data-glyph=paperclip]:before{content:'\e0a2'}.oi[data-glyph=pencil]:before{content:'\e0a3'}.oi[data-glyph=people]:before{content:'\e0a4'}.oi[data-glyph=person]:before{content:'\e0a5'}.oi[data-glyph=phone]:before{content:'\e0a6'}.oi[data-glyph=pie-chart]:before{content:'\e0a7'}.oi[data-glyph=pin]:before{content:'\e0a8'}.oi[data-glyph=play-circle]:before{content:'\e0a9'}.oi[data-glyph=plus]:before{content:'\e0aa'}.oi[data-glyph=power-standby]:before{content:'\e0ab'}.oi[data-glyph=print]:before{content:'\e0ac'}.oi[data-glyph=project]:before{content:'\e0ad'}.oi[data-glyph=pulse]:before{content:'\e0ae'}.oi[data-glyph=puzzle-piece]:before{content:'\e0af'}.oi[data-glyph=question-mark]:before{content:'\e0b0'}.oi[data-glyph=rain]:before{content:'\e0b1'}.oi[data-glyph=random]:before{content:'\e0b2'}.oi[data-glyph=reload]:before{content:'\e0b3'}.oi[data-glyph=resize-both]:before{content:'\e0b4'}.oi[data-glyph=resize-height]:before{content:'\e0b5'}.oi[data-glyph=resize-width]:before{content:'\e0b6'}.oi[data-glyph=rss-alt]:before{content:'\e0b7'}.oi[data-glyph=rss]:before{content:'\e0b8'}.oi[data-glyph=script]:before{content:'\e0b9'}.oi[data-glyph=share-boxed]:before{content:'\e0ba'}.oi[data-glyph=share]:before{content:'\e0bb'}.oi[data-glyph=shield]:before{content:'\e0bc'}.oi[data-glyph=signal]:before{content:'\e0bd'}.oi[data-glyph=signpost]:before{content:'\e0be'}.oi[data-glyph=sort-ascending]:before{content:'\e0bf'}.oi[data-glyph=sort-descending]:before{content:'\e0c0'}.oi[data-glyph=spreadsheet]:before{content:'\e0c1'}.oi[data-glyph=star]:before{content:'\e0c2'}.oi[data-glyph=sun]:before{content:'\e0c3'}.oi[data-glyph=tablet]:before{content:'\e0c4'}.oi[data-glyph=tag]:before{content:'\e0c5'}.oi[data-glyph=tags]:before{content:'\e0c6'}.oi[data-glyph=target]:before{content:'\e0c7'}.oi[data-glyph=task]:before{content:'\e0c8'}.oi[data-glyph=terminal]:before{content:'\e0c9'}.oi[data-glyph=text]:before{content:'\e0ca'}.oi[data-glyph=thumb-down]:before{content:'\e0cb'}.oi[data-glyph=thumb-up]:before{content:'\e0cc'}.oi[data-glyph=timer]:before{content:'\e0cd'}.oi[data-glyph=transfer]:before{content:'\e0ce'}.oi[data-glyph=trash]:before{content:'\e0cf'}.oi[data-glyph=underline]:before{content:'\e0d0'}.oi[data-glyph=vertical-align-bottom]:before{content:'\e0d1'}.oi[data-glyph=vertical-align-center]:before{content:'\e0d2'}.oi[data-glyph=vertical-align-top]:before{content:'\e0d3'}.oi[data-glyph=video]:before{content:'\e0d4'}.oi[data-glyph=volume-high]:before{content:'\e0d5'}.oi[data-glyph=volume-low]:before{content:'\e0d6'}.oi[data-glyph=volume-off]:before{content:'\e0d7'}.oi[data-glyph=warning]:before{content:'\e0d8'}.oi[data-glyph=wifi]:before{content:'\e0d9'}.oi[data-glyph=wrench]:before{content:'\e0da'}.oi[data-glyph=x]:before{content:'\e0db'}.oi[data-glyph=yen]:before{content:'\e0dc'}.oi[data-glyph=zoom-in]:before{content:'\e0dd'}.oi[data-glyph=zoom-out]:before{content:'\e0de'} \ No newline at end of file diff --git a/app/open-iconic/font/css/open-iconic.scss b/app/open-iconic/font/css/open-iconic.scss deleted file mode 100755 index e03d979..0000000 --- a/app/open-iconic/font/css/open-iconic.scss +++ /dev/null @@ -1,963 +0,0 @@ -$iconic-font-path: '../fonts/' !default; - -@font-face { - font-family: 'Icons'; - src: url('#{$iconic-font-path}open-iconic.eot'); - src: url('#{$iconic-font-path}open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('#{$iconic-font-path}open-iconic.woff') format('woff'), url('#{$iconic-font-path}open-iconic.ttf') format('truetype'), url('#{$iconic-font-path}open-iconic.otf') format('opentype'), url('#{$iconic-font-path}open-iconic.svg#iconic-sm') format('svg'); - font-weight: normal; - font-style: normal; -} - -.oi[data-glyph].oi-text-replace { - font-size: 0; - line-height: 0; -} - -.oi[data-glyph].oi-text-replace:before { - width: 1em; - text-align: center; -} - -.oi[data-glyph] { - &:before { - position: relative; - top: 1px; - font-family: 'Icons'; - display: inline-block; - speak: none; - line-height: 1; - vertical-align: baseline; - font-weight: normal; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - } - - &:empty:before { - width: 1em; - text-align: center; - box-sizing: content-box; - } - - &.oi-align-left:before { - text-align: left; - } - &.oi-align-right:before { - text-align: right; - } - &.oi-align-center:before { - text-align: center; - } - - &.oi-flip-horizontal:before { - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); - } - - &.oi-flip-vertical:before { - -webkit-transform: scale(1, -1); - -ms-transform: scale(-1, 1); - transform: scale(1, -1); - } - - &.oi-flip-horizontal-vertical:before { - -webkit-transform: scale(-1, -1); - -ms-transform: scale(-1, 1); - transform: scale(-1, -1); - } -} - - -.oi[data-glyph=account-login]:before { - content: '\e000'; -} - -.oi[data-glyph=account-logout]:before { - content: '\e001'; -} - -.oi[data-glyph=action-redo]:before { - content: '\e002'; -} - -.oi[data-glyph=action-undo]:before { - content: '\e003'; -} - -.oi[data-glyph=align-center]:before { - content: '\e004'; -} - -.oi[data-glyph=align-left]:before { - content: '\e005'; -} - -.oi[data-glyph=align-right]:before { - content: '\e006'; -} - -.oi[data-glyph=aperture]:before { - content: '\e007'; -} - -.oi[data-glyph=arrow-bottom]:before { - content: '\e008'; -} - -.oi[data-glyph=arrow-circle-bottom]:before { - content: '\e009'; -} - -.oi[data-glyph=arrow-circle-left]:before { - content: '\e00a'; -} - -.oi[data-glyph=arrow-circle-right]:before { - content: '\e00b'; -} - -.oi[data-glyph=arrow-circle-top]:before { - content: '\e00c'; -} - -.oi[data-glyph=arrow-left]:before { - content: '\e00d'; -} - -.oi[data-glyph=arrow-right]:before { - content: '\e00e'; -} - -.oi[data-glyph=arrow-thick-bottom]:before { - content: '\e00f'; -} - -.oi[data-glyph=arrow-thick-left]:before { - content: '\e010'; -} - -.oi[data-glyph=arrow-thick-right]:before { - content: '\e011'; -} - -.oi[data-glyph=arrow-thick-top]:before { - content: '\e012'; -} - -.oi[data-glyph=arrow-top]:before { - content: '\e013'; -} - -.oi[data-glyph=audio-spectrum]:before { - content: '\e014'; -} - -.oi[data-glyph=audio]:before { - content: '\e015'; -} - -.oi[data-glyph=badge]:before { - content: '\e016'; -} - -.oi[data-glyph=ban]:before { - content: '\e017'; -} - -.oi[data-glyph=bar-chart]:before { - content: '\e018'; -} - -.oi[data-glyph=basket]:before { - content: '\e019'; -} - -.oi[data-glyph=battery-empty]:before { - content: '\e01a'; -} - -.oi[data-glyph=battery-full]:before { - content: '\e01b'; -} - -.oi[data-glyph=beaker]:before { - content: '\e01c'; -} - -.oi[data-glyph=bell]:before { - content: '\e01d'; -} - -.oi[data-glyph=bluetooth]:before { - content: '\e01e'; -} - -.oi[data-glyph=bold]:before { - content: '\e01f'; -} - -.oi[data-glyph=bolt]:before { - content: '\e020'; -} - -.oi[data-glyph=book]:before { - content: '\e021'; -} - -.oi[data-glyph=bookmark]:before { - content: '\e022'; -} - -.oi[data-glyph=box]:before { - content: '\e023'; -} - -.oi[data-glyph=briefcase]:before { - content: '\e024'; -} - -.oi[data-glyph=british-pound]:before { - content: '\e025'; -} - -.oi[data-glyph=browser]:before { - content: '\e026'; -} - -.oi[data-glyph=brush]:before { - content: '\e027'; -} - -.oi[data-glyph=bug]:before { - content: '\e028'; -} - -.oi[data-glyph=bullhorn]:before { - content: '\e029'; -} - -.oi[data-glyph=calculator]:before { - content: '\e02a'; -} - -.oi[data-glyph=calendar]:before { - content: '\e02b'; -} - -.oi[data-glyph=camera-slr]:before { - content: '\e02c'; -} - -.oi[data-glyph=caret-bottom]:before { - content: '\e02d'; -} - -.oi[data-glyph=caret-left]:before { - content: '\e02e'; -} - -.oi[data-glyph=caret-right]:before { - content: '\e02f'; -} - -.oi[data-glyph=caret-top]:before { - content: '\e030'; -} - -.oi[data-glyph=cart]:before { - content: '\e031'; -} - -.oi[data-glyph=chat]:before { - content: '\e032'; -} - -.oi[data-glyph=check]:before { - content: '\e033'; -} - -.oi[data-glyph=chevron-bottom]:before { - content: '\e034'; -} - -.oi[data-glyph=chevron-left]:before { - content: '\e035'; -} - -.oi[data-glyph=chevron-right]:before { - content: '\e036'; -} - -.oi[data-glyph=chevron-top]:before { - content: '\e037'; -} - -.oi[data-glyph=circle-check]:before { - content: '\e038'; -} - -.oi[data-glyph=circle-x]:before { - content: '\e039'; -} - -.oi[data-glyph=clipboard]:before { - content: '\e03a'; -} - -.oi[data-glyph=clock]:before { - content: '\e03b'; -} - -.oi[data-glyph=cloud-download]:before { - content: '\e03c'; -} - -.oi[data-glyph=cloud-upload]:before { - content: '\e03d'; -} - -.oi[data-glyph=cloud]:before { - content: '\e03e'; -} - -.oi[data-glyph=cloudy]:before { - content: '\e03f'; -} - -.oi[data-glyph=code]:before { - content: '\e040'; -} - -.oi[data-glyph=cog]:before { - content: '\e041'; -} - -.oi[data-glyph=collapse-down]:before { - content: '\e042'; -} - -.oi[data-glyph=collapse-left]:before { - content: '\e043'; -} - -.oi[data-glyph=collapse-right]:before { - content: '\e044'; -} - -.oi[data-glyph=collapse-up]:before { - content: '\e045'; -} - -.oi[data-glyph=command]:before { - content: '\e046'; -} - -.oi[data-glyph=comment-square]:before { - content: '\e047'; -} - -.oi[data-glyph=compass]:before { - content: '\e048'; -} - -.oi[data-glyph=contrast]:before { - content: '\e049'; -} - -.oi[data-glyph=copywriting]:before { - content: '\e04a'; -} - -.oi[data-glyph=credit-card]:before { - content: '\e04b'; -} - -.oi[data-glyph=crop]:before { - content: '\e04c'; -} - -.oi[data-glyph=dashboard]:before { - content: '\e04d'; -} - -.oi[data-glyph=data-transfer-download]:before { - content: '\e04e'; -} - -.oi[data-glyph=data-transfer-upload]:before { - content: '\e04f'; -} - -.oi[data-glyph=delete]:before { - content: '\e050'; -} - -.oi[data-glyph=dial]:before { - content: '\e051'; -} - -.oi[data-glyph=document]:before { - content: '\e052'; -} - -.oi[data-glyph=dollar]:before { - content: '\e053'; -} - -.oi[data-glyph=double-quote-sans-left]:before { - content: '\e054'; -} - -.oi[data-glyph=double-quote-sans-right]:before { - content: '\e055'; -} - -.oi[data-glyph=double-quote-serif-left]:before { - content: '\e056'; -} - -.oi[data-glyph=double-quote-serif-right]:before { - content: '\e057'; -} - -.oi[data-glyph=droplet]:before { - content: '\e058'; -} - -.oi[data-glyph=eject]:before { - content: '\e059'; -} - -.oi[data-glyph=elevator]:before { - content: '\e05a'; -} - -.oi[data-glyph=ellipses]:before { - content: '\e05b'; -} - -.oi[data-glyph=envelope-closed]:before { - content: '\e05c'; -} - -.oi[data-glyph=envelope-open]:before { - content: '\e05d'; -} - -.oi[data-glyph=euro]:before { - content: '\e05e'; -} - -.oi[data-glyph=excerpt]:before { - content: '\e05f'; -} - -.oi[data-glyph=expand-down]:before { - content: '\e060'; -} - -.oi[data-glyph=expand-left]:before { - content: '\e061'; -} - -.oi[data-glyph=expand-right]:before { - content: '\e062'; -} - -.oi[data-glyph=expand-up]:before { - content: '\e063'; -} - -.oi[data-glyph=external-link]:before { - content: '\e064'; -} - -.oi[data-glyph=eye]:before { - content: '\e065'; -} - -.oi[data-glyph=eyedropper]:before { - content: '\e066'; -} - -.oi[data-glyph=file]:before { - content: '\e067'; -} - -.oi[data-glyph=fire]:before { - content: '\e068'; -} - -.oi[data-glyph=flag]:before { - content: '\e069'; -} - -.oi[data-glyph=flash]:before { - content: '\e06a'; -} - -.oi[data-glyph=folder]:before { - content: '\e06b'; -} - -.oi[data-glyph=fork]:before { - content: '\e06c'; -} - -.oi[data-glyph=fullscreen-enter]:before { - content: '\e06d'; -} - -.oi[data-glyph=fullscreen-exit]:before { - content: '\e06e'; -} - -.oi[data-glyph=globe]:before { - content: '\e06f'; -} - -.oi[data-glyph=graph]:before { - content: '\e070'; -} - -.oi[data-glyph=grid-four-up]:before { - content: '\e071'; -} - -.oi[data-glyph=grid-three-up]:before { - content: '\e072'; -} - -.oi[data-glyph=grid-two-up]:before { - content: '\e073'; -} - -.oi[data-glyph=hard-drive]:before { - content: '\e074'; -} - -.oi[data-glyph=header]:before { - content: '\e075'; -} - -.oi[data-glyph=headphones]:before { - content: '\e076'; -} - -.oi[data-glyph=heart]:before { - content: '\e077'; -} - -.oi[data-glyph=home]:before { - content: '\e078'; -} - -.oi[data-glyph=image]:before { - content: '\e079'; -} - -.oi[data-glyph=inbox]:before { - content: '\e07a'; -} - -.oi[data-glyph=infinity]:before { - content: '\e07b'; -} - -.oi[data-glyph=info]:before { - content: '\e07c'; -} - -.oi[data-glyph=italic]:before { - content: '\e07d'; -} - -.oi[data-glyph=justify-center]:before { - content: '\e07e'; -} - -.oi[data-glyph=justify-left]:before { - content: '\e07f'; -} - -.oi[data-glyph=justify-right]:before { - content: '\e080'; -} - -.oi[data-glyph=key]:before { - content: '\e081'; -} - -.oi[data-glyph=laptop]:before { - content: '\e082'; -} - -.oi[data-glyph=layers]:before { - content: '\e083'; -} - -.oi[data-glyph=lightbulb]:before { - content: '\e084'; -} - -.oi[data-glyph=link-broken]:before { - content: '\e085'; -} - -.oi[data-glyph=link-intact]:before { - content: '\e086'; -} - -.oi[data-glyph=list-rich]:before { - content: '\e087'; -} - -.oi[data-glyph=list]:before { - content: '\e088'; -} - -.oi[data-glyph=location]:before { - content: '\e089'; -} - -.oi[data-glyph=lock-locked]:before { - content: '\e08a'; -} - -.oi[data-glyph=lock-unlocked]:before { - content: '\e08b'; -} - -.oi[data-glyph=loop-circular]:before { - content: '\e08c'; -} - -.oi[data-glyph=loop-square]:before { - content: '\e08d'; -} - -.oi[data-glyph=loop]:before { - content: '\e08e'; -} - -.oi[data-glyph=magnifying-glass]:before { - content: '\e08f'; -} - -.oi[data-glyph=map-marker]:before { - content: '\e090'; -} - -.oi[data-glyph=map]:before { - content: '\e091'; -} - -.oi[data-glyph=media-pause]:before { - content: '\e092'; -} - -.oi[data-glyph=media-play]:before { - content: '\e093'; -} - -.oi[data-glyph=media-record]:before { - content: '\e094'; -} - -.oi[data-glyph=media-skip-backward]:before { - content: '\e095'; -} - -.oi[data-glyph=media-skip-forward]:before { - content: '\e096'; -} - -.oi[data-glyph=media-step-backward]:before { - content: '\e097'; -} - -.oi[data-glyph=media-step-forward]:before { - content: '\e098'; -} - -.oi[data-glyph=media-stop]:before { - content: '\e099'; -} - -.oi[data-glyph=medical-cross]:before { - content: '\e09a'; -} - -.oi[data-glyph=menu]:before { - content: '\e09b'; -} - -.oi[data-glyph=microphone]:before { - content: '\e09c'; -} - -.oi[data-glyph=minus]:before { - content: '\e09d'; -} - -.oi[data-glyph=monitor]:before { - content: '\e09e'; -} - -.oi[data-glyph=moon]:before { - content: '\e09f'; -} - -.oi[data-glyph=move]:before { - content: '\e0a0'; -} - -.oi[data-glyph=musical-note]:before { - content: '\e0a1'; -} - -.oi[data-glyph=paperclip]:before { - content: '\e0a2'; -} - -.oi[data-glyph=pencil]:before { - content: '\e0a3'; -} - -.oi[data-glyph=people]:before { - content: '\e0a4'; -} - -.oi[data-glyph=person]:before { - content: '\e0a5'; -} - -.oi[data-glyph=phone]:before { - content: '\e0a6'; -} - -.oi[data-glyph=pie-chart]:before { - content: '\e0a7'; -} - -.oi[data-glyph=pin]:before { - content: '\e0a8'; -} - -.oi[data-glyph=play-circle]:before { - content: '\e0a9'; -} - -.oi[data-glyph=plus]:before { - content: '\e0aa'; -} - -.oi[data-glyph=power-standby]:before { - content: '\e0ab'; -} - -.oi[data-glyph=print]:before { - content: '\e0ac'; -} - -.oi[data-glyph=project]:before { - content: '\e0ad'; -} - -.oi[data-glyph=pulse]:before { - content: '\e0ae'; -} - -.oi[data-glyph=puzzle-piece]:before { - content: '\e0af'; -} - -.oi[data-glyph=question-mark]:before { - content: '\e0b0'; -} - -.oi[data-glyph=rain]:before { - content: '\e0b1'; -} - -.oi[data-glyph=random]:before { - content: '\e0b2'; -} - -.oi[data-glyph=reload]:before { - content: '\e0b3'; -} - -.oi[data-glyph=resize-both]:before { - content: '\e0b4'; -} - -.oi[data-glyph=resize-height]:before { - content: '\e0b5'; -} - -.oi[data-glyph=resize-width]:before { - content: '\e0b6'; -} - -.oi[data-glyph=rss-alt]:before { - content: '\e0b7'; -} - -.oi[data-glyph=rss]:before { - content: '\e0b8'; -} - -.oi[data-glyph=script]:before { - content: '\e0b9'; -} - -.oi[data-glyph=share-boxed]:before { - content: '\e0ba'; -} - -.oi[data-glyph=share]:before { - content: '\e0bb'; -} - -.oi[data-glyph=shield]:before { - content: '\e0bc'; -} - -.oi[data-glyph=signal]:before { - content: '\e0bd'; -} - -.oi[data-glyph=signpost]:before { - content: '\e0be'; -} - -.oi[data-glyph=sort-ascending]:before { - content: '\e0bf'; -} - -.oi[data-glyph=sort-descending]:before { - content: '\e0c0'; -} - -.oi[data-glyph=spreadsheet]:before { - content: '\e0c1'; -} - -.oi[data-glyph=star]:before { - content: '\e0c2'; -} - -.oi[data-glyph=sun]:before { - content: '\e0c3'; -} - -.oi[data-glyph=tablet]:before { - content: '\e0c4'; -} - -.oi[data-glyph=tag]:before { - content: '\e0c5'; -} - -.oi[data-glyph=tags]:before { - content: '\e0c6'; -} - -.oi[data-glyph=target]:before { - content: '\e0c7'; -} - -.oi[data-glyph=task]:before { - content: '\e0c8'; -} - -.oi[data-glyph=terminal]:before { - content: '\e0c9'; -} - -.oi[data-glyph=text]:before { - content: '\e0ca'; -} - -.oi[data-glyph=thumb-down]:before { - content: '\e0cb'; -} - -.oi[data-glyph=thumb-up]:before { - content: '\e0cc'; -} - -.oi[data-glyph=timer]:before { - content: '\e0cd'; -} - -.oi[data-glyph=transfer]:before { - content: '\e0ce'; -} - -.oi[data-glyph=trash]:before { - content: '\e0cf'; -} - -.oi[data-glyph=underline]:before { - content: '\e0d0'; -} - -.oi[data-glyph=vertical-align-bottom]:before { - content: '\e0d1'; -} - -.oi[data-glyph=vertical-align-center]:before { - content: '\e0d2'; -} - -.oi[data-glyph=vertical-align-top]:before { - content: '\e0d3'; -} - -.oi[data-glyph=video]:before { - content: '\e0d4'; -} - -.oi[data-glyph=volume-high]:before { - content: '\e0d5'; -} - -.oi[data-glyph=volume-low]:before { - content: '\e0d6'; -} - -.oi[data-glyph=volume-off]:before { - content: '\e0d7'; -} - -.oi[data-glyph=warning]:before { - content: '\e0d8'; -} - -.oi[data-glyph=wifi]:before { - content: '\e0d9'; -} - -.oi[data-glyph=wrench]:before { - content: '\e0da'; -} - -.oi[data-glyph=x]:before { - content: '\e0db'; -} - -.oi[data-glyph=yen]:before { - content: '\e0dc'; -} - -.oi[data-glyph=zoom-in]:before { - content: '\e0dd'; -} - -.oi[data-glyph=zoom-out]:before { - content: '\e0de'; -} - diff --git a/app/open-iconic/font/css/open-iconic.styl b/app/open-iconic/font/css/open-iconic.styl deleted file mode 100755 index f541bc2..0000000 --- a/app/open-iconic/font/css/open-iconic.styl +++ /dev/null @@ -1,733 +0,0 @@ -@font-face - font-family 'Icons' - src url('../fonts/open-iconic.eot') - src url('../fonts/open-iconic.eot?#iconic-sm') format('embedded-opentype'), url('../fonts/open-iconic.woff') format('woff'), url('../fonts/open-iconic.ttf') format('truetype'), url('../fonts/open-iconic.otf') format('opentype'), url('../fonts/open-iconic.svg#iconic-sm') format('svg') - font-weight normal - font-style normal - - -.oi[data-glyph].oi-text-replace - font-size 0 - line-height 0 - -.oi[data-glyph].oi-text-replace:before - width 1em - text-align center - -.oi[data-glyph] - &:before - position relative - top 1px - font-family 'Icons' - display inline-block - speak none - line-height 1 - vertical-align baseline - font-weight normal - font-style normal - -webkit-font-smoothing antialiased - -moz-osx-font-smoothing grayscale - - &:empty:before - width 1em - text-align center - box-sizing content-box - - &.oi-align-left:before - text-align left - - &.oi-align-right:before - text-align right - - &.oi-align-center:before - text-align center - - - &.oi-flip-horizontal:before - -webkit-transform scale(-1, 1) - -ms-transform scale(-1, 1) - transform scale(-1, 1) - - - &.oi-flip-vertical:before - -webkit-transform scale(1, -1) - -ms-transform scale(-1, 1) - transform scale(1, -1) - - - &.oi-flip-horizontal-vertical:before - -webkit-transform scale(-1, -1) - -ms-transform scale(-1, 1) - transform scale(-1, -1) - - - - -.oi[data-glyph=account-login]:before - content '\e000' - -.oi[data-glyph=account-logout]:before - content '\e001' - -.oi[data-glyph=action-redo]:before - content '\e002' - -.oi[data-glyph=action-undo]:before - content '\e003' - -.oi[data-glyph=align-center]:before - content '\e004' - -.oi[data-glyph=align-left]:before - content '\e005' - -.oi[data-glyph=align-right]:before - content '\e006' - -.oi[data-glyph=aperture]:before - content '\e007' - -.oi[data-glyph=arrow-bottom]:before - content '\e008' - -.oi[data-glyph=arrow-circle-bottom]:before - content '\e009' - -.oi[data-glyph=arrow-circle-left]:before - content '\e00a' - -.oi[data-glyph=arrow-circle-right]:before - content '\e00b' - -.oi[data-glyph=arrow-circle-top]:before - content '\e00c' - -.oi[data-glyph=arrow-left]:before - content '\e00d' - -.oi[data-glyph=arrow-right]:before - content '\e00e' - -.oi[data-glyph=arrow-thick-bottom]:before - content '\e00f' - -.oi[data-glyph=arrow-thick-left]:before - content '\e010' - -.oi[data-glyph=arrow-thick-right]:before - content '\e011' - -.oi[data-glyph=arrow-thick-top]:before - content '\e012' - -.oi[data-glyph=arrow-top]:before - content '\e013' - -.oi[data-glyph=audio-spectrum]:before - content '\e014' - -.oi[data-glyph=audio]:before - content '\e015' - -.oi[data-glyph=badge]:before - content '\e016' - -.oi[data-glyph=ban]:before - content '\e017' - -.oi[data-glyph=bar-chart]:before - content '\e018' - -.oi[data-glyph=basket]:before - content '\e019' - -.oi[data-glyph=battery-empty]:before - content '\e01a' - -.oi[data-glyph=battery-full]:before - content '\e01b' - -.oi[data-glyph=beaker]:before - content '\e01c' - -.oi[data-glyph=bell]:before - content '\e01d' - -.oi[data-glyph=bluetooth]:before - content '\e01e' - -.oi[data-glyph=bold]:before - content '\e01f' - -.oi[data-glyph=bolt]:before - content '\e020' - -.oi[data-glyph=book]:before - content '\e021' - -.oi[data-glyph=bookmark]:before - content '\e022' - -.oi[data-glyph=box]:before - content '\e023' - -.oi[data-glyph=briefcase]:before - content '\e024' - -.oi[data-glyph=british-pound]:before - content '\e025' - -.oi[data-glyph=browser]:before - content '\e026' - -.oi[data-glyph=brush]:before - content '\e027' - -.oi[data-glyph=bug]:before - content '\e028' - -.oi[data-glyph=bullhorn]:before - content '\e029' - -.oi[data-glyph=calculator]:before - content '\e02a' - -.oi[data-glyph=calendar]:before - content '\e02b' - -.oi[data-glyph=camera-slr]:before - content '\e02c' - -.oi[data-glyph=caret-bottom]:before - content '\e02d' - -.oi[data-glyph=caret-left]:before - content '\e02e' - -.oi[data-glyph=caret-right]:before - content '\e02f' - -.oi[data-glyph=caret-top]:before - content '\e030' - -.oi[data-glyph=cart]:before - content '\e031' - -.oi[data-glyph=chat]:before - content '\e032' - -.oi[data-glyph=check]:before - content '\e033' - -.oi[data-glyph=chevron-bottom]:before - content '\e034' - -.oi[data-glyph=chevron-left]:before - content '\e035' - -.oi[data-glyph=chevron-right]:before - content '\e036' - -.oi[data-glyph=chevron-top]:before - content '\e037' - -.oi[data-glyph=circle-check]:before - content '\e038' - -.oi[data-glyph=circle-x]:before - content '\e039' - -.oi[data-glyph=clipboard]:before - content '\e03a' - -.oi[data-glyph=clock]:before - content '\e03b' - -.oi[data-glyph=cloud-download]:before - content '\e03c' - -.oi[data-glyph=cloud-upload]:before - content '\e03d' - -.oi[data-glyph=cloud]:before - content '\e03e' - -.oi[data-glyph=cloudy]:before - content '\e03f' - -.oi[data-glyph=code]:before - content '\e040' - -.oi[data-glyph=cog]:before - content '\e041' - -.oi[data-glyph=collapse-down]:before - content '\e042' - -.oi[data-glyph=collapse-left]:before - content '\e043' - -.oi[data-glyph=collapse-right]:before - content '\e044' - -.oi[data-glyph=collapse-up]:before - content '\e045' - -.oi[data-glyph=command]:before - content '\e046' - -.oi[data-glyph=comment-square]:before - content '\e047' - -.oi[data-glyph=compass]:before - content '\e048' - -.oi[data-glyph=contrast]:before - content '\e049' - -.oi[data-glyph=copywriting]:before - content '\e04a' - -.oi[data-glyph=credit-card]:before - content '\e04b' - -.oi[data-glyph=crop]:before - content '\e04c' - -.oi[data-glyph=dashboard]:before - content '\e04d' - -.oi[data-glyph=data-transfer-download]:before - content '\e04e' - -.oi[data-glyph=data-transfer-upload]:before - content '\e04f' - -.oi[data-glyph=delete]:before - content '\e050' - -.oi[data-glyph=dial]:before - content '\e051' - -.oi[data-glyph=document]:before - content '\e052' - -.oi[data-glyph=dollar]:before - content '\e053' - -.oi[data-glyph=double-quote-sans-left]:before - content '\e054' - -.oi[data-glyph=double-quote-sans-right]:before - content '\e055' - -.oi[data-glyph=double-quote-serif-left]:before - content '\e056' - -.oi[data-glyph=double-quote-serif-right]:before - content '\e057' - -.oi[data-glyph=droplet]:before - content '\e058' - -.oi[data-glyph=eject]:before - content '\e059' - -.oi[data-glyph=elevator]:before - content '\e05a' - -.oi[data-glyph=ellipses]:before - content '\e05b' - -.oi[data-glyph=envelope-closed]:before - content '\e05c' - -.oi[data-glyph=envelope-open]:before - content '\e05d' - -.oi[data-glyph=euro]:before - content '\e05e' - -.oi[data-glyph=excerpt]:before - content '\e05f' - -.oi[data-glyph=expand-down]:before - content '\e060' - -.oi[data-glyph=expand-left]:before - content '\e061' - -.oi[data-glyph=expand-right]:before - content '\e062' - -.oi[data-glyph=expand-up]:before - content '\e063' - -.oi[data-glyph=external-link]:before - content '\e064' - -.oi[data-glyph=eye]:before - content '\e065' - -.oi[data-glyph=eyedropper]:before - content '\e066' - -.oi[data-glyph=file]:before - content '\e067' - -.oi[data-glyph=fire]:before - content '\e068' - -.oi[data-glyph=flag]:before - content '\e069' - -.oi[data-glyph=flash]:before - content '\e06a' - -.oi[data-glyph=folder]:before - content '\e06b' - -.oi[data-glyph=fork]:before - content '\e06c' - -.oi[data-glyph=fullscreen-enter]:before - content '\e06d' - -.oi[data-glyph=fullscreen-exit]:before - content '\e06e' - -.oi[data-glyph=globe]:before - content '\e06f' - -.oi[data-glyph=graph]:before - content '\e070' - -.oi[data-glyph=grid-four-up]:before - content '\e071' - -.oi[data-glyph=grid-three-up]:before - content '\e072' - -.oi[data-glyph=grid-two-up]:before - content '\e073' - -.oi[data-glyph=hard-drive]:before - content '\e074' - -.oi[data-glyph=header]:before - content '\e075' - -.oi[data-glyph=headphones]:before - content '\e076' - -.oi[data-glyph=heart]:before - content '\e077' - -.oi[data-glyph=home]:before - content '\e078' - -.oi[data-glyph=image]:before - content '\e079' - -.oi[data-glyph=inbox]:before - content '\e07a' - -.oi[data-glyph=infinity]:before - content '\e07b' - -.oi[data-glyph=info]:before - content '\e07c' - -.oi[data-glyph=italic]:before - content '\e07d' - -.oi[data-glyph=justify-center]:before - content '\e07e' - -.oi[data-glyph=justify-left]:before - content '\e07f' - -.oi[data-glyph=justify-right]:before - content '\e080' - -.oi[data-glyph=key]:before - content '\e081' - -.oi[data-glyph=laptop]:before - content '\e082' - -.oi[data-glyph=layers]:before - content '\e083' - -.oi[data-glyph=lightbulb]:before - content '\e084' - -.oi[data-glyph=link-broken]:before - content '\e085' - -.oi[data-glyph=link-intact]:before - content '\e086' - -.oi[data-glyph=list-rich]:before - content '\e087' - -.oi[data-glyph=list]:before - content '\e088' - -.oi[data-glyph=location]:before - content '\e089' - -.oi[data-glyph=lock-locked]:before - content '\e08a' - -.oi[data-glyph=lock-unlocked]:before - content '\e08b' - -.oi[data-glyph=loop-circular]:before - content '\e08c' - -.oi[data-glyph=loop-square]:before - content '\e08d' - -.oi[data-glyph=loop]:before - content '\e08e' - -.oi[data-glyph=magnifying-glass]:before - content '\e08f' - -.oi[data-glyph=map-marker]:before - content '\e090' - -.oi[data-glyph=map]:before - content '\e091' - -.oi[data-glyph=media-pause]:before - content '\e092' - -.oi[data-glyph=media-play]:before - content '\e093' - -.oi[data-glyph=media-record]:before - content '\e094' - -.oi[data-glyph=media-skip-backward]:before - content '\e095' - -.oi[data-glyph=media-skip-forward]:before - content '\e096' - -.oi[data-glyph=media-step-backward]:before - content '\e097' - -.oi[data-glyph=media-step-forward]:before - content '\e098' - -.oi[data-glyph=media-stop]:before - content '\e099' - -.oi[data-glyph=medical-cross]:before - content '\e09a' - -.oi[data-glyph=menu]:before - content '\e09b' - -.oi[data-glyph=microphone]:before - content '\e09c' - -.oi[data-glyph=minus]:before - content '\e09d' - -.oi[data-glyph=monitor]:before - content '\e09e' - -.oi[data-glyph=moon]:before - content '\e09f' - -.oi[data-glyph=move]:before - content '\e0a0' - -.oi[data-glyph=musical-note]:before - content '\e0a1' - -.oi[data-glyph=paperclip]:before - content '\e0a2' - -.oi[data-glyph=pencil]:before - content '\e0a3' - -.oi[data-glyph=people]:before - content '\e0a4' - -.oi[data-glyph=person]:before - content '\e0a5' - -.oi[data-glyph=phone]:before - content '\e0a6' - -.oi[data-glyph=pie-chart]:before - content '\e0a7' - -.oi[data-glyph=pin]:before - content '\e0a8' - -.oi[data-glyph=play-circle]:before - content '\e0a9' - -.oi[data-glyph=plus]:before - content '\e0aa' - -.oi[data-glyph=power-standby]:before - content '\e0ab' - -.oi[data-glyph=print]:before - content '\e0ac' - -.oi[data-glyph=project]:before - content '\e0ad' - -.oi[data-glyph=pulse]:before - content '\e0ae' - -.oi[data-glyph=puzzle-piece]:before - content '\e0af' - -.oi[data-glyph=question-mark]:before - content '\e0b0' - -.oi[data-glyph=rain]:before - content '\e0b1' - -.oi[data-glyph=random]:before - content '\e0b2' - -.oi[data-glyph=reload]:before - content '\e0b3' - -.oi[data-glyph=resize-both]:before - content '\e0b4' - -.oi[data-glyph=resize-height]:before - content '\e0b5' - -.oi[data-glyph=resize-width]:before - content '\e0b6' - -.oi[data-glyph=rss-alt]:before - content '\e0b7' - -.oi[data-glyph=rss]:before - content '\e0b8' - -.oi[data-glyph=script]:before - content '\e0b9' - -.oi[data-glyph=share-boxed]:before - content '\e0ba' - -.oi[data-glyph=share]:before - content '\e0bb' - -.oi[data-glyph=shield]:before - content '\e0bc' - -.oi[data-glyph=signal]:before - content '\e0bd' - -.oi[data-glyph=signpost]:before - content '\e0be' - -.oi[data-glyph=sort-ascending]:before - content '\e0bf' - -.oi[data-glyph=sort-descending]:before - content '\e0c0' - -.oi[data-glyph=spreadsheet]:before - content '\e0c1' - -.oi[data-glyph=star]:before - content '\e0c2' - -.oi[data-glyph=sun]:before - content '\e0c3' - -.oi[data-glyph=tablet]:before - content '\e0c4' - -.oi[data-glyph=tag]:before - content '\e0c5' - -.oi[data-glyph=tags]:before - content '\e0c6' - -.oi[data-glyph=target]:before - content '\e0c7' - -.oi[data-glyph=task]:before - content '\e0c8' - -.oi[data-glyph=terminal]:before - content '\e0c9' - -.oi[data-glyph=text]:before - content '\e0ca' - -.oi[data-glyph=thumb-down]:before - content '\e0cb' - -.oi[data-glyph=thumb-up]:before - content '\e0cc' - -.oi[data-glyph=timer]:before - content '\e0cd' - -.oi[data-glyph=transfer]:before - content '\e0ce' - -.oi[data-glyph=trash]:before - content '\e0cf' - -.oi[data-glyph=underline]:before - content '\e0d0' - -.oi[data-glyph=vertical-align-bottom]:before - content '\e0d1' - -.oi[data-glyph=vertical-align-center]:before - content '\e0d2' - -.oi[data-glyph=vertical-align-top]:before - content '\e0d3' - -.oi[data-glyph=video]:before - content '\e0d4' - -.oi[data-glyph=volume-high]:before - content '\e0d5' - -.oi[data-glyph=volume-low]:before - content '\e0d6' - -.oi[data-glyph=volume-off]:before - content '\e0d7' - -.oi[data-glyph=warning]:before - content '\e0d8' - -.oi[data-glyph=wifi]:before - content '\e0d9' - -.oi[data-glyph=wrench]:before - content '\e0da' - -.oi[data-glyph=x]:before - content '\e0db' - -.oi[data-glyph=yen]:before - content '\e0dc' - -.oi[data-glyph=zoom-in]:before - content '\e0dd' - -.oi[data-glyph=zoom-out]:before - content '\e0de' diff --git a/app/open-iconic/package.json b/app/open-iconic/package.json deleted file mode 100755 index d1e76ca..0000000 --- a/app/open-iconic/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "open-iconic", - "description": "An open source icon set with marks in SVG, sprite, webfont and raster format", - "version": "1.1.1", - "keywords": ["icon", "iconic", "open-iconic", "svg", "sprite", "font", "png", "webp"], - "homepage": "http://useiconic.com/open-iconic/", - "author": { - "name": "Iconic", - "email": "yourfriends@useiconic.com", - "web": "http://useiconic.com/" - }, - "repository": { - "type": "git", - "url": "https://github.com/iconic/open-iconic.git" - }, - "contributors": [ - { - "name": "P.J. Onori", - "web": "http://twitter.com/somerandomdude" - }, - { - "name": "Dave Johnson", - "web": "http://twitter.com/protodave" - } - ], - "licenses": [ - { - "type": "MIT License", - "url": "http://opensource.org/licenses/mit-license.html" - }, - { - "type": "SIL OFL 1.1", - "url": "http://scripts.sil.org/OFL" - } - ] -} diff --git a/app/open-iconic/png/account-login-2x.png b/app/open-iconic/png/account-login-2x.png deleted file mode 100755 index c1e30db83c4c935f217b3961bf903aa5e6269cfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5j=+#~YhufM3cK=J`5Ha0drFP)#~ z4;(0%+SusG-Tk9Jg-!7fkgdpgmm%nI!-^G0m%Zd-meUtt`YgGD{ZTy|Tibu;`FtOC fHrQ1rK44^+S}8j>`)Aivpk)l6u6{1-oD!M4nJ za0`PlBg3pYARX17E{-7{oo}ZeoJ-W2S*wVVc@6pbACQ>GAIXd0qE=4~) z*xqosP2xAxsvC{#1$X#-&YM_gzeu8y{ne4z777PgOuWuV1u`+FE!fQQB(d_)iAh{6 z5=C59x$NaP=R2Q8z}%=^SN3$}0-eF&>FVdQ I&MBb@0Qg%;g8%>k diff --git a/app/open-iconic/png/account-login-4x.png b/app/open-iconic/png/account-login-4x.png deleted file mode 100755 index 0f216ff08cd4beb67a55fb6b87c7f48e05460b94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H%PZ!6Kh}O5$4{|mb@VL&GlRdh$#8}qL{bP)OQ)th!WnwDwMVgtv zX3cL3dm$?HEoRj=oo5W1tGMP!o(=fOXVJiVfWw5XbdqR;WQOR^-v*2v2bjL7GH#QY zsB6h6Bd+7L>4`AI$w?ae-;HaY6!zWr*U+h0oqUk-sX!E?j>Ga3=ByK<=E*)-_f)B& mp5MaZ6wigq0y5_g&m~ z&1QnY0eE38D^gdUU7Qnp7dX`6Bwj9ITVl7e`cI%VYBM=+Zla8KQef_`njxgN@xNA DDEfGe diff --git a/app/open-iconic/png/account-login-8x.png b/app/open-iconic/png/account-login-8x.png deleted file mode 100755 index 42f9eafae5e680d7b48f683414f088a1c484d120..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCnw~C>Ar*7p&T`~yau8sV?zcPY|ML8oz+WQgUZ3n1j7eCKwovF485!uSTl4Q^c*%HwN*Hpo858PzX2u$@@I07;W3FW^9i?|4}2*w R76FDNgQu&X%Q~loCID+ene_kw diff --git a/app/open-iconic/png/account-login.png b/app/open-iconic/png/account-login.png deleted file mode 100755 index 50910b9d11e7ef62b742565e09edeccd8a7ddb33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5j=+#~YhufM3cg7kr-2M%m#h-uy; zDIu}WNI4nJ za0`PlBg3pYARVQiE{-7{oyjQ*e1Ft~WZ4pw!XGc#*f7!U*`el=7wm#&+&d&BB*ZS9 za>`|6Yg^4DqT;Rbqrc^$LStj&Lv1roFWm;#ll5GNe%xWf2MhLyUAV(;FyVm1Vhabh zC>|3ZR|ALM8iwr&TXd8-I(Qce#w_k-YGPpEvWz-dqg|0uJ+at-WGTEiPTzcj=ZHXY!;;8O(%J@b%8qr|6G z4>=emKiylb^}y5l-^zw6X*V&EV1Yngr%v~kysAd3T1*D-wES4!*d{RPnkM{js^^qA Z#>u7K;!}L-6c5l{44$rjF6*2UngB1eOtt_3 diff --git a/app/open-iconic/png/account-logout-6x.png b/app/open-iconic/png/account-logout-6x.png deleted file mode 100755 index 89a1d3890497ceb2aa2ead9212cff67959ccb4b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I9PZ!6KjK;S!9Qm3IL|oXX%em@bU0kWz|47Q*?5A45k6TtgbEcPY ze!2MaeLLsh8P@l*&DD=NS0^!=i6t0sRG*Nr@zlxn4XigJ8hqUz@H{ZfkUPASX-D&w z4SQ#VA5&vJpj>=V;S!UnQRZXEB`irPPguC_DJv^)5Stm_-_H^?(Q=Q2qqR}H*aZ7d zZE+6w6-s+Mm01_1nq2A<>Hfk!HBVKEbc!)XnRFzGCon^>bP0l+XkKmpf^p diff --git a/app/open-iconic/png/account-logout-8x.png b/app/open-iconic/png/account-logout-8x.png deleted file mode 100755 index cd3655867a0fb66720cd504cb3fc73d8d6c225a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCGM+AuAr*7p&NAdXWFWv|KE;OB?&h9O6# zLAJrSzrna+c5vUz9ZWlvf21Do{(3rV8AHVvn*@VArfsLnrDb}$8KQrdFmc_}p6_;G z`Kjds0jvMq=hj#eZg;Cl_(S&7#k%5*x>NhN?P3)<6IvP0_|m@3OwYrHNqVKZqxZp> z>ZaWc3vyK!ZMLp|wRpo)g_p-CEHx9lSeRY#id)dz@shS-w`}JNnQfiti*(~e7yM^- zTiVgZvVnQSM20d3Gob@~2hxsMDtyT_tYrqdw-+X**dpM>A?Ck#g42a2_C;%ffydzK L>gTe~DWM4fdkKf~ diff --git a/app/open-iconic/png/account-logout.png b/app/open-iconic/png/account-logout.png deleted file mode 100755 index 4cc51d1b11b36e6121db57c57db7000ec4b29d1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5Z#!*7Tq`oTvWXU*kW~MLC7X7Qf(>=9&G#GOwcch3IChigv?YuIe}3C#6qS zIlkyw>S>Rng9>{LvVKYPO-zyH`_0*usbbM~SjX`~H_Lakf|=nZ=N3$6Sf}+MXouI` oIIlx$heIb_E715U_0RX-v|C11p$|hifR1GFboFyt=akR{0RC21^#A|> diff --git a/app/open-iconic/png/action-redo-3x.png b/app/open-iconic/png/action-redo-3x.png deleted file mode 100755 index 475b14c06105b7ad76e5cd27f0d318661707c621..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARS*kT^vI^I^SOK)nf@1X?y6tk?G3;8C$1Wwh0;=6{Qmr*pv8mlh`k* zrL8&OvxHZr?v#V*RIj_gcE+kb^7hLsDth;OUiHuOJU0(=s#P4SF7qqsc^mOTV7f>2 z71nFJ4)A}xBQ)>22z%~BeT&0-ViQxI%boiuHDQmbXWNd0Zij`UcdV{Fnf2n4<}~RC zm25lsJ&uKnn?>iuojY-Tdx)po(Swz19&B6ufbsRsqNhHEp*cFGEzfU;|808x>4DRd z1OWk?Y3$FHSUnv+Tx7TLmwHiOJelLg#QC|ek7SxjPhF%Ea`A)Nq?r#(C*6AxI_cg+ g*OTiH{;#lO)M6?=n)4{+B+&m1p00i_>zopr0CFITiU0rr diff --git a/app/open-iconic/png/action-redo-4x.png b/app/open-iconic/png/action-redo-4x.png deleted file mode 100755 index 74d4933a463cf71912967b4a5a90008e474cfe7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmV;S0bc%zP)ZM4em|u?5k=6w;FR-X>{9>>tjOdv3lj zIU$#E{(B}Od)Bat8kR7Vti7OtD_r0bUuDTnqK^CIrZLsPE-FRgRoo5$?yegw=Y?o(3#&M^|f2SsH=Aq1^8IV}*-c-Rm9!n5-z*(SY zD@)+H1b92=f%TQFi_;|vEb2dkr>spe2U2XN0|L!q!rKX*h8@hpr&iIFA#kAcHHVV! zJt%>nDG^hp!ShIz4j)8fXz&<`p~L%0j0~P7F>-iX;@9Bg{Ed7A&Je=`qB4@|00000 LNkvXXu0mjfsoJo; diff --git a/app/open-iconic/png/action-redo-6x.png b/app/open-iconic/png/action-redo-6x.png deleted file mode 100755 index d47c3195b141604f532e2bead5cf5f96f30deb03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hqn7oIMTAsLNtuW!r}ag;dlaenxdEgOu~_!TaC2{m~H2z=sdI8^)Oqk^Lp}fe4}$MMO67l8d}z+r4PEX(nhqZ^JK(&=B+qtE ziMC@|Om*jH-wyfXwSU$G+HGUbS!A#KQ}yP*wb3#2UycE+DKwiPb)`?=S? z>HT9#vkh&RH))xe|JmC%yFzcZQR?I$VeUfSb?g5yY%kPG{A2U(LH0?NZJ{^()ITIj zyy(m+J-w-8Ip?Fr>5Hx$?7RA`iuGfl*_71@vsVhQePF%rTB7YC)0dty9(&ZcUD^F< z@tq0(^!Lm#`Jp9u{q=0`nZ||}vya5(J9SZl?M>a^m8(wGZ|)B7Oup7_Rkf+VZ<(iW!p;?o)vKRp&f4C2e!lgp z&Ebwqbhs~_J8+IirhkdPZsXrY4xx6hRu|3qQM2x~&NlzGC7eDE6ZWqUKG`jpWjLoH zKp|kMshT{eXluHbJZJKef0;i$E+pZ_eSLlZC&u@yY+ogK=&vX+AuxEl`njxgN@xNA Dd?XMp diff --git a/app/open-iconic/png/action-redo-8x.png b/app/open-iconic/png/action-redo-8x.png deleted file mode 100755 index 3cd2874d2309386b4e5b39c4a30f6feb2ad9c2ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 779 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2GXYdu{YLn`LHy?ML4H&EjE$NpZ&<|K{BB}>)5Kkk!WI;ZG|GRJ?0 z>Ds5ZI{jo9dF20~O?zUIqs9}7!>r9teB#;r6SLFaS6;9B{-)}FzU|vvYrn2}{{2m9 z#kE@|5O8IxrRa}2-Gw>F+2Kn$0jQhQAvBw;< zJM(^Z)1;mUEcZ0^tF&exDAajBdzPd@&*UE}`#<>27MZ+fh5o6k1pRp{<0_Wh9(-r_ zV)mp~i{<|hS-<5G3t98k{@Me-qz9I7#lk{Y{m?)5VT+St>RUszC0(z>*n1vYg_YI( z7d9{S{bMTkXzLEmLrFc`e)lJ9n=PCwRluIVfwkZ0x9gm5{(onGO}FT}s`_W`QNukG z>eYItb)-j${VG4}|6qa5(USsvC!?+JWc@yS?Edb*l~+ZSm3Jt_3;8|g%E`a|&|K!k z(-JAZ$GdGjZ%masvth?M`(*c3nP*gx)yI{q^L`iezw26W zwE3)fq42$#50WF+@XCF;^>E6;s>aBM>6g+DE{$W$N}M-i<$Fs}l~1DS!nHY!w5++{>LXZ3pANQ*w1y=Z}`oIrJ=#H|mjTS-{R&H|mqOv+35q`_O#i z?U8@Uccr!*Nlp)V`BP$c(^nA3xIDl!cAobx(-VJPrp`Wjy7=| zV~+C~r(RY`*v32~mrarJ;FqU4T9Nm8S1Ebav#k7caYW>!PC{xWt~$(698oGajgIV diff --git a/app/open-iconic/png/action-redo.png b/app/open-iconic/png/action-redo.png deleted file mode 100755 index 54db46ee95b3c89ec02d77db9c27f2f2ab339d94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY54&-PzzY1 zWa79(J z7e2bg9QM$8_6?iqz7{1D7n~E&IlQo+CADpVMpI&ky)lbehR_G^8&5n~CT+M`;PuH+ e#%o_&{bcp}bffBhUpqm*VeoYIb6Mw<&;$U?kX8Qx diff --git a/app/open-iconic/png/action-undo-3x.png b/app/open-iconic/png/action-undo-3x.png deleted file mode 100755 index 812db3163b5b291d4a13e3fc5a9a6e0430147aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARSLUT^vI^I^SM8=*#3N(*AM&5v~C13k60}FB#XVnYl0vMJtFUzDeX> zz}v(w+*Huedpb?ty61Io{U@W7vuD1qo*8@YrG~RlU_#^9I^7Rl%VRz;%)g;>h5emh z6ABvvK{D{=?8S{ezn4^AD?@+<)*~CWZS~Z;|J<8#Av0 P{mbC#>gTe~DWM4fC*p*w diff --git a/app/open-iconic/png/action-undo-4x.png b/app/open-iconic/png/action-undo-4x.png deleted file mode 100755 index f71efbf0143ef8deee1679eb646c737bf6f03a57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcmV;P0b%}$P)1&M>& z9P`epxq6*s?U>fJ=*Eqkni(%;T_#D~IX1sF;*4C=>9n%*GiUZHe?G*{UHokJ_dm7I zb!34c{p3!zBE1J6Xl=F z#htrV;e2ma{;cI`d&=H;tv3rbd$UI8@x?7}-Iw&!qR;;Dd(!ymkHyq|U!1j;o(oUq z-1}LT_g5$9{Ray7)o0f7oVMC9ZN`UO)|oNiPFZc3HRFx5=wu(ZRDS*?ZyPH^<`FVdQ&MBb@01SEsAOHXW diff --git a/app/open-iconic/png/action-undo-8x.png b/app/open-iconic/png/action-undo-8x.png deleted file mode 100755 index 3ebfeb07e97273215a58411f8a345c393688c7e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 760 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2GXvpiiKLn`LHy>T*2Bv9no$N9lRf#OoE%ipv-2oo_cROaw%I_#{$ z$G_locT=>u)(@tprhQG)v7SffS~PfxG#@@D7$PHfmGzckZt30Vs~1<<&+!dT|8Z__ z?dv;>mO{Wv9Vv%%syF&LbB5r`>blRL5uT_zU@B(FWq}2 z#g`Phmdnei%eZ3ko))=Vted?f}>H-H*l6KbNgprj)-6RC|=_DWv-)BwjRInY5Sw(=M9B-j_f*N zaku7p?wtv1pE;j7#TOdU$vgMY?Tymb8+K@)^L}$^@sY2Jx4-!>jom6a=g2XkuQ|sw zZOqHnb2J3kt1Dmn_dNb_hsoiy0)4+~zs-2}XI{^g<$qJJ@)$4P@yUDM=ao$I6Wo4? z%lL(c@b^8;R)3z7vqAI{kEQ%Z{cSVsW*kw!xk1F#aNg9kr{9l>1WwYt>1PpZc3_3c z=33d?b#{G^Wy7Wy+9{uHG|yP4^yRgQ%0I8)rw;AdweDzb?Y<)Z&iKE|o~Qf|bG~_h z{NXN(kH%ux#OEZ=Nq+a{kNUJE|CB@Bn}jPCeuymFud(R9U*YQizB_O3%R07Utp~fB zlJMPQ-6teMKkz8KN^LMTy4dUSUu&lBrG}3uR4z~a7y4P-)=%;Ws(AIj z|4WM5rTt!ZVn0>Bx!$p^*&&?l7_@}ZKI?>`0T(aRf8$(cw%7v;B6W64f0s&4ekp3L z(lNh9;oq*?>szHtzPesW_-N_aeDpaBuh@KHlZYBWq6M~Z0fRrc|FD#so$po6o0|zt Ox(uGKelF{r5}E+!eq(C@ diff --git a/app/open-iconic/png/action-undo.png b/app/open-iconic/png/action-undo.png deleted file mode 100755 index be4df7a154738bb6bc467c3260864ab2658c4d83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5j*@`-$z`F=_wd$%aC^7Gno zJbA9lli_}>S2$YUZij$j;?YYDF^xBB=g!s?<*3bf_{DPk{(+GE82w2)JOOU@Z$*Jd OGkCiCxvX4nJ za0`PlBg3pY5PZ!4!i{9jvgoGdG9T*c9xqN=W(BqL4bhv3^W8#gLgBey14HIYa ZF(@r#;eOUt^BJgz!PC{xWt~$(699Y;Bi#T1 diff --git a/app/open-iconic/png/align-center-3x.png b/app/open-iconic/png/align-center-3x.png deleted file mode 100755 index dd0746554204460ab06509e0645295f0f6ca6118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARVTjE{-7{oyjQ)2|vy|I3IBFKKwH2poRj6#Kj+1yaEe~-GeW3F!b;& mPQ9qHK%{4y>*9tY28JJ}ScDDz-{}GkVDNPHb6Mw<&;$UCN+@Cg diff --git a/app/open-iconic/png/align-center-4x.png b/app/open-iconic/png/align-center-4x.png deleted file mode 100755 index e5c987a072d68d5f973a540cc50012f016c1fdd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{jr;B4qMC;pYihK+TJkA&6-_@sIP`RHm{6S=&qwEXy#RF73c{ vBH8S(_`11YwGA3X-Z1ZHpYVp6Z33V4d=}}z13ou^<}i4=`njxgN@xNA_ysJE diff --git a/app/open-iconic/png/align-center-6x.png b/app/open-iconic/png/align-center-6x.png deleted file mode 100755 index 1a861b977281c7f934db9966282ccee1b73d3957..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}x8r;B4qM&sKX8+jWHcw8N4|1EE06$o_)J z{-dhk%Wxp)@5gPod%sw{{#fncFpHt#=B{tME2qiqXJ=W$$uQ&W{(xBxCX5W5Z8v>p V(T?Cc)daMF!PC{xWt~$(699m3Iqv`f diff --git a/app/open-iconic/png/align-center-8x.png b/app/open-iconic/png/align-center-8x.png deleted file mode 100755 index c6baacce533b221e98efcc27a0d17e7297ec01b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5SSve&9>dbhTB9W*t5p7Uk} za~2x{GcahqK4=`jUw=pK@wfg>s5066{_p)i8AJFV|Bvva(UJ@JRzNWW!-|*#2Ux8C Ts#c!^x`V;f)z4*}Q$iB}RZ2un diff --git a/app/open-iconic/png/align-center.png b/app/open-iconic/png/align-center.png deleted file mode 100755 index d4b10705e60db5a36898600749ab851f13dc5d3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5PZ!4!i{9jvgoGdG9T*c9xqN=W(8IH&ol)5+y`_zjOJZT7!JSKt Z3`WaXxLdM3B!PMuJYD@<);T3K0RR;8AL#%9 diff --git a/app/open-iconic/png/align-left-3x.png b/app/open-iconic/png/align-left-3x.png deleted file mode 100755 index ad1cbccb68e7ef4303b3286d396761ed386c1ba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYART6&E{-7{oyjQ)2|vy|I3IBFKKwH2poRj6gyf3pT@o8P`<5*dWLPn? nYeUn;5EG^Y8IdMj8te=LH(7+c)NL$*CNOxq`njxgN@xNAa2+Ne diff --git a/app/open-iconic/png/align-left-4x.png b/app/open-iconic/png/align-left-4x.png deleted file mode 100755 index ce5ae7673dd914cc69049592dea65b374af49674..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{jr;B4qMC;pY3q=_WIG8Vbf4{%;E<KH8d!nmFnGH9xvX4nJ za0`PlBg3pY5Md3(_E%fnh<>A=`x0U-ccCuP~ZIF$2R?;dhMx_-`bl bsQkppaGu3FGAA_$=mrK)S3j3^P64nJ za0`PlBg3pY54nJ za0`PlBg3pY54nJ za0`PlBg3pYARWe@E{-7{oyjQ)2|vy|I3IBFKKwH2poRj6#K#kXs-?Zl76~#)NV=U~ j6zHHSq1)}o_>_U+Miq;oD2rzUP&6&QSe9eB&=ATPjR_ojkH@?c)zopr0Q0mh9{>OV diff --git a/app/open-iconic/png/align-right-6x.png b/app/open-iconic/png/align-right-6x.png deleted file mode 100755 index 0b2eb6a661ab594d141078875a6c8e4e1f010ca7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}x0r;B4qM&sKX8+i{HaJV|2_-CzdtfIM3u-tZ1JZn+-)!63Pm+XI3 z6?_>EuY77b6*B#EAz5UpGM#fAghO*E4Q`Ep}_!GQYG~fJQCkHf~ N!PC{xWt~$(69A~AG#dZ_ diff --git a/app/open-iconic/png/align-right-8x.png b/app/open-iconic/png/align-right-8x.png deleted file mode 100755 index 55b712fc4abf636f825c7d2e88ad6289eb173bf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5Q@c3 z7~z~OdMnbj3JnTAt18&NA17Wul<|YRxoElF$06vKYj!kBn%YN Ycj{oV4Bq+O1Ly(4nJ za0`PlBg3pY5aO5PMx0L?|aVo z`UXg6VRp1^I zc|%HUHOaq*m$)3E>kl&ABmyOP!hH1hmyP(^>I?Kouz*D@{35ViBXC{~bmJtzi(do^ zvhQE@0<_77mn!%Dqn%I1N9@$#lkuEI`3GM~3C%c8DmV+gOSV|GdvYk}pJ>KbLg)$n zG$B^7o|5YmfeH?=AFY*TE8H#{@(yOO9WMbNM+R#*tJI((00000NkvXXu0mjfNrR{B diff --git a/app/open-iconic/png/aperture-3x.png b/app/open-iconic/png/aperture-3x.png deleted file mode 100755 index 606e0b46b675980196c067489c8c5f948021fc3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 556 zcmV+{0@MA8P);BRZNT#`1|w1aKn}hezwuQlPpko4t})mV<&I)k3SWUQ$)ammlH~2J z$cxL@`cM7hjLj7Vb!nOtm7c&NLU}2KH5ijtpfx+vH!Sy()PiWbn zQ9|1PIrV2ot4tWgy^0;2X>f{KU8#U~@Z^6Pv@w-2Srz5o6gs2Z_=x4H$$p__Q-f1c z&f&}^(%#>bJIRR(lSk3~GWE~sERN*hr49;z&~ninRz~v=GVm$kz3546aU(j-@o4T? u0-naWaF30(9_Mf&inZ|;w}ktt1^)p`z3n8|TV6N-0000^Emr_!*Bw1KtpX{RPYXuaSLa01|4~UcN~Ii1@My? z{10%LU6B6{yvZ5(f|dUWu4-R_fe-L4`r}9|p48sJH@GqxsFk zG3sa_R_7V$jq3#ly8PV>9Is(IFRq9-UsfZ9*DtkrRW!f7PWV#{OTnv}jF*W7m!i1? zTP@Sw!;PP+iBB9YOrC(ZpoPCk$7!)51U5Q{+MBRxS1r^+gkA)~|l7;vpLwpc7S%g3Y ziGmt+)Wk;|CuW?qi|RI=o?CsZZr}9ehqLIur_TA$tsxEh3)tpoAG;1{wrY!>oAHbG%{rpAK+FT*H7Xn;BoA&KsqKr<6+F}M*xelsYdec z@)OSOM-Xs7_SYQ1Kf(<64HsZ%jR9<`n_x;#4&kL9iMQmoI>}#-Kk$&S6qeye{MG~c zZs~JIF8K?wug&;JSduXAbbMAZfLQu0z^}sol7vP0w!pzJxF%uzEIcWHZ-}MO?ak-k zU|~uC8%i8KhdBv$R^q!v^4-#BW1HT)Wlq;5I^2$P5`tKWcM|Ny(r3QuOZA$Vvw6Zs zk~-yo5E_%iGd&^E~V*7~d^@-i-KstW$BW@Jp`} zKtss&l?g%2#S0x{W9c)5zaswj;P`gsbv=-82!-9MgaBH&-l1YJmOiUWeBRZrJlX^K zQJk7VzJ=59p?LbdUgG!Dmf~X7>-qHMDh*n zCcN30!W5no-b%mlVnzUy#8;ry&8bcd$}49YB456R6Z^{@;f3X{h=&zf<2rV@KI2(= zBu;RSf3W8k)Wxr47u$QH?PS-a#?yo#j-&z3cv)`cp4(ec=W*}?|atx8Rr zzL`Mlhgvp$TW5-3H;g#Eq18R%vLKvquv~^3i1#ytxHn>FIMYswY%C*B=t7TW82vb6X8=FcNPag?N(lfi5jtimhW`~h z8%21&Ch`;V&+cxL-fp=wV&jS$$WKbh`xtI%8Ypw}USxdE0li4}3thaPaFuYQ-p$bg zq3A2Z%N5Cw38`EQ&K4@rZVqET&TA`>->h1@vMY|kqr$yFk<$&4adX7G%$>3a_ei@` ztc<0?wd#Qm=My3q58{3Pmh2Vo)naLQM6g7dkuTebtd8j3Y&z*lVGp@ON3TBzbxqZB uVaeQwR|=lb#}?uCbB9o_Z&AbFZTJRJFJ!|dt-*?@8)?RDfE}h5rI0}bgA56pqY=^km9K^B!1;#AMr?rx)JML*EWrVtrx=G*uuA=#a9ADWVzDD$Q6Kp)>!Fo~24-WO z&Tqh7HF3(q;aKK>68<*`yFENnZw#LG9}oX)`z`t|_RO$xA=apN1B$|bXW{i+3TN3o zllu*`GHgx4`>NZ3qVT^48*o~Nui!xZ(Z+#!7@cTy3*6tvW|iUpdhfGquz#YTM&Ywa zM<%Bl#}wsqhNAEvFMRub&wq-oQyhFe!I^c!Yp;>AfN&$s%^8Zq|MDg}kHtE6T&7d6 zVyDka)F-R+bwiFBe! z9>&Nh>YFec&qUZR3jd1=^e=0r*p1~0B#Y!D>=#MCKQ7QZXNU>^7YqDaff3CVXC#n| zl|ON1H1$o`3yYiBD+>QH_&dU{3!5o-s*>}d^c0%#E!{W3R#Et$7wOaDfr@)qOu7dv zadJBE%`gSuiwpnx3H}|_U-8xi#TZ#2BqLQ}0;U%{GfMc$#rk+>f8}Psw;cHk*P$z) zYc{4Q`ua(q;#lQM*L|{7xIYXQo@?P(JJ}VcW+)DnN2R~_tHelo*XMgG~f27Zrx_$lFCJJj%`atHXoDksfkwc;dXu+S|W#HBW%-G>XYTU~52 zaDsB=duV=pS}*kXheY?a4IWj&1`I4tF2j*ElE_5^-zi6a75^@Q%@gj_sc2eY=rE2^ z{@Z`MAyi2EnjPohmjow9VGgb@%O(T4$xnYQA*8Z^%9HPr(J|W9rk2w{sq<%WcMBg<C})z|AQ_@t{ogVt4FJYu1FRRhOG;#QU(Va+i&@iqDeSHIiR0;l^dS46a# zJfy<6OaqT(IPrXh?PVEui{zeibX(&VX|n{sW2*w2_a@jYlJ&xnbVqTzv}R;cYJ7Bp zt#-0fm~yQJyW@>W$L1B-YT(;QTdib1cBqP6EV_glz@G}7`&Af|Z-?9t&oZ1^A*U>i z73TTc{kLFhfsNE2-#570;51}fVmxlsyj}Hlfo`|rNa_)WIcFJS#0O%yaO;|DQ{Qp5 z;%U*RZBBTdKzgm!J8ij;B7cB)^iFYf3jY9?kr=!1 S`hea500004nJ za0`PlBg3pY5P>x+G*`9Rwp(dv^pfY&SLTGgnm}P8Eq359f^3I z`f57&ynw`pHKAe|9~vrkwChh4y7$(_nC(dXF;UH8LA&xciG$L4F%qpw)h}Iu4q@bP0l+XkK=dVkJ diff --git a/app/open-iconic/png/arrow-bottom-2x.png b/app/open-iconic/png/arrow-bottom-2x.png deleted file mode 100755 index bacc577e83da49b6d3be84665564a20e1ab52347..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5>IJLMk|)Y-`_{-LIAUUEc4HM6#sQ@X2X z;u43)-HqS3q)*CKGp;Y2oEm%ny31B?RAmmP~b8PzziDFj+KUTg$9g2B_(&t;uc GLK6U1h)A3O diff --git a/app/open-iconic/png/arrow-bottom-3x.png b/app/open-iconic/png/arrow-bottom-3x.png deleted file mode 100755 index d31f2f7f25edab47a5b3a2f5feb62fe2a56de674..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARUW5T^vI^I^SN~$jM~L;Bc{Ai^HsG>ei*kI~tvLv}*5YuxMcBC^P%! zm++J=Y?|1jqmmYU%{xC^y?0ia@TC4yOUk7Rv1gHwBrmMow39D)0q>SZvk%i7xBki0 z>sOk8&3xrSJw8Ft9GQ#W`-Pq72tO6?S#^S0IA;He{2A9KvZw8Ef5LyJej>Zr!~>f+ yD-%K|<^8ZQW5f;Aj8;vq=1*t;SeW>xWnVX z3ZWcTzINqC7DtCI{1>NO`Ww2}Gc0G*@3bd*Etc=k*ln8eap|+7o9t2x7!hcK_y)Dg z?|-8ryUyk1EP8d|-}whduNh2om>6z3yiu@cmW|$dfqk9WCuxI%socpAG8O6>h2x77 z^8_}0&=n6;eR4aX$YWppZl<4t8Erfa8H~$iezLx3o5sC2MB@{?!7493p2lh^gVj-b eK8;KJ9pzW@m27WaxZe=yEe20lKbLh*2~7YqKVFVOtjN3bH~dey zsSws&dUTtL4&UM%TQZ{rTm)Kk+op#nu77|2?p^kWzYlDW*-<^O?9SDK<3_1_pMB_I zk+w7EZ)9Duk-=1K!7-*Q5e-t@0m+P6Iu5;Pf|ErH9KSq@DY>Mv`FQHrDJruM>{xQZ zs+c=xClA97Ryn2<_Kd#QKN(gZIJ5YV^o5VA@|RidY)_nT6u$q-(3YREIpC9_v->0O z2UZ)b1!`~fYMoejPUHsXn}5!-J5CFpnI*nJ^iEZ)*$1D>pZpI39{g5kKVbco>72?k z$vI5iT_^cn`*!l2n7;qu=l;LDVkYX<^P7}p9lgP(rt&o1C46GNqj1HO@PFJElcYiu n4nJ za0`PlBg3pY5)2HC>pWc?Ln`LHon@%)S}4&zzc?_+{P5g}lpwR_AhFcYwC0)q4f+bJ z9o1&`s7d;4I_0J|bBV~(B^^f!*p9rMQ+&Si{{6jQ?Y_>>oBP{l|I>TF->cpDJo9ta zqX!c_oqs-?>%g->EI^of1?!a~3|Wk(h7C~;zEl!&WxJvDcYXYB^?t4M_w+veIrW9X zUDQ?goZ*G+8-KeUA6&9nab_o5)Uu=h4Y=-vi>!Za!}$2v+L=Dg>n)q6J!hU_y#7q0 z;9Z7nzS`D^xzfb>0B_kx{R2y)eP{bH zoWH@d;lYi-&dN*uE36)y$8cvQwElX;|KgH-*6xu0{S342Ju1D(KIcN+ALf_g@7672 zjR~~-$2;TW^{t6K6-(|goE8dpPHQahI=VY1M4nJ za0`PlBg3pY5!Nj~GL5ulN<9|sBiDe75QxX#rZm>?h o!~Hawp^lBM&6kIV$LT~9Lw^=~i|)tT3ZM}Tp00i_>zopr045419{>OV diff --git a/app/open-iconic/png/arrow-circle-bottom-2x.png b/app/open-iconic/png/arrow-circle-bottom-2x.png deleted file mode 100755 index 3f9f9eb80aa6ac74964f7bbc04a010dbb3dcbf7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5QWt=G|I z70*I9)gQ7g&nFZw_0c+N>-=M0UTdeA^@16*bWih!b8cjpdO1&c-}2O?&i4oW+|MKn t+4l9_jY#Sg+QDG^q3^1oSXjm<_LkSBBAvxQw*kGz;OXk;vd$@?2>?(AaFPH3 diff --git a/app/open-iconic/png/arrow-circle-bottom-3x.png b/app/open-iconic/png/arrow-circle-bottom-3x.png deleted file mode 100755 index 17c2b885f316ac33c8e54599656f13e5c7e2847d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)fYUlVn=(fox{p{GT_;n|G!quQhbB zi4Dw;p1(`QeEspF7s4&(->6P zi33;Vw`E#`Pb`lIUS)!3F{p&A{Rc&a? z9lXL3tVmz9CMGHPz*xJuOazroQt%3ABXe(L!+}xE5n^b}*UD%z1~ImBXQlrBWz=edstug{lI6;@CL8&v%|AnwS^=6LJ@4Ic!`ZZ;8h&rPX};bN}875Kq1Dv!xET^WrV`=ZSYBK}xW1uwAI1@L-roE4Waye@E#9^R#2m=M4 zR*Sa8cl!_q7Ai||6f7LdK!F!!!MbiCGn9cj*2Z`!h0g!hP3(-NY`-dPj|IZv5;Yy+ z8}4){8fE$;`=r##NIDYNuE@Y*T=V1J64KNn2AkSmUBOoukH~I(5Mk}saE{?!O~=qC z>fi<5k`k#YEQT=A1TXLmp0xa-uZcEzfyboF=IJGv$ie4Q8X{dFbJ^X+L=Ily`PqUE zDG!D)5rO}fuJz}15Gc%wC(nNEo&apM2hQq2k=}v=NFDzRgu?gsWt34|9O6U l+4miv{QEqAEv0K#e*v$sxkj6SU{wGB002ovPDHLkV1oQ4@_+yU diff --git a/app/open-iconic/png/arrow-circle-bottom-6x.png b/app/open-iconic/png/arrow-circle-bottom-6x.png deleted file mode 100755 index d9d46a0943bede53091e488b8964114c3a362c8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 780 zcmV+n1M~ceP)(g|xl_F$4s$6@o^z5DBC@d(r5N5v(j#Vo*CpZAA#8CecDn)?)4?p7&>WW_RQL z;Aw7mpZWfF_hz1%*@kj7g>#t0EY9E!MjCkmTbkpIrtVPFRr@+O`Y_s&;oAj2kRh9x~HzPG8` zK!%rwbg?UuiR&_u;dZ}-)6xd1x(sX!wbws-n2@wi0~zjhCp#g%wyD#=ckKeO*-myD zhaw>MONVi3?++;@@qRpk49}q<{2@L@0CcNS@cbCl-Pcbxg_+bSs)2J&VH!B9nrjNB z!>DSuDNMjeRWnUt^ID z^KHQU0VnLYiB=Duz3~nn4>@VSOtf-vJ%R^0PORHR9{3FR2~}O*0;=^N!DqM#lLaoQ z+C&lfU7YM(xb`2IC<31eOZ0zqqu|A5n~z~%T_$4Tw}g(Tr`;MZ|rSOaIJZD+v9Or*g7!uh=L9W5p_*li*OKEsuw@Ow?9K8Y0gUn%e%T@W@GQtn{vJ74&< z>8BZCbD=Kybrr0Zj0u|yv4dTn*b@5rp-i?6X z6-weIJqokDidhcnrBnX?+-3&jINCnGiLb&W{4JgepWAGtHvAj9Cea zR)i#>tao-*DgG7JMIb>zLI~azcKafcghVd%R~Q%sB3(-v5kwavYEe-{mQm^^1<7>r zI_&JUvvbaQ-}lT}_6yHk?9O?f@Ao_B$NS?sJ>{_*&*Et;<4NqoPAuO4&Oi7QH}E~K z;456hPc3lFiXIMQ1>azp7}s$IhwkU@ECzTB-%1y~nHeXdq`pv;su6}kD`#*R_)@iX8k9?C$t>v$NiP5!Z`+)7R=N^rVn zVtMUwp+a3XV2I~fy98dyKy<5No#q^?w_EKDxI(-RcH@T(M5iHjDLaRW)9`p-+_c!P zIM^3=Y_=;7^u?LqcE$d_xL3Dbv8OL?RBl)7>WK><4;C!a<)^^i9_}f-wbW$;?u|Y+ z8!&`|1WF^=T-(1?Tl)*G($0fmwyst9xxyE>nh8NQO+OM_QL2ugLu(S6BdD(DOX5CS zok>J!Nk|g}^|X8l@64kcs0P8ztWRxyi`~G z2rC81gqFpx8}imgU;PD>rY4jSe^!R~j26Yl3Lm;anjTN{Bz3Q~U^h zvGF)J+1znj;dh9RX!i}Vs&Plc-M%jNioLh<7CnlK8a(Gy(HDDfZzd2=jo-xK?Ofj| z9pG(owAGgITjH#4=ESB=>=65KuPG<|s<@ajbw1w(^u#8__rzATRMD5kJNvpdyqsi9 z<1rk>0qn;fu`6X@?X9lA#WwvL_)awLYkZ1dN|O5zO-9w$EdQ8j00000NkvXXu0mjf Dm5tu6 diff --git a/app/open-iconic/png/arrow-circle-bottom.png b/app/open-iconic/png/arrow-circle-bottom.png deleted file mode 100755 index eced19e9b0387520617159569227950e59128d3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY55oi~Kr>mdKI;Vst0GvoYq5uE@ diff --git a/app/open-iconic/png/arrow-circle-left-2x.png b/app/open-iconic/png/arrow-circle-left-2x.png deleted file mode 100755 index c994a8c6eef1e06cbaa0fbabed195356c90d8590..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY52aSIAoRfVU>;tONU%ng8VV4lr}L{nU6@^d!9Pf=J7}D3$NU!uP!{ zm%Kcux=HmxxPMi14kyb4zDH%9If@Lz9zNA4S05<4<#{UU*$*yd4;gpgJ&i68c?GqP zW#wK9%(Gl#CVN@&`OdFX*dMI%Ei4q;+b6gC?8M+JCt7_E2xYtQtS4nJ za0`PlBg3pYKpl*_o-U3d9-UjS*?KWMN;EuFpXa#7#Bf>_*WQ*%4-{Pjx135n;-bHR z```GV1Wa<|@ zxBtZ>E@2<#+$KS*l^<$r)Em0ra{rb1qrxPq(!sYnOs?7cj_-Po_ilZu6QpM={cy3? z-{I4;oNJj=nc|Y9$ZaAIOId_BpRroaxL$b%m*?YcY&NDw=Xm#+@to(L_i%e+McjwY zR|GZ~#p(R$5UV_Sy}-)-LdYz+!@G{wWF+q_GF&AQF=YwYxzCfWoNWCkE;(SoA?i+* zy^-eRB^+hlA9VVJR1AMOO4@YK3poEe#k)*rskXjb^or-2_J21PEX@Awu(o4`vQ2c^ nhR&&x|E1rxrk@t@Pi?S|Ff`gJ_JubR7@7>8u6{1-oD!M<+83PJ diff --git a/app/open-iconic/png/arrow-circle-left-4x.png b/app/open-iconic/png/arrow-circle-left-4x.png deleted file mode 100755 index 12391e699f8a90a36187bdf5656da137469c6765..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 503 zcmVRR+@lkae&7Ra6BHckC|Nf zDtBu5Do zMoE+kd>c%%;$=Tbl_-JV3(xvzv7b0OmM9U}9kLL!xGa#!g?P)BOrXU7&6F%%nq5+4$RXUBV7jRij=9Kxf5?~YAOH-*2C z-3Ab?h9-6~TNnOb!{DvXIx&8Y$|hzsfAU?$FtCfMvhb6d?fF(_y;x`B7bbea4{Mff zvhXntwDC@l6uT4|KDL229u>iltN)TJf=^*!OQ^m6(@FyP6b9OOnhi3lUTxD0K9zxO znF4Sj5qv5GZ9Lc?q-sfA7CxncH{AeZ3E@*3*uzD*lMp_p@_24hKKrzenmD68rf2Y? zV6va!$>(|wp9?1Y37&kmPw=f^vY+6|=i7k41(U7gpgcr*jDH4?6)BQV{1!U#hxkON z(Lv#^vX>s~4-;9f!)+(Gl(-3(3MONjsIqpIv4;!YAgc*Yq%!b&e~|ea3zRjH%D~+I zAS3Gip)X@11^gDyX9F$QT&$Og6b7E;1-jgE7TZK@_)Q`4fxE(@qok zuBL?MLae=9WzSdMHbt5cnhQq-zox>0Evq4+xls3IS7vMqdA?_=Y@#vYem-W$eoH71 z3g56PG$LGazY%Kls?d8vNjxW~Fe|Hp+V}@`(ZSDcCU6#KI`hBqL--TEj#t9xHXBU? Z{{sYi(d1w+lCuB+002ovPDHLkV1hg|PYVD5 diff --git a/app/open-iconic/png/arrow-circle-left-8x.png b/app/open-iconic/png/arrow-circle-left-8x.png deleted file mode 100755 index 532dd6860c820d9ea436b195219bf3bff6286a59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 992 zcmV<610Vc}P)th<}9?2qM%V2*F9A!)_6Xh~$O-iVA}uqOp`AMKq9$S`;LaWt7)j6coF` z^5FJ%&VD(2t+mhbKCotsy`S&1-_~C1w+7N{51zqOSixRAf}L2t+vjimj+^)%>-Y+n za3h1qs2bo9*6Q9-t_tI%aQDoOcHs;*r32sE?%=c#dT(07 z3H&A>_}2C-j$@dZ^?zEyS7S=uI!CFHh*cjf@JuB}P%NG#*S z1ZGzgh46uUV~i;9pCp2pD1ZVV#|U9bx+_0c%E#e?j*ml%XTA)dI)DOi&kFxi2KXES z6gb)zentFG-6Z&20c>J_Q}`wE2RYN=a|KY~GY#JdCo;n444}X(b@02y9oyHz=MLbO znm@@inc;H>P~fd;Mn>ZO(l&+fBY+L;m}KNs5Ab~iP~f$#CI;fnT#r9A3HMM!vc76ml+1@X~AK2cX!7td}1EKeZN`FNS^}59iVVc(AdF}3iMY|KK z7!Jc@HJuhcgew1!jyqki>6kKvS>9UD| zI8~jqgwO~4)k#K9Mml)g5c&w<)k#Kn3Kf{SL&yz(8xK!2b2{RQnud@&fH$kmjD+&j zoFU|d|Jjs<(Xx(5K51PDIRkjP4xUg(@_EJ(a=~BJV!y!wVZJO!2sz+4@OV@Bv5qA$ zGAV={0UT)yKUUXO<0c`bhQDvf+g3yECrsLgkP`k~5%w7^3x&t2LP!Pw5gzIaUk>3y zq7YJD`DpNC4TZwvl(%e*c2?p&L`UV_A=b3r(cx|1R{Mq8+rFX4?V=gJ^IbI*YHx3K zFy6KOA`EYP-BCIc%1<}s1HUc&)z$vkE{H-{I~Y-;Vsb3#GV6WAwgpC7rmtLrbJO#ddn6N391pW>&K=Kce;vyLImFiXn- O00004nJ za0`PlBg3pY57pG5CWLx?n<^gjg Xo8q?0MJ=m4nJ za0`PlBg3pY5F-_si2@~ zk;z6Oou8L}*<0UltDVy*SivkmU)zA8cG*91^#_a=s%zV4&-oE55NmXQo~FxdA4a1i z`PYsuW7v3b@~(JtHn8nC2BLQ zyulRvW93>S^|AxHa%UBuM^>K_F7P>PSSR$>@>==5&c`n%az{6uecmH+ZRyc?f#mkH Ug-dp%1HHiD>FVdQ&MBb@0B*@-sQ>@~ diff --git a/app/open-iconic/png/arrow-circle-right-3x.png b/app/open-iconic/png/arrow-circle-right-3x.png deleted file mode 100755 index 0e3422501deb733814a2520fcb8d0fd4f0f01932..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmV;50d@X~P)77rncMOR)%YV`t&;4O45iY|2LpM}y=7il2GBr}op2eZjc-gh$dWtf)g^stL9 zY+`x-{0;ZG#Rv}p&YyH~i794*HpLj7Soj{kBEb3fi9rZHi~yYm`VXpR9y3!Bl71fE zt+6a=sw5w1X9X9L@T?#t8Kr}I;;N-cP$ij~SJp`lc#)t=GK8DJ%dshvT*FI4f+EQi z{4^-YOTL#Hf>!3)f|qEKn|uYw1szS5=@G13%#SvaIWETk6qLbdILi*~NY3**f-3ks zR`Z`as3E9=&#;q+r#Xxegy8#S@HBnNd0wZo(q$=~c|L8)c^*?;6Um0I6@gj-QAcuZ o*~SJ|=FeYoC%Lwq4u`v6blESdmD$00@M;z|NY4#;mc%(kxhLTui`XD9%oVVRz;|vn=~hPBmxF^UQlb za%M_Ai+F?A*u*O=^`HI5cXaR>r}&dGc5T*ig1;z&?Hb2e9R)m#ef-M+SKBT2Fp~>k z!?zK@)z-mE6uyPajKMzy`*o$Y)A;2%@S^`-j>OPP%xPElGEs?+A!}m41-z(?5taB@ zg|BPB+N+63+^S5)NlW-3fvCh$*?CFcArldZNc6A(??-^w2}C4z^h*&PuubYD4&Z#u z0(BB+@bei2hDmfuTjDtc21(pZj~N)sl?hM5#24Yjx8b{*4&y$E-jXhx*JBW9g7+|A zc0PV$fhKr?!}~9+dVC(V6^OuZq-*_y>^*@%1YTfwfVf$F9YG)p|AH5T1W31(ZVQ1Z z{0CkRgO}ONl*oZ^G{NszqLW#Prm{DFc{MZA?X~UhC|CQgnmLbTMLMo~8Q`9@&mV2I wYNj$o7O?H%@A-27*)Lr9|9k#PI$axc2Z%~09d4A6@c;k-07*qoM6N<$f;~v!!vFvP diff --git a/app/open-iconic/png/arrow-circle-right-6x.png b/app/open-iconic/png/arrow-circle-right-6x.png deleted file mode 100755 index 06ff12e454c823ed976c92a640cd8671ca3cfc44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 743 zcmV?P)R4h@-ID4aNK~!{g}NOcH`Z-ucV?cM-Sr3m z)3fu;_q#ju%(KrkL(0hnZs0m*a1|GD_PD)<@A!g`c!O8?TGIIoWgN?Ri+aJ@#1h7O z2|k5&{E7f?t$nOvvP$q#tRA1NEb!La!wN>qhM&QQ3c*|JJ+74nKQG*by@GF44Rf*Z z4{#U>l0+PPh=ro?_ang@B~qeZL}Fh2H{UD}D{+X~tnf3+z2=(}Be9F=Zt$bZA8lF_ zBk@j`A$GN7_;v!Z5|7j1r&RNhN=s3RJz?(kU)C#t?<5c-@vOC@aplf!vI-QH*w-=v zT&@T{i$GC{hs_jx+n5n^SLjZv`h<|3%!EhlH-QWnh{}hp^ArHqiVu9-*u>r$%L>zU*_CtPnaI0 zK4GiKn6SjXAgIW|Qk!h62Qxp`_ z#X1|u-PvdM>{)AGIzM>sW{UxynrPI(1i|g0?h2L-&KVSu4 z;~MTX(8j15-~g8KE%KUi3m36}J$Gj{!Wn$0zUj?ioEDy*&S(eDVNE*YlkpH|1?a75 z0VnaR=8R9qFF1i=Vz2+v627R>@Yrz;dy_gY=ym*&*w8$&h9e1mTfloAFj^MN5_E}0 ze3YocS%RD&dNjs}V*Zmv=JWM?q=0ZG280Fa{`n$+R1hw!*&Ukb^F^hA@b0|kk2YX_ z5IU(oCzXPRO|_{@y&gOd%K-wZ$s2*=CJ@6i0%zDzM8 z+*dM_JlC-KSpdX_@XoZGj5Ir?tpXq>gjH_a|ViOtmNA1HvBM{{;ZmAbbTsmR!_FWo83#hw_DwzA94= z;CJ|^=o( z{LiLrj23mGLjYo$&vC5GJfV!_^9}%rZT_kX=MDA>>t$^Lh;4oqyJs~&){&L~#5SMf zwW{XFYGT(owfV<}yj3++zF-myKnnAhL^x-(C=?#21dzh~$9STy`67hNi2$T9e<`N< zv4%q7amwxxBhE{FhUl<%%IV7Dp&D=ds@fye-nMOe99PZpov*8*PWR{kP=30qIpYt6SzYPGrb%rRDll(KXZ(h+m@#!e-vteXBE$>A#zS4x*M&FxV{3RZ z8=G1?@rqE8v=7e-$LB{Lo$C5iDAT`-?*(w*;8XmRvT^?cM@)_(#nP^=00000NkvXX Hu0mjfJNwSA diff --git a/app/open-iconic/png/arrow-circle-right.png b/app/open-iconic/png/arrow-circle-right.png deleted file mode 100755 index 5539247b1a8bcaaa319c3e483c8584d93760d855..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5J3?kVs-M9wtZW83}5h^bFE=W XyQjF#EynT|&<+MqS3j3^P64nJ za0`PlBg3pY5JJB~;`bctza)hFd@2>Ct}3`cCKbS%WD;zy60hubF&W zBj54Wj_0PIg^noaUs9PdT|u2={oJH&3bHMROJ|ubInT1eu*>MHt(2)V-=2Dl$k$Vu z-^w>|w**!^TYP2Hwjz7guNuJ&p>s-FzWT6kIS?jpv9t54U(MT7M#r@{q^~jVJtAvy d%+~)GL&J*vBONP@^?`n2@O1TaS?83{1OOQ_W^@1m diff --git a/app/open-iconic/png/arrow-circle-top-3x.png b/app/open-iconic/png/arrow-circle-top-3x.png deleted file mode 100755 index 512cae91532201f0fb1bc0b38191c002ef662ee0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmV;50d@X~P));d(1FTtQiJqt_wfM*Bapb`a~xM?I@4!q+kBFN)fVZ%YiGGMUM4*7XMPlt~vJH-yJb9^kD6c#+8~ zOiO~VGWo7$23v`yTEYH2(KoFN!Bv&Ubs-h2(x@&(ZdDq>zH}@XDc192DJ}*T7~Cuu zHibMd%isgM`QlEA1}8-gS0xx+MCuV9i%Dd<*s&B&o>xQ2^K~BmAK`=UtpXKAz(P&o ox8)cI*vaYg}W;3M8+1+TFeS;~y1Ks_BWX3CMFr ze5yJwi*L?@u7$ z7|-gQ`_lQ`m4H*cY74N^BI17qoZ@Z3AE^>$OEx)nERcB>v(oe$-5qt^zM1`zE0?XPs5?t_tx&49je^CtE^bEKm^7Jt zC)4ByXOYb0-0v?lbLY&tQ&Wz{aUSO|jk7q0!_Dm*_=ZpTfJMB(my*Vh(h1zbYwSeE zE8NCdmEdPEkDm$Pt?>hoFwsx&QOq?5D+|0e8kogM+3?eN-$(G)c!#O7;4cdoVO8*X zY~WHV{0(d+KxEB`{rwhZV&ShR44lK~N-?n$W8$*(f4)^ICbn>~SNLgZ=X^W(GEA&v zvK#!UwAp4q_%ckq)n$sE>oa^AChm1gdPe+BstA0liH1;n{ipc~;ZsdKXiaoNTy2vA zpJL*NmICn30l}x3xV1Y$(UQ1K_*fG!^B;~60DO#zZJdOw0|Fmo;tIXbK2^Zy%6epa z2+s!$K3CQQ*E9IoWv8rC?7hm`@a&FdSlwrbtYYAH%5>&ifz1vZv&vCBE7P9wS4}Wb z#zS>IdmpF3Y47VclQ@ba o&F$-06FO;2SP)*fSxFuE54vf{m0+IS;{X5v07*qoM6N<$f|dASWB>pF diff --git a/app/open-iconic/png/arrow-circle-top-8x.png b/app/open-iconic/png/arrow-circle-top-8x.png deleted file mode 100755 index 6937200463e775c08ad6c3c15b66057f9aa83137..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1015 zcmVpp%y_1Zi?IRTpiz|o=mtu_2Vl!FW`PGl*Y?=Cr3efFA8|LmUomcBuAbb`3Je14_%mJ}Yrs8B z(GQFQ&<`w;o$>Pc0rUZ(XRo{H1l~Fb*N$i*MSAbuh4W)^7px2{s3c$l07_Am1 zJlqmZz%vhGWjnOTeag-pL&f|{Pv#?h6yb$N5eoSGGih(TuS-R;@z4(LOKr@!E7(rviS%hxsN+wwvTGve1wq9 z%M&nXaP?q5La_Jq4&aOBnmuy$?N5Ly zfX}lv*CXvM6&01)3^C0Kjmk!d>C9+UmO@NhN~5w6VtR5KmAR1Es;B{(3NbUmMr9%Z zjsl-OCdu>9U|aOZEXh|=w&98|U6Zgg0UA{hT5CLyzv!azu7I=gBmp{IowZVc>1gmU zmgJFw*jk~Y*A`3%X1!klE5PAs@c1fl8PgI|@02j-gB2-a+E45C3i!qz2cvQNl#{xm zspXnY!Vq|)nA8<59b+Vzm3CnE%j%^7tH8;miF=ijyP~1ta@ypsr^b0Gz>rJwkmM&v zc`CqT6rM9`!ZaS&S^-9ZLkjr;Q-qO}LR?Av$*Y-<2r-SvuJ@$x7{c>2L_K8tgqUrt z;qYyrly*$-?LnK4VvH2O^R9%L-rGe7;jZx=Grc{~CrXQ$_S03eGrj`c#$sWUCC!)) z%o+R{p9XFaThHf_0Mmpxj5&01H9d*>X8&&wPgAUK+JFndY2Xxa0`vHMk)5ZyHZX1a l3&0$va1+2Q;Hyt@e*qLB;2qLGZz})*002ovPDHLkV1k&q)TaOd diff --git a/app/open-iconic/png/arrow-circle-top.png b/app/open-iconic/png/arrow-circle-top.png deleted file mode 100755 index ceaf61c309218a032b80ff141e94eabfa33d4849..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5xg$e$oLi<>*O#F5d|$%;oqjbg6U!zSJeb%m f)LQjn<|F>)f%4WyB}-U4nJ za0`PlBg3pY5%9p5Pv^rQX!1;V?N4nJ za0`PlBg3pYARWD)E{-7{oo}x!Y61JM9a0$&G8p`ujx1Qo z;L2_x^QeeJphdv%PS0(7$?ZSqMW3q5>#)+cJ1CgzR?~OdT8>Yr@OMW$Q?|{%M~Vj+ zX3IYmNa*=Hzv6zeN6&VH!Dm9U>#Y Z&&%0TAYRSHAr5pHgQu&X%Q~loCIH`~OgjJo diff --git a/app/open-iconic/png/arrow-left-4x.png b/app/open-iconic/png/arrow-left-4x.png deleted file mode 100755 index a7294db81726634fa8d80afe1c9bc4bef5ec84fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H}PZ!6Kh}O546!Vw@MI0^$uTV(V3RtpE%zc6mW3$Ufo@p0&O=2B$ zYenT6k17UQOq!&?F=J+nNsFJ+%u3Fm=0AVk`+rY)qK3b;eBdYXKM!OS>knH^H&E#sQw=_MhCC=6$GhzT@H0_TKta6m#6hU+!_y2N-S(eX^RzS=apJdDy?-Yd-O4 z8y$7Lz{S;e>aOG3FB^Jz8u<1pF>^h$aAi9n@%seBi)3L*hFBdX<_D7VCo*=rJTlzL ZFn`ht*-E9P<3N8fc)I$ztaD0e0stjHWZwV) diff --git a/app/open-iconic/png/arrow-left-6x.png b/app/open-iconic/png/arrow-left-6x.png deleted file mode 100755 index b65a6860963e9ec3726b2d3d9e4d7cea439b0632..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp65l-2>)Q& z6xAa(+cPqCN@s6pP|%`1Jpbh;*~pc@s-Hh+^|`9@*zYBLo|9BAN*)NiEwr@fA;bFI z?kNVX#=SK=8Y*LcPv95b(B(e=sWZ!$#LM9y1sIiYeBN7gm2tAg#n^qf8X{wUMeaM* zkb38}@4j6PrF&k)?wi%1_~ysl3R6a5iy*c8&l)o4gewG#Z0NYn<FPk0tTMs z@COZi(iLJB4QYRO2wO0u6(|DbcndXva!I>$J5_*w@SODjgf!o`iP8U0rN;pSjlt8^ K&t;ucLK6V$SdYm7 diff --git a/app/open-iconic/png/arrow-left-8x.png b/app/open-iconic/png/arrow-left-8x.png deleted file mode 100755 index 9bc505d8f6d868494ea2e8de984ad822fd2d5add..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCrJgR1Ar*7p-qiJ;n<#VqW4~1*N0Nk2M2gtqNsa~*DQSr}6NK8< zJH$7x=02PeZQOZKWH(w?TXIclrA>816=Vsy{3({6N&qCa2~t zGta~J_Wt#y4V-T>^J{XMYYxP}?Oz|;;8*j>;_&NFb6y_JV&x0*YGABceIU_`)1d1v zm&}qW%Y}_AbXVxD(WpC7v3$qvcGJ#U(H~KEpNmgM=Y&59SjxJf;(L7kDgG7B;t?Vi z4yV_Ai|@?Nm)XzC$IyI3$b#W$Y@+J}29fPY`+Wed@2XhLv$}M#4=_lAK;aU!YD%y`?80YeUmJe_V}-%f)z4*} HQ$iB}n2W># diff --git a/app/open-iconic/png/arrow-left.png b/app/open-iconic/png/arrow-left.png deleted file mode 100755 index ae60df45ef9051ec6c9bfeeefdb56b50231ebc12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5 diff --git a/app/open-iconic/png/arrow-right-2x.png b/app/open-iconic/png/arrow-right-2x.png deleted file mode 100755 index 0a02d33bf841ebd411443252403fe1c41e532e18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5^=7KY#!L diff --git a/app/open-iconic/png/arrow-right-3x.png b/app/open-iconic/png/arrow-right-3x.png deleted file mode 100755 index df941b5ff381dfcfe5dd16598d572321613be9b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQAuT^vI^I^UjO$jjs?;Bc{=k&&(W@WPi3N-G-NE=*}yz{JDXx`aVz z8ruX7o=BFMCX1#UvfJ$?4NpG%AE|XP=VCvP${d3}9+eowZXT688#{PZY&LfBY}tJH z!TrT|ER!$QOw-_-Xn!MlM)gDepHjZ-_Go`Nu&HH-cERC2Oa53F9Ne;H53h`2*M!4t fdo?PTetO30T@|GyFZbO8=r{&XS3j3^P6acuKpdH-MG4!_^df}i_N?-b#hp5Al&L_vfsejl!L$v0R=JnHl zCztOyuWB!9;HbR(&;ADS{qyat>yJu*SuG&X9r19d*U!WQGH+Ks{oP=0qWr|b$<`}Q dLu6gQ{L8%Vmx@Oo&jk8~!PC{xWt~$(69D8CY_tFX diff --git a/app/open-iconic/png/arrow-right-6x.png b/app/open-iconic/png/arrow-right-6x.png deleted file mode 100755 index 2ee850affb026cb96fee79e6acde20129b3a497f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 415 zcmV;Q0bu@#P)D?w@ldF z4>JRsq9}^rY6pYS5ucH8gz@N*rqbJ8U?#Ywk@W8FuoRn)|-RPv_kHHgfmQk z#e*X61`EABAmItC(D(L1uiE}`|LhF6*dzYu(B#hXx3wfXCif08*7?i%9!=u^VJIT@ zBRS#ESc}Q5RyY10i$RSY)rr5vY*b)3-Qtfi5mr}2r}$m`iA$@eDt^Q38^Vv*9{z}x z(4tK5igP)} z6gu=aNi*Mj| zOlE&ZU49*xgBp7^%JN^Z6cyOFotA%t6Jd1?Y`6R}4#lOlvDNbT{Cm#tdc%wV#EsCR z#s-)Fh6}Md?RCq)$Eo0!5Ct!=5FHZbA@)T_q?A%hDW#NBN@@4_3pZM#f`$r)E&u=k M07*qoM6N<$f_iP_<^TWy diff --git a/app/open-iconic/png/arrow-right.png b/app/open-iconic/png/arrow-right.png deleted file mode 100755 index a6ae9ff4a928b8294e569152152be8e97a8e8cd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5STDrok?Lqvw3fTOJ;s lnjIoOX+Zg7&)FU^GR$#gtCC^99}YBt!PC{xWt~$(699VSBg_B* diff --git a/app/open-iconic/png/arrow-thick-bottom-2x.png b/app/open-iconic/png/arrow-thick-bottom-2x.png deleted file mode 100755 index a5139153c5db52c68bda409ea02684770212c8af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5YMJi`ymjLM?Hnujs8ZL&pstVu5_E$#( PO=s|Q^>bP0l+XkKm_ITp diff --git a/app/open-iconic/png/arrow-thick-bottom-3x.png b/app/open-iconic/png/arrow-thick-bottom-3x.png deleted file mode 100755 index 03d59253f08f876c2b8fc3aa02f52a214adcca19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARXnNE{-7{oyjQ*e1DEBp7Zcf7M>_Jf!9q}Vr#;cra*4DC9Ge0CM=Sa zeav*@ikZ-+En@9%Nd>}z_mUD4R;V5RAeO}2-smO7ldpWWKteIg;hyPHZHFBgCq4Xo#Y~3nlZ1qX+N4E{46j~!UlYEbdI0DI22WQ%mvv4FO#s{} BK}rAs diff --git a/app/open-iconic/png/arrow-thick-bottom-4x.png b/app/open-iconic/png/arrow-thick-bottom-4x.png deleted file mode 100755 index 2f4ee609fe8defe19fb6e4ef5ad7b7320eacb2f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J7PZ!6Kh}O5$4{{wc5MYh}8{z1&21;u zqW$v|{1vT>eYkE^vYz8Uy(!YEL7OX}fk|Wm1FMDuBi9en4ac9~H8)W__D(M8a9N|P zW^vEd$+rUQHk~?o&GFunQzzA&?>#%^IaR^F`lM&(g!nyAQ)CtQ`>Cq07W|o;Wf{p- u@$Jd?`jaOgX+L6oy#7YFWrLpkKQ{h%9ShG~JXHjADubu1pUXO@geCyVFIl4i diff --git a/app/open-iconic/png/arrow-thick-bottom-6x.png b/app/open-iconic/png/arrow-thick-bottom-6x.png deleted file mode 100755 index 5683b2d56d7e3c656287e623b4cd6a9f51e8b30a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6W=|K#kc`H+GXuSu0tMXqe`&j_s5A+1I-me;ya)82C96t{V?t3-y;G)G!-LE-rrnXU+DX_gJ0>d zzTI@~L(0>xxZK;Zq~=K1tdr8r4`wI*^v}}DkNHr4WLDdrL*IW&Z(OMO$<VBaQuw j6F<3$-(Z>>!p`S#&_Z~^*5%WIVZ`9+>gTe~DWM4f8{3Cz diff --git a/app/open-iconic/png/arrow-thick-bottom-8x.png b/app/open-iconic/png/arrow-thick-bottom-8x.png deleted file mode 100755 index faea3f30f735b60ee22216cb8d8befec6c4ae935..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC?Vc`NtAHAUh=EdbCQaulBdc<50y?AAs}l~$ffhI z?;QQ1cPZ!hm%aBlfB&L)@AS;SYf87ze3@{*{OtMiMQctZ9Qbtlb_06=f52nLE6i6a z7``%?$~o9N^ioO4mFdleziZ>KuJ)dr{@$&^j^VaxyGEY=w3>v~j6tsX_SEx?T%)0N7+%akwE%~&Z^AFcX zo|=ha|8zPdIj4DuKa_b~KPeHshS(NwDLwfa>~@{n^{%Jy#Xav3e>iK} zN%pix{#PgOUkLhnfaj|69j4}&>c`V(eG+{4Lipzakq>@`KdXQF*co`%wXi36m>RGO zACTVrbpDItp9d`Jm2H?0p9)+l$sG6c)cz0WpD-^zplq;6>I3r|2Yu_d7>P L`njxgN@xNA)(gcr diff --git a/app/open-iconic/png/arrow-thick-bottom.png b/app/open-iconic/png/arrow-thick-bottom.png deleted file mode 100755 index 2e0f9dc51da96c2f63f2685a2961be69878a4156..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY54nJ za0`PlBg3pYART3%E{-7{oo_E(WMc{xaeH`vkJtO@6J3lZr5u?d_p@a3M3Jj={;v}I zofm!j-k+5R>@?p81bw>eE617h{>fG5+3b~95B%!f6P57Q$*$Z%dXjhq+tZ~7ADy0F zcSN<~=#d$G2R@v;6m#w+!Z#PJ;;9m-ayPd$NcrV)nKL;? zv%i1%tRsJR*3{cdlJg(W>N@}KBS*q7k@d0$m7UkQB=&b+XOpPyxXvU|*BQYf6SJa-NJJHP~;2td4kJT9&AjOVrbvQzv_k^Z$qpU!)+4=vrL9H lml-0KGH&o;p7r;Bp6WLKrJ?ga{Rg^`!PC{xWt~$(699mKR^R{t diff --git a/app/open-iconic/png/arrow-thick-left-6x.png b/app/open-iconic/png/arrow-thick-left-6x.png deleted file mode 100755 index 10de7cf0fb9e4870ac6c4bfd300c439d69cc7a68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IFPZ!6KjK;SY-nz8}inKkj&nyk1r{6dHK!faWGTa-eb#|-&9D?=i0DV zem>iVr+VPj{KaQFJhM8@ojX(Ah5{r>onLAy>Y{&Q8dpU8b?orjtZ zA%Y2piGO%DOfacq`dq;y5LDuPCQ;?1TZO;_bME}M9sB~pJPnHPm{>%at&Ze2tVnWb z-@z#m#?!#K?*F5Ov!ow*B{2jaS$d=)FZm>6fubeDIaT%pGoLV6OqF3!pTztiqKHAp jlds|MEyi3RDE-D%?o$=r6xJ;O34nJ za0`PlBg3pY5)2HCah@)YAr*7pUW;{i36yAixcYqjbQRA@9zvc<6Fr1FRVH}=p~~Og z`>by)Te57{q^)WDU#H2Q{~c4jNpq^#(x8Q!Zl4*$Bn{z`az_=BoK<>q?ji`A|>&OMls!f>H^H4mQ` z8^hflXCACbVc>1)=Hc^ZyWn7P{=p8QZ0lyA@gVNs^YR((R)tCi45EiN9$*OJaA#t6 zVCQ3HTi|3NAkn~;7@yGKR^7yWVBG_T4ayb_Iox~<(LnApAXm|XVGWR*y^>!85;9rW ZxZ87Tx@`*51%biO;OXk;vd$@?2>>aXsiyz{ diff --git a/app/open-iconic/png/arrow-thick-left.png b/app/open-iconic/png/arrow-thick-left.png deleted file mode 100755 index 11fdc3be0587646d0ff869aa15f92ddb17922ca8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5L=^fx!mBjdg!@O1TaS?83{1OR4{AsYYy diff --git a/app/open-iconic/png/arrow-thick-right-2x.png b/app/open-iconic/png/arrow-thick-right-2x.png deleted file mode 100755 index aa7fd1d19b906e606f3191af4901b4a17a8289ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5;{9>{z<~>m-c2HR z&K>{)j;9m2f6dUia0bZ!FoUuEbH~A>OK!ET+1VrW{E$ibgvF9+4yL;lj62!3Ovtu= a3v|y018=X4!$2Du7(8A5T-G@yGywpTBt9?z diff --git a/app/open-iconic/png/arrow-thick-right-3x.png b/app/open-iconic/png/arrow-thick-right-3x.png deleted file mode 100755 index 478b0cbb776ab9788ca81c15fe7650c03e61552d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARSenE{-7{oo_E3WNQczaC;bRo2R05QA<_O^Gk;9`7N50RA$wO9*&JU z_EX}AyUkQ7g9TyCY+JGpH2CpKTv*M>+@|iGe}4rV&kTm9w~J?4iX3AUyD(Sdo~WzM zN2`OOHeb8q8E2;d;dyfJqjG@8BkO>Bx-NVUpErH{8p(KId)-IPS*zrMu3+$V^>bP0 Hl+XkKDI`ce diff --git a/app/open-iconic/png/arrow-thick-right-4x.png b/app/open-iconic/png/arrow-thick-right-4x.png deleted file mode 100755 index 79f8b6df8992794aceb6cb04111337bdac5ee0ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H_PZ!6Kh}O3kFS0Q?N*w+8Kde7$l84Kp)l*zlCcfybTICmhI%4QB6F94QQh3(z)fC(f&yvbyV8Fz(=alQ0J&lE0oqF@b<|`GY`PN?wy>;sO&eOLUx;s9p z9WYw8hi^ld&U&V67oTb-Jl4=>yq#~(Z_LOi`R?uKLG@L)IsbT@;itDnm{ Hr-UW|jvZf~ diff --git a/app/open-iconic/png/arrow-thick-right-6x.png b/app/open-iconic/png/arrow-thick-right-6x.png deleted file mode 100755 index 46ec7ace246b706613725fe600b9eee68528bc5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398 zcmV;90df9`P);um9^rB)M^XEKgHuoN#i|5^%{oQ6QluD)2f9+fin3@3>YQ&W6 z=dRR{)U0*aVoOpM+>MswFC1XNtyJW!Yk&cFN|dL*0S4R)UC|84nJ za0`PlBg3pY5)2HC^E_P~Ln`LHofYrSk|^PR{@eH6s*w{_Cb@U0b{X@)|v*&)w7Vi}3bWxhw z7l{QXc3O+>_SkS`Zf5BpPj-U`F{YA= z4`y+>pAbIKAgv{(n9snR*J#+AR`~@eV67##@IC|Eo#2HWu1pdi7<#yC+Wjsvu-Qyf zKBS;8(OUgV)KT|E;rRnDCm4Au7}cEl5)NdCv2304eJ^vcBG6)GNk`qqyZjS&U8~}l zx_tt(NrTl3d)K3;4KvF)xAr9c(c!$}H19j>nTbxiPc8S&lau#qP&1fsYS+Txo3QZm zk5%kH*u-}C%CoXb?pOIBYvp?EKf`IRn?@Q&b*@QKLVx?>r$$Wkxc71YfmtUuhJ5Oa z59gfbJMW`3*jqQQto(T)_s=w-XZ;>;pBgkTrT6|sDa*-n`&VE6sBT&3|3+z{ZC$+X uqC*YMo9b#r{y8KZ*chcG1P;@$KbXxo_Q$89ZJ6T-G@yGywo4!OY75 diff --git a/app/open-iconic/png/arrow-thick-right.png b/app/open-iconic/png/arrow-thick-right.png deleted file mode 100755 index 56c03af01b0d29a7d99e5c3c6da2b851cf433021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5 diff --git a/app/open-iconic/png/arrow-thick-top-2x.png b/app/open-iconic/png/arrow-thick-top-2x.png deleted file mode 100755 index 7344037ab350b62e32bd9375dfb1626184639a98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARU#SE{-7{oylnmygsQ32>}TS2^PMK>=qpmVPk9iA27!`_prK>B;Vnm zSB&<^cRw_U@mTrLwt}bqp->U;dzC{45_;-aKa>dp1-z1Y^A!&lNUT##sZeHZJ6vG9 zsj!Ma$iC(1xchk?P)CMc41TD&RH5e%NLelF{r5}E+% CQbJ+? diff --git a/app/open-iconic/png/arrow-thick-top-4x.png b/app/open-iconic/png/arrow-thick-top-4x.png deleted file mode 100755 index dcfc3782ca278469bfe3126c8c53c092612887d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J7PZ!6Kh}O5~?y@;KinKi}ziwO7KG8)WJGpzlOu=n4QG2UL+hTRxs93|Y&&)xmsaFbG}$|jvo4;Lk&lasct+4`mZ zmvQc0yEWJ2UT?cwJ$vSI{`U`mnx&mf^txooAm+euPk7(t7NH7etq06EF25>S%rb4w z(_HO@c+IQR4*a?u!W+%#JonanmIS}ed)^9L1aQ7nVlXZ{eO;N)bkbBxBRWBQdUiK9q8BFCC9Amyx(ICYi@R%_RO>kB|(-W7O@(Zm00)vgg)78&qol`;+ E0J375MF0Q* diff --git a/app/open-iconic/png/arrow-thick-top-8x.png b/app/open-iconic/png/arrow-thick-top-8x.png deleted file mode 100755 index 36130c48ca777af052fe52f679ee440ee51ae707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCD?D8sLn`LHosjG95-8$!{Z8e}Q0fes z^d%>Ryt;9T z>D`a6^Y0}kg1jOxvgG}glkYQF6YT9TyyM~bAAjN+1g9o=NgXhq`}lJ;tDEVp%nXL< zBHjG%62T{qE#r#`(6f_Cyc1_BSNdR1*2kZF8HKMsGCa{>Tm@7zW6Ra|y*w7Gel>OP z4@^mQ2{n4qvg6}Jj>~15PggP?U($L0J@br>Tw2b&7D~A_7KhgOh8boZP&5N7DHbbq zwK!k~H2dCy^~%399vzPMi2KQ2&C05qXIS`}zf8IF_@1Rpjxt)iIfmw0CYm$ct`)fX zHZ169{#VDCi_yKZ`){%brsnI0{c)2&60-MeUg1`+$x{~Jef)b#U*xIt|C#L?q8xhp q7l;KsW?sR14nJ za0`PlBg3pY54nJ za0`PlBg3pY5s3ECwwob#|Ap6M<+#-rR*UX-@mKum xTwLCA=YX!T`}(EpBU~eA*>;yM;9D|-@%a*k2?2iE7lBqYc)I$ztaD0e0swa`M>+ri diff --git a/app/open-iconic/png/arrow-top-3x.png b/app/open-iconic/png/arrow-top-3x.png deleted file mode 100755 index a755ba48ce14e4599b07bce4e9de15617fea28b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARSXYT^vI^I^SMW6l!#oY5OSe_M=P5YnSwnX5k$j?>N%#I81Ok%b0SN z(Z%zV=C&C(H~zkvc7NvbzuzlQP1?rEmm&0i^R)*(V%1-~*vs-O6Jmq*{hGi&P4x-4 zjdCOVv;8O1cep=klwKD5BspgP31;!0q9@LCgq}7kv#o5*U1qbPlQZ~#$?b={FP_Vk jNAg~A;JtDno+U2hvrEFKS-0;1-N)eR>gTe~DWM4fo}64J diff --git a/app/open-iconic/png/arrow-top-4x.png b/app/open-iconic/png/arrow-top-4x.png deleted file mode 100755 index 994ee061a30b41be7608276ae300846076bf7a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IHPZ!6Kh}O547y3CRN*sUaexBn@uTzrBu7hq5uCAiOK?V8;@-KVb~P>^IW;d``v#Zm(Pp0oVsWBL$3Up@1^g`X4O1;cISu0 z?)ME+**xc3`8Qe~x;*X0w%+oOznJHl9e170cz*wbO#a-5-~S)Doag;G_>Diujl>|X z{l|`TR@@R>ysSe0y=28LuDvmPnq8S~-m-@J9SCN$dHYdc=lT7$+%=C2ru)iG-@(z* cfIvT(wjHYs{o?514D=C$r>mdKI;Vst0Hg4ADF6Tf diff --git a/app/open-iconic/png/arrow-top-6x.png b/app/open-iconic/png/arrow-top-6x.png deleted file mode 100755 index 13ebb955e5da3d33bfd1dc6761815c7ba84ca428..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6V^0^ykc`H+*A%^793|Wyx=-hg=9zUwrQ>9RvBcZo++XA+bj!MH z4X^)U{O(P!9x{7d31KXrQf+=Z8Sd=;0S(=Q;C-aaGa zhOEpV=dv4RQf1p?C;m9U)?D@e(Q01C+BMg7_qQyUdUE-lVf^$zJnOQj`0xJkQ+4GO zGe7AG{?=}*Pc`gidwRJlRdsbucQ@NRiG)q(4$oF#cbUw*=p^ICCk+`z4knfgvt$H( f`8w1vg!$L*4nJ za0`PlBg3pY5)2HChdo^!Ln`LHov~lrwNRp6KD<1@Xo91W#!QXb2UT|eVa#z`>?)~y zYQ>T%XA^?igd-z$c-YunHQ9K~A4&A-dtSHwKJRm_ecc}ay}v)#v=zUzJ$qvlU(CL{ z`;+B78nhR`vVm4n&oQ2xj}G5u`YUvqqleM|in#;R9HzHS_nlrc=dG}}yQBAV z^W*SKY;!JD)a)?L{-~tEc>75|zj^lR`SV@7y8Ro{6YgwLU=J3NmVd`6Ve}@WBXNP# z97drBOfQU9ubiBBY5&%Zj}FT+=(_pN%w**2l$XyF&M?wEeS)p*<3ll@Q$_~uwKY3D zoA>2QKL6a#`+7Bl@4nJ za0`PlBg3pY5#j+S3j3^P6 diff --git a/app/open-iconic/png/audio-2x.png b/app/open-iconic/png/audio-2x.png deleted file mode 100755 index 854b9d3f0d19c77d3be407b822340d1281cc4cee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5qkV}-MQ*!i5UB}W{URP%o5IVX)x`lO7L{*svwD}Q)p9xU3@ z{bA<^_8%vLALt%-^OWxX7I(?+;`)c8TQ8}94~kYTzIcDBUm}aXX|r_0(kr$$&wEpC zlFk1ny;3bnw(Gp%aNB>2_x{p3KH_N~L=v+-K3JPQu02wsSXR*glZ#u7$8Z1VT7ziC hm<2y~KVAQU^<}?hK)V*sIVHCyT$4xXQh*m+t zhz1eCZxR0o!9o$SuoZ(KB3KGyBUlJ_mZpekX=mjJC!Km122$*CoW@h)W zOd^hrMNW0!bME{u?{H^W(_d&iUSiijGM;0sKN!GkbkJ@%WDL_K;|&Hgyix`oEaF6i z0VlB(oNHAugt-WAG=NvS6`XGvhI3)Iu|6KSguSZ(_uz7zH)1Au=V2<0>(P8f@w#R( zUIX8WkBZlFEc~0ndkF8sI2w%)!k?-cFd6xy@Q;W89)5%|9F4Q#AFdg&Kk~WoN5Wr# z3xoRGg@Um-%@N&r9)9ai~4HK zfb^cOz-YsLy{q1da36l*gJNU)wW9_$S>B&MY=m!9)ZdoNWL-+ZEd!GY&ob??PGyN@Flk2CT{KU7*}0jSJxrsEI*5#4X^LXiS8~ zB(N#P5zmmSGYH=BPJaQ}KZM=mE} z1zd-hrQw^z^$`XdCEk!Y1r)kw62KQB)k^$P;-Lrw&m{gJaka#s6PQn~iw=q3NL)eY zTTq#$w_V~-08dHZH(hZ7W+efz0+e{fLlk39egG`nUKewsH4Jc5k^yj68mnz{S%i3q zQp?q?Z1U*Tg~j($Sn#;d6|lau6 O0000 diff --git a/app/open-iconic/png/audio-6x.png b/app/open-iconic/png/audio-6x.png deleted file mode 100755 index 6ef278fc2d1545b6122c3c128596c8b7862918ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 893 zcmV-@1A_dCP)h19}=A~4zp8VLqP6s863A_z*WjTsT4(5BZSuoh8EgLXl-D>sEygcTWqnLTXu zwmA3Jo$-9fx$4ZcxE~A*|MPw4{?47b=W!uctXQ%BS6u*_^9=zs0OzBIngGxL+Li)81Y2v^_)3^AJ36oRJslGS2Wa#A*zfRM5p3`9Z{AvA z@PJa$=@MWd`EPcnlgYtAhM&tYLPi3GPe>ynFu`*^%|hiQvV4&8lRuXz@VjG0PKy(vJT9{ zU>jYD2t5$~R^hiv-BEP|mI;49n5oj%I7@WaEBuua22dvY_#pg+!aoA$zi0bDs`-7u z;`e|#5e6__^pSLAtm{F-|B^1(;xsDi)7;D{vOPoK-%%keQv&!V0<%T^qo}LNAc|M@ zJp(AR)RPI|lL##r_2;4#=+#)U^Z@L`J|py@ALb5=f3jPNn-2d=!FUj0k!bXQ zoub19z?YD(EdqR?@Mdlhvvszq(!sYfFg+87hYo-}m?^b=0`P$@`q!y*cy0@}7h%&0 zVe){@j?SmzKvV5#D?^{tPlb*1(I=m7qAgNWsV>1ZjM){Zs9l&n;B;5MvdBAmB zz;*r{0d{AbIHW4fRITp5IyZ1uggne9E>|zMK07#^+x8;N;$Yh)x@L;0Rz3FDJiX{` z{$Ev)dPc}Ke4z9}3B))NmvDg%4DZc{XFkiWMtXtTFlnM}@q> TjP?J600000NkvXXu0mjf_ScY* diff --git a/app/open-iconic/png/audio-8x.png b/app/open-iconic/png/audio-8x.png deleted file mode 100755 index f16dce7a4cb3f15328f307e3dfa8a5536d72b8ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1264 zcmV{9)*1q?gz0cYQa&mHVa&mG6<3>Ay z(c}SOKQM8W^QeYq;2q%pv_f|RXMhkm%-EQOW?&aC=QFq(YGMlTdr2s|8hsL)f%h4n z^9f*TwL$^VQ6bdmlh6$8CO+o_K%pA3mlA{;brM=gEHt2p%#7|A2eoG%Bq?C%TU1alyMpP!YJVuIXpPBJ>1wR0d7KJtciXJB$fD2i%mV zf&``lFBpAyq9lR|))@R}m-6t{^m2K?$HMtT z!=N_+f0xB{0@oPg6cd3XWx9RXevEziYdRD;jz@2NRvHHUASUi8Fxe2B#022$7~KPg z*p)GH<=4e1w}ry74>w6Z9`wW?0_>!sMu1+feiiol!v3BikvO`6w}sCFVgE(g+W~s; z-zVw;c2LAyR*)nX3+*luUl8#ZLGJ)nNBFpipP3vgnJlz>4H{>C8Ug-RQM8-#(JJiK z-20XE2)kuv8T1(g;DWF>i2(+LeS)z2P`BSd1`Y4qYk>Y6sovjdVV@=JK5kDrb^&Pf z*uwz$Lx@Zl_Me6QabZsr+bQg7h5IYO_5OXR&Bj4tUya_>#L)(<7e3zz`_00BBEYS; zKJF6seZqbvuwD4Xu?@IZ_^55VIu-g2;6?O4UU67x^x(G4Rwm)@Z=a^xCo>uJ**A1@1K@Tge^3pB~*!BEE&8bIqh{Ik>fSKsc@ygB6HxM)u)OmuqESLJ`N& z`;R3taphN$vW88EaJDoc9dy`D6&-Q*<5c;sTp+%?}m)YF*P$hdSQ~fm3*HqcsMB zBJfn53P{5|Y~M9(_K7qB#|$F9z}DMPNMVf1};-#i_j}Vh&!-o6h1=d8=}t= zF7c)i>LS~-zqGXDUTl0h@2p0!4Oiq?C_chB2`6y}tW`0Gkz3F%s(Y*ZuW4uGN;XJ} zFGiQ)TE`)-^V7)1M@(nh1?XD(?sY00004nJ za0`PlBg3pY5S{N%B&6q#j@(>pnVA9ZA(#7rZ$=Hlp zqwL@TsRM@&95`U{KuFVdQ&MBb@0Lhdo AdH?_b diff --git a/app/open-iconic/png/audio-spectrum-3x.png b/app/open-iconic/png/audio-spectrum-3x.png deleted file mode 100755 index 4a232e14a5c8e92dc4583906c6d888a91b2282de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARPgoE{-7{oyjQ*vVYu@jD>>ExU{jVFwTlT(B$5?WWfQ}wsL`qTpQS4 ze&A4AwL~l?;RXA}6|5|b+|0Z|d`1#-jxM?lrYqXZ1p-w|dH*UfG4MZNu`j%_p9N?( NgQu&X%Q~loCIDP8EjR!G diff --git a/app/open-iconic/png/audio-spectrum-4x.png b/app/open-iconic/png/audio-spectrum-4x.png deleted file mode 100755 index 616d2d7aef34ee7644160a200e5897d83bd5cc84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w-r;B4qMC;pWj(iLPJS^V7{_7W)ukhM9{pReJ6r*j6B5ji+w@*I& zm&rksp(4ruWncM3X$FPMjai5IPVzE5_*QWaBme|=?9Ts{+R4aJ_lNyZA5dz-%LA9o co$?qOIHki_{KJJrH-c1oy85}Sb4q9e0I#GvqyPW_ diff --git a/app/open-iconic/png/audio-spectrum-6x.png b/app/open-iconic/png/audio-spectrum-6x.png deleted file mode 100755 index 5809427b0a47d1383283ea5b56792bf7805a517d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}xJr;B4qM&sKX2RRQY2(Sk7e!IVE<$=RpMs+jFd0ZsK#5QjK{p?Y- zec_MtM*@==O_(#1AJ1PMy;Q4?iR}W-Y zyw@KVo&}N))gNP5Y!Q8|p1^RH;nq2^s#ots>=~Ie*e=us_ps#8c#*pm=o|)5S3j3^ HP64nJ za0`PlBg3pY55iJG)9E`L;6v2OP3 z=ac#W+g5%y4`9$;pxGdHLBxSO<5*Mmh3`LfZu>hhZfRJ?5akdIl#JZSp0VuPgtzJo zpaLM(J&&J0{~5V$egjhmqc4(Tm`Pj~y!~YE{ZPR{pYCx?7Db)Vf p5MJ+pqmBv0VZFdK3ux$BdEdz_{h^(EY=B;3@O1TaS?83{1OO1%XEp!; diff --git a/app/open-iconic/png/audio-spectrum.png b/app/open-iconic/png/audio-spectrum.png deleted file mode 100755 index 5c3dc6d824b1125415d1b04fae25b8d3b59998b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5!Vh??4nJ za0`PlBg3pY5ov z$uWandp`0n^qjoxZMCNLg$FY~%I`SPBNsm9pcu1SMBu|_;d2#_8@3+e=kyk7_4^?v r@$rzY-op;*tdE<{_PkNLeN2AO7lFOfMxil4OBp;}{an^LB{Ts5{&7Wd diff --git a/app/open-iconic/png/badge-2x.png b/app/open-iconic/png/badge-2x.png deleted file mode 100755 index 1fa3fe27e46ec8409f19fe0d147a4e94844797df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5YEIg950Sc0 zyZ_(!NplF}`*MIU$AMkKKTJpez{84bPE`wQc3)-q#*k2Ycq4;_Nw8Cc;RJb;fWxH* z<$pO(Y?&>&u6gaXv$H>?Yc*Wi^`&(Y!-2nTGp6qQ;Ps#V%C$IE{->`pn}uDAH7>fo S`|%R!9tKZWKbLh*2~7a>Tv5sZ diff --git a/app/open-iconic/png/badge-3x.png b/app/open-iconic/png/badge-3x.png deleted file mode 100755 index c3db71390bba9dea9d64c4ef78ff28f0e19b22b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARUK2T^vI^I^RzA8ep zij*)m5-eu3wS!g*gA{Wu$v58d1?vhDf8@B5Y3Xx{J-VLz09 z=|dpb?axBDr-@lGN5}2>`970ZXQTflM(qS)V~b7}iI;!e>p#hVnA>pp!S>S(zY^CL ghKH-j?)<()uA3_&VPA-yInX-{p00i_>zopr0H}6tJOBUy diff --git a/app/open-iconic/png/badge-4x.png b/app/open-iconic/png/badge-4x.png deleted file mode 100755 index 1f24ead746f8b1ff6855a38810e15a08ef5c39de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 376 zcmV-;0f+vHP)!IS)9*Cq8h1 z6P)1^k4=h&JhRJ~HUGt9)EVdubOx%p%A-|^r*~Xh8<*BwF)&`SUYOW9tHkSkTgf-Z W#*a}0^un+J0000|bIaZrRi=r>y_PUPAG+c#})~mS($6XiSt}Hi#<` z21b#2%eabXp-C}9h7mbk7<6gzezJ!X|h%oRI*CO(oj(t5OVI6BZD=`L+ldJf{ zQD{Ppfy0QLrhE)dh%qpZ$mzn^bM7e*opl^!cXJq^tmji3*v%!LvhX@hDEtbNW)tC^VMd3Mzc?1)=VCt7^-i)dxWdIL*%UB#tf@$z1rYb!2j?;QUUKcjF-3=}ne3LQ64 jH0W38sDWZleQWs*r!+)>A1qse00000NkvXXu0mjf{&?uK diff --git a/app/open-iconic/png/badge-8x.png b/app/open-iconic/png/badge-8x.png deleted file mode 100755 index 3bf881eee7ef8c917a128a4838f1199d2babcde8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 724 zcmV;_0xSKAP)GUu7W5ysMzd)3f;!iMLsuY5tq_s(!pq5GQRq|29Vs0s>^Zxa zdEit#d*;0F&fT4lJB1$ez;j?7SOpe=h4R`7a0u)JyTAuvs90O0ECJiVPv9yrhQM2( zFsN6I8DI;zAYAxpoCBLcPr3GF3jA=cD||G*0DVmXDLe+gBPYI!Z@`M8j#?DJ59GyP zH=(a3CYBjwhyA$tOiSMhTQo1eidRaSf>|Q%Z66!w_<2NY*hWu$6>n6O1u#$CBu6R+ zz-(&qw^9?}r?+ z`%an^NsNF_BVoXaK#sZ`rzVgv;7}k(T@F$cNEom$ki)ER2?KToa&)opKg{9x@GPdn z$um%i5ikVa3*?FA9q`Mb-y13LOH{3=e+E2MQ5L}_dIoGLX^NtU-@R>G{3l>qNmDd^ z{KjQd;*Wp_T4L(5LNg{D0n3UylIY`iZzYF)>!186J^b!%%Gcox|H5nSZ$5-Y{08QL zaNz^sH42|PiT!|3X7PJ?)$w=%+$*mg;}|4HQ4~`0<6gf82A6OjEQF4@t3>S#{HvR=lP%b3OA;0 z=Lr#C;cjT(c|yfkI40Bp7jchc!VGXV?sH6t0nX^&AbtaAvk(glj(F1m00004nJ za0`PlBg3pY5>a5ipy=dvY5gGUUr&wOB2~Wrr6GaxFu?(KB KelF{r5}E)S2sM5H diff --git a/app/open-iconic/png/ban-2x.png b/app/open-iconic/png/ban-2x.png deleted file mode 100755 index c1b039f0a2931bc2ba9fd509f670c2feddc07025..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC?4B-;Ar`&8m%Y819R-ekl>gyz=api~#2-rSUmP7w0*k~1^A&`g zRICpguPB_DDIVK-c*b#)D@nWd)t8ojHUAT@UU7iMUQqbXcI7A7u{>sp4 zp6~pnHG58L0sHbDT``A(4Z2M`j#&4Fl~gnYuAE)>^Bk*P;SRPs-hz(z3Adg!s>WPt zh~LnkSM&XZu;1q_(*%qDz2={cRdcSloILD1;~clhja8h7<90fH<(i%F!lllqEaFhA zuSA|xvHP}k#n~w#%z5swjki3TU0cs4nb%AuyjuN4(^8Uo}`TJ;C#~nURgKzpON&g91j}8VI#!4 z@H05BH-y8@5dQ&xf@8WN9A-k!@3=sLsfKWv%@?SXXc9Oq$|Q=1+-V4hMnDM<+-(_eqPL*u#k&fK}p zJa86s&pFTkIp;iYGa$c|aT7DRj0v1PocniG2D0K_32-jH@9FNx+&kMhV&l!q#@KErBF$`k}XEBWj*v{Cyi>W*(|B?Zo z$6$^F3}7z9kX>zVVnq72ui|(Pa4ZWcx*FJ&;S)n2|gmB%@FrXnk)e)JL^!C+0 z!JE-B(Yk3RTCk(owWq=N1)r!z-=8)&l_itR?HtE~xyeU;F&#)1FyxJ!?T#MGO!?)<;nLfb@*|T;1SCZkEC)*W)!?9@3L2SSu zogJ_!oR9$%2E@aK*ekptYqS{DXPN58k= zZe-OPNBy7|Cnxj`?;}0)a6;(e(o%7+;BY_EQ`b^&mZQmSAx-uQUdG2r*OS%-72!?W zmC&Mac$T8;LcA!>)4hT}PSKZIZ%RV0jpB Vu29RH?Qj49002ovPDHLkV1jEiHd+7x diff --git a/app/open-iconic/png/ban-6x.png b/app/open-iconic/png/ban-6x.png deleted file mode 100755 index 85312788c23b3a6a5268f2ccbd0e7df5a59ee605..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 991 zcmV<510ei~P)aK5k|tog)UrKm4*ANsELUtq(S%x1SBq9Sf#X* z7)!jkI32yc&NDN2?%bDO@@(#$d7ke%bLKhEIdeB?MpJkiPvQ~m!X)llyZ#53@Dr}! zBEG|7L-A{A5-0Ej?$ofB)RE(u7$o>MoRvnk4tSoe;EePn`=*UJy%ww~@J?ICNsKoQ zzY~}H2;OOzu%jvXqqsRh_{?tLNU!j3;C97;*YE*e#-q3&cVP_oVJ}|5d$?NB=WWdN z0^h0-;8Q$a!~a2ijMb7Dtva1Js(j=>$AdM%JGBe*C9zgBhi40J z>c^ZfgD;xO?{+$z6xTNMLxBHit=;+H`ihPM@I=sXRmw`kfQN_0>3p``aa0n|4G})m zxuESr)?li@;lUxp!xKUK7B<66L4zMh06x?8;J)X_q-|iHzG(=44zCxqnZujXh(`J< z`27%kE$CgBu$^jR{WuB%hz|ZM@k*cDng5R&ei}HI{R7wnLI-MziyEFv& z*@AfQDKX#Y9BbxNk<>uYFb*PqCB5j z3$NDj|8FPCzMy1w9q&sU@O{!UKQ3)Xwn!!M3_cXsHhCjo8$Q!v>ElAT>9tq;O^s<2 zX}h>y>W3}p;)SiMap~hioyD%IElGL4=?u3{Tcz{)CcoG(OXWeh!uCTGQtn<*o~@$n zazUyp|5un*)rQ*m>$O?>yUigfuRkPxG|3LfR-{DG{&$=2rNyZy{R0Gw<9LQk|#4ri*rKh4IDk6Fp9C`_npa;2*6{Ry% z)4fVM#grqdw}*8Poo@H;wZG1}$3Lu>xqGkw`k(#1_nL(Ku?lz;7zH)}tASzQ7GR)N z<}$Dd)Pb|W4Dc=RHLy@XjL|U$90I-rnt^s2I0!sar~(fR0egre+VnAY1J!~wSz#qG z1^iBa!rSd4u$LZxhy>ULoTE75?N$eNwqhw1Yk;o;0*`ISfRS7kXRsakBWFQAwg`;p zsG9`XUjm_;?ZaV6*cR*uJ^-Gxb=-zufob44vP%4jOk_*I72qb|c4UumAFu^@0=V0g z?;~JG%XcvPfiG}xiF3d^z(WDt8-W8r!-N0xR_sAYfR7!C=YUs`R*i)LWW||vjO9ZD zR|uCee;FBnF@?8d0GI$SImGp*FWGhnl2gC~zC<3_<`7#GkJVu<_DkKTz+i|PN2~+p zEn`b<5r=(3g8e4vFvae|e8i`A%r@3tmJScc(PWJf@u}_5NLFIExBrCer{%L&M>#-E zSvaWyH%AnwA(r^m-sna&gnp!52JVlm&j=Usv&ibOtdzS*mtL^Pf@CVX#O`nvzqVCx z(xUupoe00TAh|K7LIZrogKWgKx~JL+$1I3mjw-P`Ld2(d$)fJ&Y=uKg;ReODehl#- zv7T4zzm=_^U1Yu;N1qX~#HTo@_^71?S6L8l4A*BwZ1Et+aLv~+z_UuBxo~|(2SOL*Egs;6^7{smH#k!_ z+3HAYgFL%^7F!kH-+(+mnhK40l6ON<;sNea{LcgYr4$+p2%sHBiU*0^#IXc$RVh>n z3?fC*;sN>;o-1Jf0M{Y}0lg6qa*3*b0Br~iw0m_#ufzk~rtmF+J_*_^Q{B)@@hQJ? z609KCL?)~bAfG1RbzZ}I<@ZJf$;mOn=LV<@;sNeeem_$|5|T{V;z(K+@gVmcCd>dl zgL#~saUksVn9m|Xe^h-6;7*HRAG9DWlX#Gc9*15p{p1H5h#&%^DNv|(_T|LzLQDt-l$l4FXe)~Vud zrBV|~PJr@?2YomF)z|i_Bc3L+>()Wz`#l2}w` z@m1`)eLC?u-)oFpI!|p|h#E(XVmIM6k!!steTnv2k~ERbj7joMlw5(V^V(9EwaE~| z1W7k_=?U}5`+Usj^g(2MtL^aG?Y$V}{Yc`m>x6h7X)WJm=>$2W96>+Wbh6KoNm3=T zK|k^}pLbD^!7s=y(FtT9K8t*yKU==5$iLC8N3OBPfX9J5Jo(;74sTaI>vu$gBp$oA zM3Hulz%g%wr*U5*i?9m>%=WGr!GE)qhaDyC{lW_gl6zYZ2t3plu-x9}i7JwQsvV_c zclQY_4mL%iiezBUke~1xa+y&o;hnG<$-}D=F8U;Lf%(5Xycj4V<$V}<4A_L^k!NuK0OCqV2?~z(rvLx|07*qoM6N<$f|IF+u>b%7 diff --git a/app/open-iconic/png/ban.png b/app/open-iconic/png/ban.png deleted file mode 100755 index 99f8fecbf34e051f47accec20920df623367c392..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5xlNNtV? zWlWsT%Xyv2sXb2Qr%RgbblH0rDdp0w&t}*iW-VML!?o(^eKnx{44$rjF6*2UngEO& BM^pd+ diff --git a/app/open-iconic/png/bar-chart-2x.png b/app/open-iconic/png/bar-chart-2x.png deleted file mode 100755 index 50a834190c61036878aadbac67f67a3569b001f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5Y;*td7ro v))dIB@W7rq?ZoBttUXh1_=$@1*f20?d9z7G^+xRj8pYu0>gTe~DWM4fM@1)k diff --git a/app/open-iconic/png/bar-chart-3x.png b/app/open-iconic/png/bar-chart-3x.png deleted file mode 100755 index c3b0adbac90d88d1f72ec4c77b2cf70b40654ef0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARX?WE{-7{oyjQ)2|vy^F!b;&Y5Z?-lA_@!qhc{xF;?G8la7Zdf9u}y zZ?VN19wrV21O2R^^0`ZG8Ce7z7#LZ6-q#-zdCRF#aI10s7WD>(18o2PvYO9g-7^Dd OHiM_DpUXO@geCwUG%^4H diff --git a/app/open-iconic/png/bar-chart-6x.png b/app/open-iconic/png/bar-chart-6x.png deleted file mode 100755 index c4fdc1a854e7be861459c2323501d3f1bab0a6fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}x1r;B4qM&sKXj$91}JPZe2{`{YQo8QFNBZ2ds46C8{0uf`SusNw8 z_jrH3d#Z5W@dqU7%0ISeAR$|C(v>RPgg&ebxsLQ0HsVmasU7T diff --git a/app/open-iconic/png/bar-chart-8x.png b/app/open-iconic/png/bar-chart-8x.png deleted file mode 100755 index d12c50a1fb40b72c610e8dc151143d32423670d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5z~Fk&WzYYqU)g#WBwpEbQ|!>=$*$aUlY5Tu zFcUvt9{qJ~%(wgZZ2mkqZQ#2g<-nf7yMTEM+Xcob<`)cW8A}?jF<3e5u7A+8_WtYL zvh~b3RAe*AE&v6&z&o2247MP14nJ za0`PlBg3pY5V!Z diff --git a/app/open-iconic/png/basket-2x.png b/app/open-iconic/png/basket-2x.png deleted file mode 100755 index 1846e0eea2c6f630903f5d98f4e172e816221f1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5}-7F6eG&`p2$)TYGy(->Vtttu&mpTB~0stNrX=_90Z^U(Rgamwz?9zAryw Q0dzitr>mdKI;Vst0HL^QT>t<8 diff --git a/app/open-iconic/png/basket-3x.png b/app/open-iconic/png/basket-3x.png deleted file mode 100755 index e9fa58b5c36e3e27d694012960c1d852e73d8a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 362 zcmV-w0hRuVP)4)J;kQK@f)FCuT%f{+>WY z#ajs8Mciq`i)1I{9_m6wyn~`5=mk{V`a@hyCRAd~OfnM`KPZ^#`s(fJuAZj2*6@f2 ztc*}sNDH_@yAxNKs|sGnX@F;O+{u+zGeAE&k-ay|!gut3^&T31W4q(Rx9}D~MoCC6=$rX~f>l;m5+(r5Ni>q}I%U0v?Px9C?VXh@ITVM$Mq;zgGABJuqu z&GU3MtjRIgHdsG-{zjAI^2hcJn_wTaI4I-!e?Qt~1u?h;Oh4g2;l2f{KANW1s`w)rHfx)6NQW z;6Qivch3K#yQ;b<9&`AI8_a&9PobE^9qMm+i;1s-58@&LZ{!7r%7*vgBm!^bAM}=K zVB;NlBR9)}|BAqNu@@O%YBl@^o&(4k`Z0j>;8_*(t%6TT&-gm7FqY7a<2umXW9qZ; zLHrFGKVUkdoxx+Ey~Joycn^+)hBf?rr)EKRKAfVjh=H|8v*jFhE0MabkHQxtO}2B^ zR@F@nPq^qF{) z-ocW`tP$BAF3e{7RODF&p(fL$NzYKnY;K1u_9>tO7tDu=a t6`g-U%s{O~UZ!`j=f&D=HN7VsU}d?UUA!!{OWt^!*$H{XaYU(*#_0&28wz7aKFYt9Q~ zllwlT@2duW|KkC&xg%f(nDw8fyhj~(?U}?)70KA*iQH#O-XCD9W3D|nannRHwHBy( zt>o_lBbmGQ^aJk|Gn+tPpzaFrR;k+tN*Q~n0K8F5d;qR1^+Ui%rG6cEAC(!)%I15( zSPL5Cz)wZzW!qhQ=9Enjfx8h}GrmUBn{S(I&jk9!d740TLDBmQOs973xdD7tHhYyq zdsWf>0gR^52HeDXr);tTTu!0ihnrfG{tj>r=#`>?JL>yWm@uU)Zl==OMeSWpw@s&@*K_|9${VmIZ@`))4b*Y>>qXonV8yRl>4-@0a~=nBD?+Xou{v#Q zU?7lNO3*;8PLL!AnN$;dm11@BgRCpb8?fd=Hc$+#4O;0WX<#m}cHdA(L^{Y0a3^L7 zcg3EdzqOMhRwqdQL}pFifHhhJUpnTZIiHghm2rO=#ZH%Y$0y*9Wbzorlw=Qrad1=s O0000G5kaGs7K+5iMnR$oHiDq>fiJWWn}{zq@wKkS z%>|8{nUgz@v&+s0r@D83=XVZ!XJ%*bf(~ne%fK{H1IB?hN?xL~5_kjD=fn$OK+jej zx`Dg=Uwj@DKuOD73@$K#@p+7?xeLrF_TuvxRq_~&5wgin+JG8RQE?i8O~4oA#pm%A z*sS2!D=UE4EWG$U-U6$lyY@skaEIc>=W!2M9ND`U&f{Ku9v35fcjhRv!X|**!h4U! zEWm|b$Y%VPWIMkB;FaM1-@u-TbrfPFvKjvqF!=O0&mxL)1exKRK$k$T z3%DiJJnpfMLJT9D@t*<^|z(;}p3^3$SMJ>;`;R%qy?$DF5xIj<6UWjHJ} zavkXOn70$SA%cy;<iYy^jcxx3qy}gk&?YrN+kiHy0on$%@zsDwWIu|Q zXJZ6->`6O@zL6=+r!NnI-Uj2AlAR7oPH;l%J7a6WuwiUPV9*w>`p(!Iu*5L7EHG#b zSA8Qs=74F#wQ95Lr&U1PfHtWC+6J^q4bV2AO=^G#4bw)Y(H6F;^nEnI^ajYb7SOk1 z+X_#TeKDC!AMnI7RuZoI&e$4|o2-!S&3l2}o{IOOZzTOL5X(igk{Y0GK%3M6!9CxD zy9mcO+YOQiT=QT=i*X+!J!Jm}sN!#34;?eWB?Rv){sCl;fJfR!xzzvw002ovPDHLk FV1l}rcEA7t diff --git a/app/open-iconic/png/basket.png b/app/open-iconic/png/basket.png deleted file mode 100755 index 57007ccaada23d9b7d4a613c9010786ba16ce665..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5d@^>iMS^oTpS9Z+&h16(rYuxhs@3yf+4nJ za0`PlBg3pY5#oGCAITt3>(X!PST zU}_F}-e@cNqay1@!^|0LM3*Npyt$jqdQ$(}%j?`~4nEIrTsn}sy#8T0vwMX4q0CL9 sDxB5Q3{Ry@b-9|iEHlg2#fNoo+?%09wo7>FVdQ&MBb@0H6OtuK)l5 diff --git a/app/open-iconic/png/battery-empty-3x.png b/app/open-iconic/png/battery-empty-3x.png deleted file mode 100755 index 41e693afc720c5b6dc4dde44c5c4b39cd39ecd76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARV=yE{-7{oo^?d+w5z@Ch4n z+Q_n+IH<1J$q;Ojz_#T)O-M!WiFMO0(}S zsz0E+bKi+wISKps^^5FjDE)?j diff --git a/app/open-iconic/png/battery-empty-6x.png b/app/open-iconic/png/battery-empty-6x.png deleted file mode 100755 index b603a9300d3f7f0ba1399308ef19e48cde00dbb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I^PZ!6KjK;Uu_HrFEkZ65qzEpv)sqfzZ)|W3bc6S6@iBG!1_v}ma zXNT!3hb^D9H_dFF)*xIE#(whytKHI0mNN&IX3zN>cVMrHVZomd7c3N=&x`zjz?Ain zyQg>O72Tsz_cmMn;oH#=^@C}xcZ~|?4zXj!i|Sr0?{NzLq5Om?OK-t55FxhDVM@JX z!%DMh+Vj0MPw(Dl@kg+T(NsJj+jjA(=`YeBmLFifa!6dFQN2L;`HfEj>;}f#(G1BK WB>!;Tyz&d^4F*qFKbLh*2~7a`@@4nJ za0`PlBg3pY52b?lKm0D)No`5kcCq1|yqNA| zhAj-e%omtUUNV0XJ~ri**k_4nK7RG=77V%$AUWS(48hY5stWIYyRZ9EY025&4bi{c z4=`phO0h3s&5&sjTTsXl)o=_ZaEU$Q_xFbWCC5+v+%57yIe)I<_iPi(zse6_*6=xS zU+}rfp_{1x!T9BS2ACn9@(ZSyOe$I6s#Umzwa4(7#AUts&etL3>qXj60)5Zm>FVdQ I&MBb@0H%O@PXGV_ diff --git a/app/open-iconic/png/battery-empty.png b/app/open-iconic/png/battery-empty.png deleted file mode 100755 index cf78dbac96fe847c02f9365de779f7bd885a59af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY54nJ za0`PlBg3pYARRfLE{-7{olh^F=4uY$alQDIyXD{i>0L|11FScO+{%2XP^G3gd9R{n zihna>tU~eOBC$0Y%&h)4cHYuF&!08@U<`cv#mjee~$T|N6xoO{{_o`IN4_`qMOFw$rro z2?87z$5=&4nJ za0`PlBg3pY5ur}wOY(R<%{$=51o Y|6Zp>mC|i;Ku4nJ za0`PlBg3pY54nJ za0`PlBg3pY5HpPelkG0ox#PyEzE`PxbHHLH$$<<1LQ z^?laSD~f-FZ?T!St^9F7<5RNxC3+q*Y>)V}DbLuhp!sipd~4)V)drK^TSMCsDza21JO0 zU?bXVWhIDLkh>7Cz)CDdL@PloZ0xkK6f40dcc3XO1VK>?1@VtqBx}a#CYzsaJn+H7 zzUQ1_W@o7@hjUcAm=A1<(Oj3|(Y(bK4C1WI@OP}o6*MX|CSm&j0 zok66jc8U+x4{yH-cMxz#NyBIS{H78nE8=I96r2Qxodo<|z@N5)=L7f!V+jhz z@f!FR;=l|_0l1MMJkoaHE7h`osTe>{7;d9r1kZuL*a!^ZA^=v~2#>TD_%Caj-&zV@ z_G*@+@I3BPD7Z(y4=Y&gU`tvlr+P<}Q&@d8O9< zWbqGYxN!a-H@Uev&|&_+VOtv9oGFoBTye1o-kx7!jslg8^)#=M_8x zMb)Iv$0UXPAp5)9HOp7v6p0010b;{{0KWja4tQjv1Xvd9s)FH@SeF$zuIL4xY5k;@ z6nHCwQv>?K1XvS7cR)sgmjx<k?f&|zU0@pxS0DcCz5gJ>n zp10$zy!0KNjlc9KHO vAu7Oxd>n(o2G;QLsll{?^?P2$F(ZBh7xZ)Qj5GwV00000NkvXXu0mjfxMa)> diff --git a/app/open-iconic/png/beaker-6x.png b/app/open-iconic/png/beaker-6x.png deleted file mode 100755 index 75f0fd66564353aff35dab17621b3559da9e35b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmV;)0yh1LP)kkINeb>Dq>+FiYX)(qK&2z!OE0@AlL-b1tAf!5J7A&Br1qMAf`}J!KkRw zn4HD1aJM(#W@lzEGr>IY6<5srzTfQL?#wL68~~mJ6_52D7y{O2^4vnqAPyEk(QnzfH*atlI9Q-RV2$XCZNJ!sil9?%z&N`QH zI)eT`I&+#?>Okz z(1}{m=}aycpnpZst^j)q(C4lo{sD{4wuV;Vli=~tReY}?TmjCzidS(l!>7kZ_^}}R z7FgpVoT3E06THemWFvZ15Uc>Fog>%No8foNR4hi`55EAK3W;3HYT&it`O?($lptg^ z8wQ-r@I9ATq#2kNL?*DjA9E4|PXzDxKuaExtS7>u!XwvnB*XveVuLpVUxdMr8k1Lx z^z{1%Y|a`etq?;hak;$%_#HsN#p*B6p=)3?fN**1emZ=20HI9laCHOa00NoTWD>qB zfH1bTKL(Dod^r&T&wyRNlUVX9LVbyG`heh(`3SXLY~=c;p~R@A!*b;lNZ3 zjQLLCz<7i@n|TAQ_Z-HQAHcTc$65TpluYYFx}$*rLglFi;F|WD0B4XlG$GV9a8L@L vumR`;9-vOlq+`XUn(dFkJ=9T7b2{ulpVK@U-^n|a00000NkvXXu0mjfgk?Sj diff --git a/app/open-iconic/png/beaker-8x.png b/app/open-iconic/png/beaker-8x.png deleted file mode 100755 index d652757d639e4a113f12935428da1465179f7eb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 955 zcmV;s14R6ZP)IZNeSfVjEkp$2c zgGpsmLqL;h19rw>A|}--P0$y9zET<><}3rIWcq;AfKhu{;)&FNJ2^=a9i6CyV%8-7 z4&wTMIhz^;mYPgHNhNR`=!?OmbZQ8=0W7jH`BV~Vz9$7TMH;`xWN_&ikjjXOERKY2 zK*3RJfa?IRDK)@#0N0cn;5vY7N)2!wz%`}~Xt0vPjCz;yi@0A4+_d1xip9W~5bml4 z&o#jj04pqbLUUaRH3BTO;AuqdOl5LCu;2;Bav@LvoU`aVui;y3(I;|W2r~@Kx9F=! z{Y7PR_5hwm=Y*^gf&{>+2)t)Cye$!U|HA_w3n7Mpxe>T)fuDl=IZzgX`yZQy00D3; zLjMU3|Bk5SWxz8*{tcKBRRCZ%YPUC2hBrWY6!PtYH~cEenA)j2W$!j4r=5%Y)dvB`KHK6V5%*l29>}kA=3ab%Z98~5Cy;< z8={cx)yQ?yR5AzosQU_-Y%0ova-dhpHVo96NKOla0N7?CFhu9f)Sm6&4anEuPjS1e zq;qXDhFZFZ=8`aQ0BkghZ-*A-oVUUb+JwB>(Pf_93LfwXxe3i-2EC^-;3^yGEzyje zS9`ge_iXuvO|(9#aMULhWdcqniAA4#=bifqCf~ z&=!MmxvC4PlWzom#~@g)YK)Yp$l7BND%W)x)OoQ6c#oR}jY~#>1wOEe;+s6EGvF4V zke7%B#%d3EK|F4AyWq2jdYZbzbrM&2s3T(0;-jvNiWVPu?K*@*KKMYl>l6-o=mQ!WslTOEgS!BOCQ@(UlmeZWGgZqmH|Gn2yJ4og-K6Ksei zn{YPEQ%27ztW6V$_9rppK>VRp&@5F@x;3ev%&nu`m dV1slY`~#1jw%#JO-Y5V7002ovPDHLkV1fcrolpP( diff --git a/app/open-iconic/png/beaker.png b/app/open-iconic/png/beaker.png deleted file mode 100755 index 4abc6dfeb9f0504902e242fe1f6ea7ea2573e07a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5ka x<=TPd#Si9x=dpit=~!caqi|Hp$)ZEKj4o%S@*S7fg#ztn@O1TaS?83{1ONbKL>&MC diff --git a/app/open-iconic/png/bell-2x.png b/app/open-iconic/png/bell-2x.png deleted file mode 100755 index a14f5c4dcd2fc1638b9269ed8d1de2130f36b71b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5RcD8oRa}H+p z&C)%yKxg;klx`lI8;`2xt#?0|FB-t4d!gics>183*$xfKi3e(K^cXFl@ z_u_cPQZBPL>2+J1_AXSI5xL;KzD>hUZU4q@M=`$xE>C23e4Ef}Y`|>ccH)rY!_V83 w|K4r--1CKPR@eJ=+h;V%7QBCwtMP?x`i__nrT^mQ0^Q2s>FVdQ&MBb@0IMut4gdfE diff --git a/app/open-iconic/png/bell-3x.png b/app/open-iconic/png/bell-3x.png deleted file mode 100755 index aa173844f542742b0491da1df11e805a1e5866a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQk(T^vI^I^Rw)ZL)B>%lxj5`%{Da&KF!~&CC}^hfZN~6JvCq z{EYe6{rJlD-0}=FT^-oIyndipu&qH`exg1f!)dmHr>!jWw=;y#oBD9J*uzuWtn>dc ztg~rLYma(9+4l5bePoe5h>?f`_ b{=u|1^``vkgxcRgzcYBc`njxgN@xNA;OTxL diff --git a/app/open-iconic/png/bell-4x.png b/app/open-iconic/png/bell-4x.png deleted file mode 100755 index 1e740fcf22b267ede9f2917886084c10db8b6feb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 431 zcmV;g0Z{&lP)+P!xr~)T-5?x&;wL zsNlqzPJ}ve8{!6pPFzQci_is#hzoEaP7JsM#UCO_s#FJkSF|PXFYiT!9ypUE?|$dq zmz#jQ+CUG;fI>M_*VaAiS*r!4zySCx@c=jm=3>AvG~iKRh7OTBz{P1OcpH7&b;n_R zCmI$34uHfXcmnKutQ%8?`|icJHYrUifEkbA0DWLq_kigLS{2}^waqF4mMXxlYM277 z1qiTOCBSxo0Nync;12%@u%3i6?FE2~JFf61a1$`V6?PxJZyg1Miw|w#JHSVT0DWM~ z1m6Vm2ypQ;uu%rz1zsb<#V@MMztjQVYk-T3pCJ~3hZ^DHdthM-=&JVDt$E-L!p^&^ zuM>vjF&%far7Hf2JJCOv?rWL57IXSVDxGWYoq5!A)(Y^%`0gKpqI0J8ihiw5YZ@HlJzh26hbI;E>S66BG^#O8HwX^=9`@}XC(V1Z?l=p z^EorKXGervdVmrz0`vo|@#lBIIdA}!flJ5pR!tX5tOC5Jqyp>%-MN_lKnb`fT|Aiw zU@8aSFU%tsPiDcpbxg@n&?MfUL>G3;=C|C(V|t_PP+q6(OTGuQ(?*&K7AI4|qJWZR zzcdQ**y2u7MlAY-F!m?6xL-axH&U6%qJS5m!J?n(*hNVPX#w@XtFVuhdenwCLb?Z< zh3#z+%^@wIL)hMic1dGt0e!;uHuOpwOA8nhwzpw8%fT&`Uhlv#Z#k3jT#<##{3)f z$1;l0fO=2G4X~N*#H0l07*qoM6N<$g0ocumH+?% diff --git a/app/open-iconic/png/bell-8x.png b/app/open-iconic/png/bell-8x.png deleted file mode 100755 index 07151da9226ae5a01195ae36861e48459b4735a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 804 zcmV+<1Ka$GP)zg7c+r4 z7<1>Ib3d%}z`IE}ci#78?#;~HDdCSn;36;%i~*y-Q2N~$-~;d+m;>&opKS^1z%;N1 z{4~^8;4W}5fL}E#z$CDadGM?@fGJ?7XYXQazykKcvwF!tbT%}AW%RR1K z6YIcsg>h_;-7gtH+JHWi|KyPL0WI5N=@baD`ezY&kTzhCuwH`^NwKs6`-Jrxh&)Ie za70+I!C^_Uv;n7t^%?~A(8T{eKvqkxLw2KKV9uAUr=nyETou%6$q zT-FXwwfi`v$SF$9UycF zsUBdlnK}YIiNL&;9s|2g!`Fd#5t!E2Ti`&i@P}~oc1J8)PBZ?IVc>lPCS7ZhF4N&& z1m=8cCL8{I1g3oJx1Hsu5g78Vc}VWfC*s)S z3&BbW*d%$%`#-W7+CV`;K|w)5K{zyCl zqv06IeqG)N7A@dt0KZPK*;T#~#Hl0t$+ye&5c`EQS}G)G!r!Jti{zKza^X8^0JnfQ iz_(Pdftv)F^S=POf7i3#9Y2)-00004nJ za0`PlBg3pY5IT!y$i?aPn-lcJ&Gm0dZCh17 R`!3LQ22WQ%mvv4FO#tX|HAnye diff --git a/app/open-iconic/png/bluetooth-2x.png b/app/open-iconic/png/bluetooth-2x.png deleted file mode 100755 index 35b7ad4d5068530ca146f72506b3797ac52da9b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5osuuLMCPf6xt9A*5sODprIPdl dzRvy6Fx%dtyY1u61wg+rc)I$ztaD0e0sygiY!d(g diff --git a/app/open-iconic/png/bluetooth-3x.png b/app/open-iconic/png/bluetooth-3x.png deleted file mode 100755 index 630b241be4d0bee0f130d6d50b83436b722c79a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 423 zcmV;Y0a*TtP)IKXS|+k?yo==hrJuI~hu?Iga>SSnGFp1OjND7eIO zj)GAn0W0D>)T7?_gSH(+a+^ebf`wAxCXy=ZU5w>`l*~b8Gh#7ke{lEHTAEXIkIlaV zA6DcZ4l(^(@TNh#!D)3M!In*`)+&4Sw~v zO9|30dXllOCkx0HYtQF>@NUzk(n0Hqsdh40|_aTI1dz8qDr z;0{}L#iI}mmi;kt?F}dM3P&MQPyK^iY~&D+K$PJrT2`zrp0IVf-Wwa6pwz0p0Lw|c%5GGfwL;HXcb%s?@JkQ4XeTN z<0!P)j>`~5>9|fW=oxg-tUKmt8Fp}(Q@9Esl?&aJPS$;E+w#_aOd2s-6reGqMF6rI Z?H7|CA5_$-LR0_%002ovPDHLkV1g`0!c6k2q8DjioHWhnQ2dN@3g&dQZt>- zJa5mu^U;AgRYp4jW+RW6T$R=Cf%U9JfwB!$Ko1aLA|IAsO$O?A3H;1Prj*M-1v~?L z+2|DV87MyBS_8!fJj6he0S`4$T)^7^cYsGnf0lr6Hf(Ey1DFR+9s48=xb#mZ)^?YH zTAFHf8gQ{rCPtse0O+dGNx*G*+l1CYElo9s7VtKB(?qBN&{abn@Nu=B?>dYaJLc(s z1>Pc#|0!Xx`+S=;m(VdVHw^d~6Sn4oGtZa@U~8D*F(yp;X8i;B3(Rx{UrPcFXlDHm z*ytMElz4#Z=9~2%@CW#j626u=z%=a!SWOLWO9%&l?~j{KPTL|u4}S}+bO90bAPdnF zunkNlI-gg5>oTZa0UD-5#D@|`QAETfZzCE?vlb+ z)>ut7E`Y^S;B5n-{|4AE0lvvVEloAffrXs#E(4&e#uKosfsDD89Yu`wg?0*{PKF1pbnxC_#{CMl@@+vfASR(RF_5~s4k5}P+b~{pt_VjsQ&=+ WTAy-s-n4cA00004nJ za0`PlBg3pY5)2GXH#}V&Ln`JxowdIIs)IgIj9f$IlPjO3=3leS0(FmfMgaBeOQ>-fvFqTl?$&4shH9j7yjevsW^ z8q!=VoO~dPeM!=RD7Gb82X3*ZbTMX&PLN~1rlhc!&BsomSkmBT!yBPe<{wgl<{%bJ z0at}wp!KbWEl)4H^)Q;gGU-uL=>5+ddHTL6vqG*E8@ESx<}oSLRUj!5eh+SwWbM+G zYz=n2N0}}u&Dxl{_IQI-sZ|88F~yu$*5?zR70eqD_E-M{i^aUaXcMuUDQg&Ct*U2Q z_f^s7;ECjhO|Q5g2o|g{4^?v81(IOU`>OAG`~pbN^-ognr%ret{=lAm`y=0u0KYbV z<@q0SAIJ&cVpwVT=TSWKbFS}mMU`X!h~09(uk+-e-h+pH1*I?4Y$X0gKj8l$VG*^h z)ZXo$`T_R`NuG>yJ#});`y1O2xEZQ)O6)TDy82!9gBnF!A-7wnn)cn^eE3~(lF7o{ zCH>#DUYYD+HLDI5?R>a<`|K5$KQQk&%`jgw!A4q1^aGd0m?3K zryT2vpZHSgSi_W1`K#VRio05t>`@Chd9g=hwbiW!pC@?#dEhv`EBuE_lU|GapOhv& nm#z;dSz|jQS+HYI*1Pt({s$Rk{_{rx6F!5dtDnm{r-UW|?m1AS diff --git a/app/open-iconic/png/bluetooth.png b/app/open-iconic/png/bluetooth.png deleted file mode 100755 index a0447d3ceca4b1a039cc44f967acb6b958f9f298..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5^@nELq?My?louVoy`A$Lr0*3xyPKB(?QlyYMJ2PYnsn&85xW(zEca? z|2|ZhwYi7SR+#11JXvfjNxYmGN)V-$sVdV2FO;{G?;)SIO^p{5{g4%He*r^G~gWC7BXe0T4jmR~X zMS!|G4f3~Dre&@u$4LChXR82~je8XX*9M@#4ffUvDDZ$@9Y9$by12kw;F+MaDj?Ni z1?0F509*#X>$U*LgZxVh$QuAog8U>sjI8zsM`jyz zk+0AHyCs@~9?#m#m0LXxA7r+9r4?HT3Y&C%$peOW=fmIg-z_Jp; zr6mQ#Wf=g#fd>G}7pWV;^rdq(O;PV2^#R4cG zhJx2&OaOp$!RszIz=q)U{AY7egiPvjDFHr9#=k>vM*mi90O{TTZUdx&0gi?72m3^u zaFcKac^Mv=4Za_xcKDm%GXNT(-_Iq01lR;RiYw2^e+57p8oIhBdDY<^tkqXl@W8z7 lRRE00zk+YcXM1B(_%F_2DMi0=W?TRO002ovPDHLkV1m}Kt9}3g diff --git a/app/open-iconic/png/bold-6x.png b/app/open-iconic/png/bold-6x.png deleted file mode 100755 index 4abed661042fbf2fcb3fb4cf6cf973c09affa61e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 661 zcmV;G0&4w^CkBGeFC(4Ld+n zpEHp=$!@lSgS`OuVG8%LIzX^8jp8Kk;7@|z$GrfyYXV>YGr)Eo$CserO~IXM0&5ik zzzOl0z8(R92NeRq-JtJhQGnAG1Dp!_{u~8pR17c{^u1c!K z7VN)N){qO}O0fUilps~T1LNY`Xy50essYBu3*|cY=L8tTBxa=@RUV}zp8`;Y{nBIf zbG^j<>N$RTlNuWhZ&%WE!@(jpw%6qWe+0|xsxrk+f@PdqrEtc%Xm5f#Q9tR z?V7^-gjkD;6LWR|if{543Gr^$1)v2Hor!PQQx^a@lMr*JPL=qzqVh&`u1)|1?|>AC z#8U0_5`rVanBTiqwP;eIGGC%m#qC|c+Nj$SifXHF00)Bom+J;F9qhkQ1~4{gCW*Qf z?Ej{$Vbad;LemK`XUd$-?l3?DAA<3gu)CA9lzW>&02+9e5bs7=@>Tx9(XMInk#A}{ zP7iu-69E{-QC!9R0I@D?cbe)Xm)&b0mD~wMY)*%}tlUXOM!sX+%AHs*ThzAZhXr6s vu~l~cc<)#UGH4CUSWp}f=KtA7uLu7ENM~p@(4Tcu00000NkvXXu0mjfyR;?y diff --git a/app/open-iconic/png/bold-8x.png b/app/open-iconic/png/bold-8x.png deleted file mode 100755 index bea0186d99ca70147fce88cb7a367964880ba9df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 892 zcmV-?1B3jDP)2o4KP5H1UvIFEHtTZ|9> z4haXv5^w=%XJ|lL{EuRCuR{%3RS*%^08Rd%z-U5#z_x@h1GM;03-~Ev7Z|<_(BOaI zA}Me1odF&umM@0}|6!?!N&NKy4gRK!pyc?ziXD+9aB-x`-&reTC^q^D0Q?q^hX7ao z+zC8muQ2})SAx(DI3~=$>`D-_0cGHvu#ERnNJ7O$;E=G4*BU~6OoPX<1F(d*1#C^o zzYbX%PzL6ZSKa{k6V!De(l($9OaZgNCj~x(T|4ZKQn^i05(yz)4JN@&;G0%q8ZDA# ze83*EL_)~3KvL`hF5y@L$ARw_O&VW-qeV8r0DpkX$Tno&E1?ljfJ%`KFu+q1_5|O; zHRGBO1L9%?n7}TFuVZ&~nkJl#D=2FN`ccN7?tWF!Vt@v)J&pk12K2BEc&4Do0C(aL zhhjhvw-q$40z0D;hGqc3a|K;jqLPJZz$j1`>RKV2iR0B01m&E$DA^a9%pB&g-t zfWN?ku#D+E8vypvqy&?BH{i1{|3s8gP&$x_wxSM5?+&|p?*USnyc;ks%-_np0SATo z8+kXNCd|L&GC=KQH3d|#t3e6gxe`nf?o#-yg0^WF$*clN8W_Xg{77`waZJ%=bnfcX zz=DFVt1gl`1(GxjxT~P4jpIN><9=S-fH8Dh-T?E%NHp)~wG60W2fP&}JxyT8{{(5= z&r1xb0=s|{*mwWZlb`-L)laBh;gDls*Y_ zFs*1ZV8APa0d3$OeN$Z#45(w5w~?>BAe(1$+UQ_kfi{38?3VTo_Fb@vTi8FX=v(Fy SZ(T9~00004nJ za0`PlBg3pY5cO$C2ToYybmRr4nJ za0`PlBg3pY5x|FKiHd-n$KdJe=d#Wzp$P!}b3<7G diff --git a/app/open-iconic/png/bolt-3x.png b/app/open-iconic/png/bolt-3x.png deleted file mode 100755 index 5319a50e8835413a6ed387694da14ffc80f798e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQAtT^vI^I=4_frQXIqNk!B-P&^eWHlQchT#73b8(cf1N^;K`&8^)k) zT&KS6dh1_1;m5CkUUmixr+B^UsZ75I}zQmS?WTQ`KP>BKjik@+x>al=dWKMe7zSc*>1nbr9%0; zaYa@Gk3Z*xhnkG-2ZEV&K14B^Rjg%@-m{iLdymxtzV&zeYm5iJ}A0OsFad4{Sgl28S1n#^ajH){xva4K?l`nGOjd?x$ zzu^M5bx(B}`tBXSerW5S?(ZL~AH1u*{`~(s)#Z=F8PeZBX1{Yry1<)vhjjh{T~*%e zK@vNz9Xha8j497s@xe9~&gqj|PJ14Ds`9XCQh}xCjyWnZenNWcD8f7S3f@aLTyk>c SJktX7JcFmJpUXO@geCy)3Wo0h diff --git a/app/open-iconic/png/bolt-8x.png b/app/open-iconic/png/bolt-8x.png deleted file mode 100755 index 95cb9c161b65ad81c48959cfc18f772b9a85b757..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCZk{fVAr*7pPC3YX$UuPQyQg#j|4Pp9Q>qs9+B_6g6mu!^OZqt} zy1yj9`nh3){@l;M*Ue$D*<=6Elj*~ke=XwT49qR8UnGuubG`T=sjvP()-IBf^Zw(d zECoMQSPOnUVfoYM?{#4R2Tx9q8FKP*2SR?Nu=uq4I~|Dmafo}vA@Mi|r+YspFclpV zk8<$)afs^#Z@dSi_aX5hheMw}CbH=8##=CY9}a)@OX{)CwU+fqcp1)#emlF#tVZ=+ zSmJ!ort?3n-F~ji;k9nz7o}=9~DNgDZf+%;4$j=d#Wzp$PzHPpg0c diff --git a/app/open-iconic/png/bolt.png b/app/open-iconic/png/bolt.png deleted file mode 100755 index eb2088024b4a46efbbf33e122490ad9d2dcee2c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5!DN1(>A*nhuN*)G_9}YXcmOozbiCLo!>0J?Euf$DfLN`Km!>(UHx3vIVCg! E02`w(zW@LL diff --git a/app/open-iconic/png/book-2x.png b/app/open-iconic/png/book-2x.png deleted file mode 100755 index e880ba25c46d0ac58010bd2df10a6e793190a451..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5 zTu(Fzb~6?fsxi&tWJ==AXh`BY;I!mfRm`L#EsS=1zi>A{%wb?=R?3_;;dPULfSK`5 uy%~oZ?2QG_q`cwb;h79H&Tc|71H;QqQ_=N~LSaCw89ZJ6T-G@yGywqLf;+|l diff --git a/app/open-iconic/png/book-3x.png b/app/open-iconic/png/book-3x.png deleted file mode 100755 index d8df48bed2d53c54cae2cfd688e438b0b2eba1af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARWs*T^vI^I^Rz9=4v(&XtS3uxwu=*#!0}uN&U6rt{03|j7tkIY8mcJ zGilZPFVC=OI;O4X#WJ-!D*w`^GF z`PDoQUfjIO>Hou(r(TKf_%CGO;Pv3(7au?7D!DJyrcTcb*amblgQu&X%Q~loCIG!% BUb6rI diff --git a/app/open-iconic/png/book-4x.png b/app/open-iconic/png/book-4x.png deleted file mode 100755 index f35f9fe5bc414d9bcea368c1b83d969d9aecf1fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I*PZ!6Kh}O5$4EYWzh_u;Tl@=Q3EldBTQN^Tp`Ro^!U6mZAmk%CU z$(QA%%W;Cc^nv%iPrur~FVz&OxWu4a!1(LLr;q36Hcr*Oz;Ili?Ksz$11H5YgxijD z^?c&m!L+%dHD(0^V|v`pHAP$@orfoDGF@W&6&koC$MG}sWw-NFKIBDnGUmR_KK|vPyQL1-9*P$HfAKSK=c6~0`x^Noo`~EK ysQWo#g`jD{j39=DnSqBqdDk?`7Mxc7zz}WtZ)V?A^XowGF?hQAxvX;y)cTduF$RW@wk zncA%K;NL0dYW^Cot#^7kg|i++u88fEOwka2z+&Nd4nJ za0`PlBg3pY5)2HCXFOdTLn`LHoo(xVI6%V9Ux}k`?W2^rZ`WVgxL~sd_dmwnmQVUE zc3X7Lez0Qqixn^4JQHv7lHH=P^{nr#dp73RzdLN3eY%pL(e4#69xHa0RPhQ1(C4ymVgB14yv4CX8 zD@<8V{1g7l#0A>2?wZH8IX-(6*S}t#3A~Z!T23X5ZM^fv6<0A-9`5fF@NG~!%-=2G z+F*2;-z}r2p|DNAI8V>>q8IP6pRFhMA7fg9Zn928ltV9T0QZWG3|Wk(Vh*|sP!w@A zD%m^4Fv%u_J$W%z>G1i}Z?X=EE?6AAnmxQhL;ts(=7)9D0wyu>_nBswc4%0t{ukT9 zB$iS(&$H3^_$;#m#vF#?d%am|jA0GZkNyTcsj+{+XR*pv)!|oZ)B#h$xJM#2&QIiS ze0?uuSN$S>)~qjqvvMD3G89HKG^9Qd_`#FFu%0pI|IKX1=mS<8xOA84nJ za0`PlBg3pY548l-*XSVyEHU(V;}n+-NB z-n(wO6W0b~bN`#>*;^jBFN{}H{UQ3mWhSRI-{ULkpIE;c@!$OGV|xT>B!j1`pUXO@ GgeCy2wlW9+ diff --git a/app/open-iconic/png/bookmark-2x.png b/app/open-iconic/png/bookmark-2x.png deleted file mode 100755 index 2b624c5fb47740846b7367363a4c873c64341177..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5*DgnqG5@Jr;ZS0%!_@r>mdKI;Vst0H7f#5C8xG diff --git a/app/open-iconic/png/bookmark-3x.png b/app/open-iconic/png/bookmark-3x.png deleted file mode 100755 index 6d244b21190c98c81b00f01e0a3ed55b3156f0c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARPgoE{-7{oo~-t^D!uJFb8~mQc)Bm!?RNU!babSH7_S`>dUnfaqKs> z5aMHGV&M=_n80{zhrVICRVmjmbqB}y6HOY92~J`vdo0KKJnheq?aUt;q(wshvcCnI O&EVGxJIHv3(tzi64F^VDn*!+&7 ce?80Z&)X|#%%#UwE(_A_>FVdQ&MBb@08Cdq5dZ)H diff --git a/app/open-iconic/png/bookmark-6x.png b/app/open-iconic/png/bookmark-6x.png deleted file mode 100755 index b0b586313870618716d49d78904cf23e04a8f43a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J7PZ!6KjK;U;ck?wE@Hk&QG<~*yd#eYJ&8%(fBx{!B`A*qAWzXJ3 zwd9jEagpI?9x<4*udsAD%b3L%P~0$!`HIYfXIO>G4wUVSzo{*+XY6t2VroDCiaATO zE$tR0&0F{NM?=4CiS2RrJ#QAiwzYeZD1Nu&F>~Ixi@jEM3p$t#3e-bP0l+XkKrBzur diff --git a/app/open-iconic/png/bookmark-8x.png b/app/open-iconic/png/bookmark-8x.png deleted file mode 100755 index ad892d540e5a2092c3138e56d38d2d5297104c85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)-_O6k8V-X?YbihX{;HktcZSVeY-_;_&uInl3wcz=OL{d_oJ({rSeM$@ORwFE8VAU?4Dfy85}Sb4q9e0Ld|V AO#lD@ diff --git a/app/open-iconic/png/bookmark.png b/app/open-iconic/png/bookmark.png deleted file mode 100755 index c1fb0b2d07da1eeaf6c984de787ea1a97193098a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5H4) UJ;{A57N~*2)78&qol`;+0D)y5(EtDd diff --git a/app/open-iconic/png/box-2x.png b/app/open-iconic/png/box-2x.png deleted file mode 100755 index e874d87e4ebb7e7f01c99a6775958e68e56a6dd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5xY$jsKwIAuxmeukq0g71r3B31y6V(@hJb6Mw<&;$VWoG>l` diff --git a/app/open-iconic/png/box-3x.png b/app/open-iconic/png/box-3x.png deleted file mode 100755 index a4ccd3ab3b28134dcd8a923ed07f0626d4248611..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARRuQE{-7{oyjQ)2|vy|I3IBFKKwH2poRk1AN7X%2N!?0PPn&lepf_C zz~OTT4t!v1moZm7+rzWv>`D9fI+>m*gRFxqSPvg<+HYd=-<;uGp!n+_($BJh<}!G? L`njxgN@xNA7@j!2 diff --git a/app/open-iconic/png/box-4x.png b/app/open-iconic/png/box-4x.png deleted file mode 100755 index 918799840a700a7b133a378e2ae91d5242c6b2b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wML)b*|#L~ zR)eR3?ar76!~C>|GWNgRmg@iGV$nJJQ}l*?+BUC5<=>KXKWYmoI5aRYGO=*HI3Rnc a-q!z{>#3Dy8z!QkoY=d#Wzp$P!DmP;}K diff --git a/app/open-iconic/png/box-8x.png b/app/open-iconic/png/box-8x.png deleted file mode 100755 index 1c2bc3b6289acec55adb21c68ca0750e045ef950..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5IX6}@Z(+N@7{&a8VJ%~c!z7i?EwVrMmcOW$xmo^edICha;TnUL!)}?H zf2C>f>gN^SR(>))_1xd&C&j^i7WPtzx diff --git a/app/open-iconic/png/box.png b/app/open-iconic/png/box.png deleted file mode 100755 index f7c095e20c6d600a0e4fb3d49ae8b1252c8c37b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5Fds zn4nJ za0`PlBg3pYARQf^E{-7{oo}ajb2S+7xWtE+JXic8a4+aW_bTs;LFRcPQm#^e9vpac zXttUv<9?$Bj8+FKZPu8sJn(Uq;DPGx;Y>@WzrXui!HuIp{S{xflA=O~Q0g?}2G{k% z**DG^?zr;*0e^*CL+F$9h7*`YAMT#nXl3wOZR&~eud8?hGUj)El&=2pkKwHEJTaFh WJ*l<&uNZ-DV(@hJb6Mw<&;$Ugn^7$Q diff --git a/app/open-iconic/png/briefcase-4x.png b/app/open-iconic/png/briefcase-4x.png deleted file mode 100755 index 8ca103a75d1ce0bdae4a89161e676c0099f10f74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H#PZ!6Kh}O4LeYu(q1l;16IN5fZYkU!L(qDCNl|A=Djiq{7=DRK? z9T$)l|C~@Jxo>)khl3l}lLNvp{)O;Psr45KS|G&IznV*RVs#6DXp6uEncsIx&pcvb zx_fAz>ucr41FKeW%S-uTlz+G_s|M~B0 zwI{6I=jwb&(n9Nr+5yks)_G+g`GCq+aPJZQ93L+#lH5J%%)UQBH#2y;`njxgN@xNA D0+C%6 diff --git a/app/open-iconic/png/briefcase-6x.png b/app/open-iconic/png/briefcase-6x.png deleted file mode 100755 index 93bff8de07232818977db712be94aba6fd76be9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6CQlc~kc`H+HyphV2MDx(j9(nWYTKx{xA%BK?2AYie+9W^FPv;T zuCXm#ea%%MCL-gK%HzpD6Q<>V`d_i@Z5!E=WmV2S= zcSvdf+4B5@y{g;I&YKJm_h;L+9Y}I$T)r()O_n8VPI<(3{_HthBQLln+zwtJ_bWtK z{?~Jl#*8j;i$1;&+_^@%Y7q~U78p1O`@gB1E9&?$U4eCxXJbZ?!Yq*vH84}_Z0W9$ zX`*tAgJljd&v_*0eVBL6uXW{jI3>8$Juex%?>M^rS@nj_-p%I0F^`vh*?8*s{vBQ- szFaPonJzAIFwqq7UHVg4d+K)ml|Pn0Y(3Ta3>ZWVp00i_>zopr0AD$a-v9sr diff --git a/app/open-iconic/png/briefcase-8x.png b/app/open-iconic/png/briefcase-8x.png deleted file mode 100755 index 83f646f67e86ce1fe17459baa43df72b3888f6ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC1)eUBAr*7p&NB2n>>%Je-?!mTLzA$AfF-l}!sgo-Sf5IC*u^wY z@z8YQbeY)W;`A`WNkL)5?th-&>@#oOG{67t)->LaFBz{N;8@Y%nh<(AuJ(aRW4_6* z0}L~S?Y@+oF6T?yzjS8UGVVJQ^FEw6jaj$Tj3*=i$Fg5*eYP>#UYhsKK9=ubwUgv6 zh8-+j9JT+v7-KlD{XNw2t-mh#`@&C#eKD+WTwi>akK^2_Go)p4Dqf!S>-w}9Nv1gr=U?pmxcU{RMb;z>w!FrdQXNaz zi9dMu_`@-YWS?bk7{U+eeO3P0^Gp0n?lNW>rt|}q@8%zu|7*4a#Y~v%;1*9g5TUF1 bqfx2vi=GN#gfMuz`njxgN@xNA1)H>? diff --git a/app/open-iconic/png/briefcase.png b/app/open-iconic/png/briefcase.png deleted file mode 100755 index 85e6d5878bd44f3880b51941a06973f85bd83e39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5**<) diff --git a/app/open-iconic/png/british-pound-2x.png b/app/open-iconic/png/british-pound-2x.png deleted file mode 100755 index db321ef003936dbbf0599e93c60f3b742c51c722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5JSbgSX%Yw4L-cgb425ox15?bLwfT%t_dc8nAZktyj@y% R=o!!h44$rjF6*2UngB5jVZ#6b diff --git a/app/open-iconic/png/british-pound-3x.png b/app/open-iconic/png/british-pound-3x.png deleted file mode 100755 index aa93c6a9df9c1af7b7b786cc2e2798a6f1be7f08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYKpl*no-U3d9-UjK?B!#06lt{&6A80vbXx4-{+9I!_X^vVjwEf{e5IS) z7c9K}!bN$Zh~lH=k>A>GZcHopH##}j*7*KRpJ#f1rt$JLiWac>HL&|MdbRwGnp%59 zIYp*%o#q{;XHq+OR?cAg!t#XaOQTT07yrGY|Bk2}5M^+GSl;q}Cd(U^1*<-AAF`j# za);#rSLEc+?lab3b!EAs#?Y|l*zNA9QrC^l*B0e16WkzDs@>brx-BN-bGx4b(EUEPJN1n<*_2V_$a3@ zlM3t}7%SNvj=%Kv;N1VeA1(dP-F-VFv8p&Ye~Y@lg#V7IOMWr~LyE!E)z4*}Q$iB} Dn{$tI diff --git a/app/open-iconic/png/british-pound-4x.png b/app/open-iconic/png/british-pound-4x.png deleted file mode 100755 index 1b6449d26abf39bb0588096f8c228f06a991a9af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtoGP)?vk z@qtkX-URs-umns26PVE+_A#-pVPIR3J^<4xwFjd1M8m+TAl-7*Hbw2dhJmgiZ8&O2 zMeRox`H+W!9#9n`F5+6^Il}acf$)VrDwUNTqvBEXEb@A216`5NhBj~`@@8lQ*CL+} zZQxSmbD9QxFoV4dzJW0<@_v0F^7ziRw`-1fY6kLhrov|p6pGRf_+S}(5uRb@IW2Ob znq9)C$d51=lpttePQ!TgPrzg-@d|%0qPwBQ0d|D=Bj)}W1Z$X%mo%^%N_+*=>5}5@ zP~rfeLi~aPf46*EaSt;cTCjRW5obXbEX~qeap?wr05U&?l7*nx`Tzg`07*qoM6N<$ Eg8x>**Z=?k diff --git a/app/open-iconic/png/british-pound-6x.png b/app/open-iconic/png/british-pound-6x.png deleted file mode 100755 index b23ec7209c9afc4144193d0dff2b757edccdb5a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 675 zcmV;U0$lxxP)x2LeRoONSDION`HW$6-*sY!e`B1ocU-4r)L z(K)j-=ia@u3w|)o**)ie=Q6|0>}E)oXTVFK59kCMfivI~*a6mn&%h_(JmF`@q6=66 z@{Z#em;!1-$lhk0=xw^n-yGk7*7TLHnJ`HCjspTUF$i3F%1YxaP@SfH9q>IN`Tt`g z%?2hdA}7ErqJ`b?Z*%~oz^Wzhh?Ev}1@Kdl*aO-uxmjRZ$jt*Uie`O-ev3fALw*)m z7V>9{;CqMH!o$CK)EE(JEc?o2eG`BlA^yRm#-b2^PYi%^JuF@!B{dS~Lxu3h|aWB3d*J913yU239mQ z4eSc>=W#@|Xd2iO;@xpXv}hXG5aQAXS90_qpM{zNdO1^re1#lHTSha5&VhB|GoRx` zB4`=_SP|mwS`jU_?LV)mmjiw~e%Evs@+Rp9l6tl?+9^~r+&2)KvTvZ$@|kUsZ2(UV z@m^pvmQf0HVBUqdL&#{R(3lW^A4eoDnu#vmx8HsacpT8nnRl3{&&QBbt_)$8{{uV; z=;cHU(OuZoz?*%P!K@^6+m=GHcL6T?+ zZF~fc28;m_QG4-Ona0M-##-!bd~`O(E)WF4N)b^EHfraqPzZwfM2RuJh?=0XW-TV0 zBCvDr-Z}HQ?tU=USv;!lUt5{3n3)?hs0%#7Z-jNN!E8GfS*zN%xA&bb%Cg2OY z#aG%GiJQ;~yu(lNm3D`OABP+GExyu@hbpKR4iTpKGVqhcW``EC4|=1(VW1c2nrl74 ze&9UtEn}WDK`P70AhO_T;9!Pa?ZBlB`6ftcEVzwb>|bDajX5t0Im^IK1?|psU<$Me z9mc@rx{GjtMXm{eZ9@DO@F8dJQ6auIXWn@<4A>~d zZ#v|DCd5}b$%BRgzlHcxg+9EYVZe7Go_7rp1Puc|3Gp=weRxB|fN>!%trMc6VZa+9 zzFDCUZ)h0sT!?Q`=))Tt28;>u)xa`^e!QSzz|#!Baaj&~MZBMY}S1W#o zgtx{u#(<;PUv#blKNR{&k~ZKo_S=6)G<5+ujlFnjpP=3^$Q_(#CvNE*E|g4nJ za0`PlBg3pY5zopr0Qg)v7ytkO diff --git a/app/open-iconic/png/browser-2x.png b/app/open-iconic/png/browser-2x.png deleted file mode 100755 index 2a6efb0d3ad404d3e6df2c4f7e2c9441945b9377..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY50TY@YDj113tz;u?-H7A2U5ODE0AZ z@(JiUbDVWXB2U-ehVx>J7`TOIPjuP)f90d5KxVdP#t_fW4nJ za0`PlBg3pYART?4E{-7{oo}x=avd@dVYwh4yheNdU+Wqt0A0r5>FVdQ&MBb@0IX$HcK`qY diff --git a/app/open-iconic/png/browser-4x.png b/app/open-iconic/png/browser-4x.png deleted file mode 100755 index 5796d54c22a0c84d2b58e9bf511db04216e9f1b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IIPZ!6Kh}O5)9k~t}2(&(2e^k2Tns?{CgTFJshDF`oeWg`&%e7ld zCbKIAIE+)C&G%vA%qcjU`y?=N>cgg$CaX5hQk(f{%E|dz-_p7*xu(eeTR1E6y3qT> zAEfsDcqqTB(l{=fdz1cWz3BL@>vF>)szUZ1Sa{ezg!S9mib8ItgiA@kpHKOI@%Bvb weawsk3^0^`NalIVPyY?;)RXJa_eb1g-0hSv?GT|640JJrr>mdKI;Vst03jn`@Bjb+ diff --git a/app/open-iconic/png/browser-6x.png b/app/open-iconic/png/browser-6x.png deleted file mode 100755 index 9cdd804facada3f192211b6c67cd73ebd9748b7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6NlzEYkc`H+w+#Ib8;CSKT;I^ZD#T`X?qFuZx+`MmnnJ|R9gwsT z*7e?fFkqQhp|{i*j;j4nj@Esuu1`81l(OTPv>p4EX%)vL_xx*Y+O_Q`hxQz4wbK)O zPbOG)={*Qw(|7pI7Ma+@WttZ8zC-@;qT{#p_Gd?ke%i+8Bc(P+^wDu!v3+N^bUR!% z2#oD`|M_Ho@YbigZyPVptNq<0>-GAMYUA#!Bw_kW!eLD2))F~P6kK6sf<-V^t^iq8L-WOLY%PpgUA;;k9>gTe~DWM4f D@w1yz diff --git a/app/open-iconic/png/browser-8x.png b/app/open-iconic/png/browser-8x.png deleted file mode 100755 index 936ebd90bfa4a5010781c19fac919870eff4a94a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCD?D8sLn`LHoqg8pu!D%3|DvWVZub{>pUl>X4UMXgyT~pO+sz-S zvZGv|^|9N89Wz{9Zav}h-FM**^X6APmfv50@#ErT$!iE-AaUSCBfElbb~;zhSBEvP zH!@waeIPc&z=p5Ulck1ITEBpJn*Za#W8q-N7Ir{g!ABA6cMhG!}q6mxpq;(FF~9nb6ZXx-QKXR`O4VO;b3 zo3_y5UwYgAs`X{<;aYIxtD1zV?*^8FxX(AQZ1{J^V7czAJM|g24oNP2`1dJGh2fg} zS6pr%yS2pE-PJ9l;;Laq@7f>t70+<)Ke4nJ za0`PlBg3pY5{-nDQ^G( diff --git a/app/open-iconic/png/brush-2x.png b/app/open-iconic/png/brush-2x.png deleted file mode 100755 index 0d8c4aaae9ffc7d01baec0fc2a706d7076688bfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5$^@?vF)iI zx#Al(hMbVg+2XO`@}V#m&kK7*@|h;j*kk@|O7V01?{{`ij`XvBk&rC;Lqz^W;dl8B zePIm6dy=(9?T&b}^cT!wTK7Pznd4mHWTy3x64}mtY}tBpX;kMyt2pO7o%;#}g{Eqm z*&WY+ac>Qi{{?;r@#=?rdVgzGNXIXGUdyx9HzkxU{h!^9{v=^;(et~km;aOOnZ(og z?8@%cf;DVy%O3NK+HVN@{o?Ea=9pz=`wwkSV$R=j)KSZZO*qx&S=^4#NS5O9!DKPcbylBFQe6m2Uslv9>pFy5&WnKd=_^RI6zYY{olfS4E~L! zJn$6GV&LA|&4aJtF#*3tDJxz}fCIdu8hvOeMS%*Q6ZW_9kiv`2g!ul~^PthMETPed zw}dx1Rc3ICH?(nq`M&*0VY@oQ8=NXtJo(**7tHmY+re5|9FAk~-fCn4qe+_ck0J`R z6AFB##iA23jgf@&&AbKvnux2k1){kzxIG;#G|mU-FEmxa!QlLTYA&{_0y@F@ThfBeUcm9-{MU8x zssd)Dn=XU!~(V zYnB6WS9;rJe@eA_V_tfxp2iXBX4}LYJjFx2&yB->++G~AOe{~A*xIi@l}dJ-FB z$&Jc5Zn|)no5`OnN3A)F>lb`%pj^JhIqALnW`pG)39WVMj1cXkB=P@o}of{2f zzhh~6$^#4+Dn!<5a#!ml*4D>-#kMk~8#$=`dVa3OS{*oqS>-AZFatm2dnlEDa@Lt) z%ytaRx&E%4^ZqF}DAv*C~{_67$lPb4vU}F=hcH&I+$^&%Z zb`z;M1&07*qoM6N<$f-quY=l}o! diff --git a/app/open-iconic/png/brush-8x.png b/app/open-iconic/png/brush-8x.png deleted file mode 100755 index 09e7326299d52fd45e8c6dafd4c0ffa5d8e0d994..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 975 zcmV;=12FuFP)o~g{1O3&(z3)}yW>+>YNJZGK@8*7c??Bd6jOOB-J}-s(wXHr8WCJ@bF!l73{ya{?a6 zVfD;cxW5;r8CZoc)Hhz?!(NnT;7%OW%=|u_(}&ndmP-k&iSg06xd*+WY{akHnSZXl z+&Gru3H+m-`R{RZan(Uwh_AIXUg2*8-t=t7toG(BJXl$ zyZHlBK{Oan#M7A9-Fzh#M1x^1c8D=v;nlM8yRk(oPNK~JBvplD&$-wt&UhsiL>o$) zXv;0qzC6-=B~^uE%}ID(yzvTON~Q5w^QJuJ4@#x+SaYpB<|}L}=%Y1X$z#5CZ*Q{g zg)R9(61)~uL38fLtx~}=7|z2B+LyMY@h`3^tUZ+V*rj~{o-8jpo@uv1N8#1xhIXaIZY~U+gx|7KRfRRX$)fmH{mtxbfl`A$1ivZS2vjN zN-4W9W_~Zuj1nHfb@)!b$M!Q^Tyx$R7rB03>J*I)k68LnEj8xU>(Z=rd8reG*B4y#vN8JP-KcxdZWe2fvCc+(u37%b&J=#u&HQL=E37?)O=8TC##LqI zA5GKl$z8$g-yJ+(Rwkt^9{B|PSkysBR*N-XN#$^_*}cgtup-0ylTtO<8%+X`>qo<( zO!L;FNdT5-SpTpA1>pP)>+jAmXCs;fAjhG?T^Z(VM3VqqkzxJq8RpEwwA6Nv{tOPL zqkD&V^ZSfJg;)0#xHrSvZ%Z4Yv1g6ujgLAzz`=BN-w^-!59XZy<>K%D94;tnqAknt zjrhC&a7hzgcuKtaj}7F|Vvf(=49+TPqAfRw-}LN}`UzvtZTL&9`JD!k^d|7A_>BJ^ zPA}-A6|3=ySmOt9UqKI@xCg(9F+PW94J6quWJ=2XTeVAoJMa+BE-kz(i+z))r80Gc xbee0GWb72Fef5X*n|cP{N`HO#ln|SP{{Z?orIo&C{9^zB002ovPDHLkV1m}a(og^Z diff --git a/app/open-iconic/png/brush.png b/app/open-iconic/png/brush.png deleted file mode 100755 index 36a8111a071ba047261e5d003e42b4709780fdd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5Q;SrgoYO!_B)lavm_GzTV^Dm4K bSpI>LCsWWTZjN6s&>jX)S3j3^P65(!DN3Q4|H>@0y8BK~zc) zAW>_)0gdPsM50tmv>MN(&AL@-L|B2@u z;60hr4EcVP>!qObrfU@{QX611QRGtoojC=icQ9Ehn8B^lhTkIMVKV(SOuxc3#>+y> y@7G+y2hJkkvC)1OLtMn*oXue>iYG8z)%*=4`D;OuYGK;|0000LK@CM=T8f1%VK-6a?!O7J@`HML-NF+FFRM*xMw92^K;it*DpeJd2&hxw+Y$ zJCiRA%f5Z@`+aZTn_1d1fo1IA7`wQSP9bh&Y@nZ6FHeK~P6K(pmQE`0sUYzAB;*|& z6$Fk{Jt`8#&lvqeY%gP*$q78eA+~TW*#F>TLEuA_#7(@#PrOJSyZ)8kQ%%Sf+||BC z_izJmLPE9uFco;Dn(;XJI5?Ji(975!=E}W{=Sel=tS;7ZF-IO_9(!Ywf5(L;!gPAh zVWE^og7d23n89?;;q?evKESN%9xC}hO$A2ThS}iTG2Ga64NOr-HI}7ARR`7Mm_rvo zu+~QOyCJKo$R{1?eh|(gZSsDbdJ7Ip4p&vpj!)z`74-2Qw{qm`EkWZ5)LXTM$ygwE z=*jn?P2iW|tNnH?upNx=u!xn6K%7x3u!>9A3<>VwOe`>sx#)c&lvxveHHa_Kw^s&# yI%kt=8!?3^_-43q*F%<%lgj=JO$5bXWsSdILh_$cUUlvO0000v+%$0aFPAW>=ehAc4GLgDC`+?6Y6Il$NlN5U++`k?}zc zw-Rs~bC|?stS$IFNf0nz_&tK_m_`+6W0R`>-@++e%qiZBA3AUSckIa#UlVd7@AFM$ zr$4s{IEf3mB0P#t0+w+TS25EjW)qHLq6EQ8Z32g50tiWR4)1zE{8o7OrK)2MPT|ce z5Wm6+p~8}JV-*C9bwdp6g=}4^fJN-Uy3AVc#3iA>mkm6QZPti?TglB=$^J+|weUT5^tQrck*^}0dbNZgzY}~3y<`FJh3i|#1utm7jm4(& zvx9%zGOR?#s*$m7Q4?~kw15$5?YE48O=TR1g>w9=b0()gf*NiK=SvhPr8T2e0S%iG z621wk=Rmgt8g?K*xuQ7_X7MPdG!gglAu`^S6XTh(IiU%S2&MB}dNE@GhxQ&ggP2O|-1<=o&QBWrpS^xk507*qoM6N<$f>Ng&wg3PC diff --git a/app/open-iconic/png/bug-6x.png b/app/open-iconic/png/bug-6x.png deleted file mode 100755 index 878e2709cf5f0d522975224091c73d411957ff4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 955 zcmV;s14R6ZP)E zOiWsBk|uF6@0ECSXYP+T_q~E&IGcB8&iQ`doilUJT=L)!yoMif4y!nU8SKs!qZ4e# z0bIaZ!e(&Qh&V z5ig~ON=P-e$8wQrvmPJJ5ch!$K3e0n!Qa5_&{_9zc};?KEX%nt$}Md*hm-XJu23y# z38yl|{SD_U#%#q@m7{TCOZymqV-Bz4hQypN>v2rtNaEQv-o~Fou6&MdDQ6$pxIWL} zAg(VNzq@376I;byC4O(hTf&v973LfqK)}ldUpw(;gm~YUu_-2C zwnor}Uf^xGQCLQ81$>9wu>*%H{=mM?V=N}%r3S(0g#^rT4%8vuw*xWqghYNuNZ>(< z<+eFItLAn;*%NZ+5+HsC`?M_jw%}>}J_6z=@uW?kiZI_$IZfF_k?D9eVJVlE)SBs z(f67D!RJbRKa$D!hbaNMmcY&u-xKoW(2{V8wgEXCnw65@&a1Bb>tI==0UF1#3;_rw zcvpB&qJ!Ik&#-8)*L-!v|JjCq=GNJ-LKS>j3(@9BB;d*>BvU!i<&ubDMc8_4BPHPU zU|cRD+KA+cnG*1GQ)e0QOAaU7g&wtOQs>HnPqC{F@hPFbY#K1PfHff(4&&B3#JA!F z;U4Bv*hbgeBHk71wJ44aNW4n{eLEp>OP7Ou*89+^t?k+4c>r;=bPeed4)zZ%n|R9^t;T!?>+5W`7Lg;~ z&JVaY7rDBa#8(9(UrSezV|c$X=cpPVFS^2J;ly4NN{%`=2V=qq?!WMvq)(dOPV dw%-50_!rM|o_R3ZD|Y|@002ovPDHLkV1mp_zEl7J diff --git a/app/open-iconic/png/bug-8x.png b/app/open-iconic/png/bug-8x.png deleted file mode 100755 index f9e99e0d259eae3b77f828228065f9d6b1e559a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1275 zcmVJNRCt{2+g*rNRTKyCpQ9BuY1jvr zW@?dCWZzLy(uYM+5lE3z5B4NM4?$1_J!DYO7a~DK^^lcVDN#vLAV@{MBt94vfggQf znpu{nqct<$9`;5&!`v&uBIU)`?TyY-FOQk%S6u>XxUQoLO5$DBim&0zjw&dDDXPEwb-OS%`JM`V z%oirW6quLD??F_NfLki?F%sq^^j#T#ljiZSVOMJMV@h6s9QId1Bm*a5cPi&)Ux8yP zVUdkg^9#x+V4v^>NQHh0?>@s5(5qO+2eG+2I>WFL0|myPfoTf7+Vup?!MDOXeUGqy zKR?pP>H-9d;D8k3um;}U@u>*Ju=eF=MQFvdg62DRFCGo}h00$!d91!uP z+Fg*`0G8sM1|N6gj|vm84+|Uo&%*l!gx9T4#FuV)n%b^Egw3U9WhSlNc~x~?AeXPWcVpgP1E!7z2l40=5hLlXcrHbgHJuiqFH2k_1yHU}70@F_U2G&Cjyv zD|2y70{$u!ATjo8qwH-&Oaiu*2@rwi^+*x?S~hr00ydTnk`NopI><}FCAhq7kQ@w_ zxb`C4tNcNaVVH^cw7((I={jH?ZYwLAuvC3rwa4B%SqOcBYugb%151QGxvI!?BLQ{$ z1UJNrzdMoeZYH2^&%`94{wt0nF#$C>O_3g)kVEir$NgFVEYc6CDfh{$3N_)WjYZ}Y z7@L5Ph4VNs76_aQ%Y;dLvAA{0`n&;IX9HFXE%7>f@ngpL)N{a}4&C;ijF*kPt-n*m zZt*Okq-?zK8(cra_}Pl}4f1{#S7f<;&j>!I;cbT&ZkuprPV9piC-l)Dz%}wq%SR&# z|0n5z|IatfHyh$+Ip lec8%#t^&u~j^ZfF;eT}q(zNCQcKZMT002ovPDHLkV1mfxP$>Wa diff --git a/app/open-iconic/png/bug.png b/app/open-iconic/png/bug.png deleted file mode 100755 index 10f8a6c16aa66526b3b7c8244257b89f17fd518c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5KmD95*P{HWCHV?JlJ2s|?y`8HbXSLi zYnRH8U;}|kbGV;;SS_oz<=+)yd7DRZ2ZWfvNi<6o9P=Rdt-C8V@~(qNlm8r v7`uKRQezFDlh&l1x8l=9(OpV;b2ax(vXOh!9Xa7H&}IftS3j3^P64nJ za0`PlBg3pY5;U=;jc=^GfPqoY4Z^XIy-ScMqAoVeh$cc#%(&*}KHjpzn7lyvT0yPg|HU v>2qLD@wLYmA~N+y&o1heH4Ekacb;2AQ)h|sm84RjQyDy6{an^LB{Ts5&~jTl diff --git a/app/open-iconic/png/bullhorn-3x.png b/app/open-iconic/png/bullhorn-3x.png deleted file mode 100755 index 33e5c52fe1c78dd871d2b8073b959411fac4fc0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARX5{T^vI^I^RyQfn%FON^igVG) z$yvLnX<8GpFVZT5_gUw=1nSe)Pp;N*?@SjT()$)07) zs!r{gu+{(lLCFACza$%G)2-84ir5%>rtX}-VZGx_2HDhmOixAP=ZFR{nXOv*d+kAn zH@Rn+uWs1FVzF`^!$G^lg8iRm+Bp8dUTSSAlDRGX#?MNi4;egN{an^LB{Ts5Qr~Uc diff --git a/app/open-iconic/png/bullhorn-4x.png b/app/open-iconic/png/bullhorn-4x.png deleted file mode 100755 index 85ba444aa40b6b3af4a4829f90e0dea1cf0e17b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6RZkbkkcif|)AoBEc91!4@2Sk!Ib`qDOnnqR z#t?M2>9SY}(_o2j?cd%+WCbCv1$Ywf37>oM-OI57RvJl*F< zKds)f^Gyja+tvp4=EqB)300&RdwV{TK5>}!g8~zmpat{0#Ce3#P`c(P?36F|Eg~}{;oZsCOWtio=92|bk4%3i*z*@n+ fu8VK|jrwWA0n4+)-d*AWh9ZNftDnm{r-UW|5)zcP diff --git a/app/open-iconic/png/bullhorn-6x.png b/app/open-iconic/png/bullhorn-6x.png deleted file mode 100755 index 58238a5871a5194e690feffb7fab387da76bf794..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmV+n0`vWeP) z7FPZsh=|zw2KM?Iik*#5Ac)$DD5!`aA{JsPzQGoPmMV%U7Fmm|D7$l$Y%-afz#P~n znfc~B%M_EOLb0d-?}qCSz?kDMsc9O1uhQVEqf)t{AutbIE3BKDIpB)FZ6VRs7IMKX zaA_zdQ5b<4;6f-=Xn|?qTqsg#fhpijC{SpDN#Hc5Y#{~4f#Vd#RRyYqTjdA{GL*L_ zPy^n8dU_{as+71q__L5cUO*c!pp6&Mrt|_e!dDi9hI^)KrQ(ikhczdMxu`9)6LBvf zJW8KLj8SI@_`>{;to|D}LAvJx39HWo2SVVcVQjY|P6QT(z-ORen3Gh*i9iqVD1@%W z%#9OqA^@-nn}n|mlhQ6CVO;>=RtVltk@YJgk&D2x5c~}cXAN&7 z7lAtPA%w4I4R0eC0f0Rr{0Zo_u|Nyc8Vwu43qp7kShBG|i;Bgpj^GAnft$P*wapr4 zfdJ@J?3I`i%9aqfF( zX6Kxp$$em}`FP*+?8off-4UA22=Fzq{S9!{sEZrhfyZZcaHrO44Il~dE)ZZESoSXA z!DZk%|K7)nN}mD4#3f*f-9soEFJKaQO8yXv#tN7Ko)8|Ol>*KKkI;j+PQW?fA@PH^ zM!;EM5!j;m@QoI526#aE!5b@J9Jo*Q!5b&w6tDnnic+l-u%GNx{Vsza+(baPx6`qR zpjOgh4-XH+eK%-A65w6HncUw{Jx$oVTm zVJ=`=gl+?~bp+>NE&$-Y2wtr#_&-zY zBzvW_nz!T&Sa$4X#ueZ4nJ za0`PlBg3pY5AoCXUIHkhULzm!rm|9YD9-URN}oQ|hw QfQB=8y85}Sb4q9e0CUPT)Bpeg diff --git a/app/open-iconic/png/calculator-2x.png b/app/open-iconic/png/calculator-2x.png deleted file mode 100755 index 0331de770d43cf4292814708f11fd34bc760d20a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5I fPqX6G(|wH^Ot=*!x@@?CRxx4nJ za0`PlBg3pYARYOhE{-7{oo^=}zopr08U*<`Tzg` diff --git a/app/open-iconic/png/calculator-4x.png b/app/open-iconic/png/calculator-4x.png deleted file mode 100755 index 0c8a57355f7bfab18b467d8080865702a4dfefa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w|r;B4qMC;q>8@U<`cwFWOUHJdsue5Z{W<`?;*mtEly=#zJz`%ZPy{X4+-I&GhT8zzYQ$GP+!rZJu9~? zBch5i?m*F}&r1@R)?NMJGR4}@J#Qns;D$_ngY{?h+H*gi-1M~QH;Yn&Fym~F8!iXb zn9Qk;aTj~NJ4nJ za0`PlBg3pY5>n7R7pM?v| zojBxW_IZBt`Xu?Ka@oNz))rdtRjw~(o<7%wubVN0QHuEjlgU%&Gur2T?&@ya_|iD8 zj)}*C`+`J+*aAZaU58|bsD@(V2UAAnjl>l5QMm3|fTs3pSR buQlo$_q*@BwAtPo=xqj1S3j3^P64nJ za0`PlBg3pY5SN<22WQ%mvv4FO#ls2CvE@$ diff --git a/app/open-iconic/png/calendar-2x.png b/app/open-iconic/png/calendar-2x.png deleted file mode 100755 index e27009bdb9bc199b4471eff890f8fe06190f3966..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARV!uE{-7{oyjQ)2|vy|)E?kSHn@18K*S*H;DKlZE)FI)wpZy}=JW9I z$QYcv;P0xFQRAlat)A=1!-OBKg6l+FS6RsL>{n2--ui&)uztr0KiwS+u}v@Zr=I=O bdxnuA`VYT~3ZL+H$}f+;P1e+Sa!zU*1J{gwM;@5 th3wNnLhA1h2z}xF^InLiYdw diff --git a/app/open-iconic/png/calendar-6x.png b/app/open-iconic/png/calendar-6x.png deleted file mode 100755 index 5dddf33cee19ff599d0b31a1be7ad142b7e939bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383HvPZ!6KjK;S&4)Qh|2(VtvpTcyhexhK=1d|O46MWoepRrDox7n1! zqkPiZw&&HuPj5rdq%oXjn8j$qoWbUCsb2c!N7rqtm0`?p?=!Pq;8|eHckI-EgPZnS z-_489+7A|zo$D0--lP1y{?_}9Kus4;?7krKw)_Cdj8A$duD@js8omiLYVYk3j;m&t ZFM7vs@;m(RRiN7#JYD@<);T3K0RSZxQLO*~ diff --git a/app/open-iconic/png/calendar-8x.png b/app/open-iconic/png/calendar-8x.png deleted file mode 100755 index 4f18300d62d514f62d2c8567e4a3f3798de2facc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5L-}pe|n^7-p!l3Jr4ApS9`uMz0^|rUabNs6D{LN{AEH$tCz{T%OnBubcn3r9uV}csL xz!0dXxcz&>$}RI5;8ss~;_dB|a`V;)cEd;f<}1!D?*V#@!PC{xWt~$(69BoaX}|yg diff --git a/app/open-iconic/png/calendar.png b/app/open-iconic/png/calendar.png deleted file mode 100755 index 53bac5b7b8ef229f403d7c2749eafc483607f178..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY58J)Ee*XYgp_BYkFOW^Un0PB|vbJ_qY% kOqlhAB`%02ylC0T7`uRzr*`I%aG-VuPgg&ebxsLQ08DTrNdN!< diff --git a/app/open-iconic/png/camera-slr-2x.png b/app/open-iconic/png/camera-slr-2x.png deleted file mode 100755 index c79553f192e18cfac318f26cb6dafaf19c38d159..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 325 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5Ysu`PCqgVgbA+1~A6k_$>otFcw8s35jh;7~zQ-T^R=4no T$#g}aml-@={an^LB{Ts5#{hrH diff --git a/app/open-iconic/png/camera-slr-3x.png b/app/open-iconic/png/camera-slr-3x.png deleted file mode 100755 index a278eb1e34feb5c656fb8a4ac5811af2397c471a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmV;Z0ayNsP)JOOv9fIIr_(U-gH1iAm1Y<)n6$J%hQ3Ibi2Gc98%*@V?&V>t2SM|NqRW(h2 zSi&1Ve(@0#eQIUm3`q_T|0=#*AfDhIlU2nBaNffp!AVtvl@j6!J~7)%tcBr-qqrz( zkl++UXkf4_I);7R_aRh<*D#LDe-`fY77l6>|2F7E8>?tyE$6^9HZT`@)xtcs@RDZ` zZ!|+shBK0{FeM)|q2`4KYe9TH77|cZidl~Va zD85j|pcM%`WW+mBd?Yp)R5QvNOh@bEjQCMbF3Oc?E6Q(5Yu*Xm^s~vkD)it*I_JI6 zR&h)d=}%Pj6t{8n>r7t;-J5JnM{y)@F_h&sBmZ_FEb78t?PJ=IzB6?hJ$(U$a2?md SG7+-?0000C^n>e{T*y^MXDLQoV1#7h;avjc%gp=Ew`&RS7 z4|2nE&htGl_jjqMEBJwfLuwbNYi8u?1(F$c|ER)m6bMg*ome^wfR_aU58XZvN8=+{62nwrWV3 zdOHrkj1T`Qbh1Wp5+COfo?z6*U7RsT?L<_Mg#O*b(Ck&b!Wx!^3)W44uVZV**pZAs zCqEv&oWVb_idN3zS{MlJxG+F(VuHn-@T)n&v96_K3IPmLh($a(1Yos9_*jFY07cF` z-u8>w#6G^K;Qh$c!gdn?YZ>8RGkjk%AZ|ASupCXgnd2Qs-jyZ*y3wTjIo`d1NiO^Ka>Q2Tyl>rWf_F7ce@vBLIMCk1U`5&Wpy7H{>+5qF)7CPLD@SZOS-EqV8 wnNI<<)O?R?YNv@tR7-OQ=-?ZU%_;xWU)J5}h|nLRI{*Lx07*qoM6N<$f^4+>e*gdg diff --git a/app/open-iconic/png/camera-slr-6x.png b/app/open-iconic/png/camera-slr-6x.png deleted file mode 100755 index 6b0f54db074287130d83802957507a465bb43020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 844 zcmV-S1GD^zP)e{Rf`tgtgs6zEwNXJ7%ajU1v9hu;AYu~@-f21!bBQ*l5kc?#yB2Q` z*2})#*}d7_6Y{}>Wp?Jx_sz_EGqdZEEe-*XfenWB-vNh#W@d~M;wj)Iw9ADs4Z#S> z$$P*mP%VJ(8qAYUfCpSDfbTyzPI~el@EO>iJ8K^$;7trc6T6x>@is;c3C7u1U{}uE z=>y(&Njzw`^Q8}GED>*83mDFed<9sxEWiV1@)B@91M(j56WFJ9>KG8)Li|x+2k@Ni zg6ExQMF~yI>{deKJ)-FQ>z8Zp9TK(0I5_0j{S$^J)l-X zf^-J6fbKbzfYZS4qKTwM2{@^|Yawwl0Jy-UUzP?-z%+747(zC^ivK(UTmu>@ee<30 z^)((+cT%aVSpylMk^zr0au8fe;J-%1%dlIKo51-ju+@NgC#t{$8v+JGoNqI9d@}{{ zAROc*+LeHb5XVynPG`F$9~2Qc6OjU%$eMSNk)J|>IBw0SSvDG~M8`y=fHbCMG=P5K z60m>_L<@KcTtqUGhOxW^yhqPA!@y!h+t)}+4MQ23*~|rKm+<}=@@=aF8x@_ZC|EsK@WKbToRN{lKbKxX0sk}ALXHjkXKw2=om715t{0V~-3yW#>L z^Az9#_p$SVzyTh{^p%MK54hE(2nV=h&`)LpJmfNxW;waUk9;ly+A%SPo}GdyBLN$= z=GO?Yc@~PoG7=ke$Zospmk%PF)Dh(CbJCv~^}GaRh4sT+;aC??H2Q!~nBSOs4UNC< WGm(I2EF*;g0000mimqH(Yu&hUp;G!MxY0)IU*HeKT}9C1D~MZd8Y{IVZ5Kj8 z5Ns@oQgdC*3znGoX70Q9&3(jt;gH9hd(S!F@0~YuX69x{vzW#?jP`i{w|Ew7wPlnU zU!$mKFJ{lWCOn}!`2s&LXv^hTg}K>=?rL>J^~C>p4kO z!E@>-U*IP0$;hK8?7&a@BS3+-@=@sxFX5EjnS^#!Bvb|?_zd^1KB%h;cZQ!;kr7kLCI@J=3D>3Bmv@KAPchu?7^?{3Q*u|4st0tEkF4J zf8l{xaziDEj9_p3Zz>MrOC_hK8gWioEv|HEztc^CVLXlJ@i-2(zuQXqq*KF;{#I;* zVy%tq=n=e&lL_i=3EVBf2tLQLhH_~HcmJl(_@9yIUjb%uqRB*>!mzL)8o1Ii7lwtW z|6tRJG=*WjkZ|24VIOb2ZO8Cq&ABY&W4waLgcaRr+xEA=J0Z;7f7BWHrtWj)JSH}| zZx0qC_omoY99M2TYg`axv106&go|dnB=Ss!;464jxzc(gcHwQT_EUgvPiDNwz>Aow zKzt(}#kC&tXi2!Jn*b9%1f9qI)j9tMlfqb4y8uVK1f4Aza1r;_!L|b?mFo#D2^TF0 z1KvjL#pM#gR@B?=JK?bOF`*^#!UbW#8yC9$ta9WFVZh6UQ;9jXlps*Wu1X*6r|;6-^cl%DZhKD1*V?Tpdj!n*sk@l0y?M|;_NFZ1x zc9vb@Lm{~mL&)%N*IBZmNcBkk8K_>Oh)=!sMg z0bW3<^vj`9yspo~-zbxj2MOu~E=zk%!EUY5C zVN~eOsXo6F7ChZBf!h&3tsDXr(hgn5gs0lAD*RhGyNr=1?VY4-0xTvbO(<{A2&dDl zZM%&3@KB4nJ za0`PlBg3pY5-o9(_PkzjRM^`_#HZqbfXmLEzAd#9@g)_BE@g^VYi3NGaQpNLHL3nv mYow1U2-lt9{ig7K%iM|XikS%)0vmxAGI+ZBxvX4nJ za0`PlBg3pY5kzl&+)2Apg%hQl$d0G;W;tI+6 oiZ0p5(l}1en#ijd{n>+&p-RgBq|+3pV4x`sp00i_>zopr0O9f@nE(I) diff --git a/app/open-iconic/png/caret-bottom-3x.png b/app/open-iconic/png/caret-bottom-3x.png deleted file mode 100755 index 06796faf50172d33cc7b6881702ad9f0e3778698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYART_5E{-7{oo~-t@-ZmzFgx1Y+PCv53M#Z;K04{P?1JmbJ`6pJyj3?n z5gr+fVk_auzJ#0W_Jx M)78&qol`;+0JY^alK=n! diff --git a/app/open-iconic/png/caret-bottom-4x.png b/app/open-iconic/png/caret-bottom-4x.png deleted file mode 100755 index 008f68979e849c7ceaf262cef9721539ca06286b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}x2r;B4qMC;pgo?HwH0?Y?(YU|dS3*IReo4``^j>)3$F$3d-CcTLr zLj4XVh5knj-Ze%X(-pj3$bFmdKI;Vst0MSf3`~Uy| diff --git a/app/open-iconic/png/caret-bottom-6x.png b/app/open-iconic/png/caret-bottom-6x.png deleted file mode 100755 index 7103dbcad82b52a1e3bd504a6da488e0be2e4e6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w?r;B4qM&sM_j(iOU0#1Q_=gyY4N+++nw$1s8>Kl6p7Z;Z!`vniA zSy|1ucqHpT=h0lhm}Ay+GLD7Y6kAfH*FEh#|0sOU51YDYorxcf z{doH2E0d!3Y%s3K+_OP2%qouKafM>f<5q({@k16U96Kc?rA51B_Z!=OXMOh=4nJ za0`PlBg3pY5TdY8QPgg&ebxsLQ08)r(hyVZp diff --git a/app/open-iconic/png/caret-bottom.png b/app/open-iconic/png/caret-bottom.png deleted file mode 100755 index d6243c93a4ef11827f126c0581180b57ba1b1a57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5}P3nWElJ+4@PdNsL9CiM$ UcQ_o9fXW#>UHx3vIVCg!064nJ za0`PlBg3pY53@jPQSzV=SkRtNx=!F>Kj9}pLFbLVN+I4N;%W(VIjwN^u9$4nJ za0`PlBg3pYARU>WE{-7{om($Bavd<>a0z^Qa&P5strh{{#r0|0f7oXk7OxOK7GD~} z)Ke%kl%=(b;|=c;d;Oobe^yTc$bQvQ|7%#<7jV pal6xpvmGhQO1Jwxo?m>(+{DsqzUYe)YdxVFRi)9<`L zYx|}%{MsR7aBOKqWDHxxQPqanIeZ@;g*d4AF}pk#aZux9Pk9`0z*C0JqSu+hyioju zLQ7Yq_MfI`mJ)T2ADcK%8FAcN#PLdr4nJ za0`PlBg3pY5)2HCR-P`7Ar*7p-p2V zIlQ<0&3k6ff!}Y;4YP~7`&lMb*T^)~^z}1MSpU(G;Zto5OT!hD2n}4#88y`Cy1e__Ky*R zk$N2`!%Xpdi3e|AaQ}I4midcQ!jhA{;luiavs#!Pe)vBGQ}-d1>P9dx^&^;C3*o(m z@C0Xq1r2wCslc0Hs_-Y6QZ_aPnR)zKmJlDq!~S#ERAd;~Z0!CsCM~)1{;T$NC1B7p Nc)I$ztaD0e0sv3zqu2ld diff --git a/app/open-iconic/png/caret-left.png b/app/open-iconic/png/caret-left.png deleted file mode 100755 index afc86649fff09d971d0e248b2229e031b60a97e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5pB*A@_+zC X;SrvyrsO6Upe6=SS3j3^P64nJ za0`PlBg3pY54nJ za0`PlBg3pYARU>WE{-7{oo6pNavd<>a0xtlvbuOT*A#)?BlZ_=a{X^i`#A4O+nK8! zs|C#sAE~*8F}Rm8bh$9Jr7$$jX)p_7jPelmm{_=4`1jH7b&o|Ch}tv0tzc95$Z_D2 oHAC-u2D$%ClYX$I6fSR%h1o#0%$3Nr>mdKI;Vst0PSW!4gdfE diff --git a/app/open-iconic/png/caret-right-4x.png b/app/open-iconic/png/caret-right-4x.png deleted file mode 100755 index 99e1243f644c2ae5b9a24591659bd95f33c680db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w)r;B4qMC;Xyj$8)}I9vi>o~$n3tuKJqk3^)r0=!Kcu{B{i3P&Ki>kni^0>?&t;ucLK6Vqc}|W1 diff --git a/app/open-iconic/png/caret-right-6x.png b/app/open-iconic/png/caret-right-6x.png deleted file mode 100755 index 821f076c2b3a49572e29404e5ad05b30a3cafcd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I!PZ!6KjK-@MJoyeA2pn-x(m#LxX|=%ZTUX!wW?0kst=2kkQP>1! zt|Ax5K8+KC`x#^($vd>}V9pTmXJCEAE6~4!(M36nabt&=gUTXNf%X@SE{au*h8=WH&Nx5Z%aiq4h_P$C~b+bwUZzf4B}@t59>5?_O?f zqBif;jvEzuO(q`|`q?XOPCRy$4nJ za0`PlBg3pY5~}Qw zHp(O_xJ#T6WGiY(XOKOl%^-Tnnt}I_Is@w=^M-F6`x&;l{SaNCdq}Wh8izaMEyX#E z8Lb6k3wRIlIB>T_Hhkg`WLPS=h~boy3)2*r4mOSU4NMC}4rw(QacDDoDXd}h=-4nJ za0`PlBg3pY5zopr02uZiJ^%m! diff --git a/app/open-iconic/png/caret-top-2x.png b/app/open-iconic/png/caret-top-2x.png deleted file mode 100755 index 94f9d9b703e137d004c2ddeb3fa86ba8ae62833e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARYdmE{-7{oyiFjtcx4&Enw`*O#4xiMHUoLOE^0XN79of^#?x z+a~97YPLvec=nM38C i>z)Hw?GF~-`M+9p-hV-p16d$PGI+ZBxvXYS zUH5WgIBvRZmXE`oPfwLPmeg)ghjkH zSXt@Gc2}2E?e1?T@OR(P{9ozP_9tC%=BLwwT%RrrdVN~2Eb_EndCJq>f}&4m3r>9^ lFDUwSwm;A^!()Fsg*$fHe&_M*vjaMj!PC{xWt~$(6982;S4IE; diff --git a/app/open-iconic/png/caret-top-8x.png b/app/open-iconic/png/caret-top-8x.png deleted file mode 100755 index b7eb21284f8f89dfe785191ec1925f726d0f5f2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5%AW@l_TEw&o^uOdiTdmrHK3eKv7Y1JDVoy_Njdj&NTm;Dtna~t#)X152X}1Xn0bu9e?s9OAmezs`wD}9g)Lr>^W9fi{3~iX^?0^mm_)r) m;?j@p9NK;Me>uU9T(FN<{>>l1mo*RLL3~eFKbLh*2~7a@&V6D4 diff --git a/app/open-iconic/png/caret-top.png b/app/open-iconic/png/caret-top.png deleted file mode 100755 index a5f5189640e7f3346e682482eb7587ebe625bbad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY59RActHojOp*QoCPK$D$vwT{f zu%q<~R{{5t{pU=*zZk!>)nlAI_v4Y|&hxSpKUy#T<0ruopkwPJ#ZZ|BbOeK^tDnm{ Hr-UW|9ve)u diff --git a/app/open-iconic/png/cart-3x.png b/app/open-iconic/png/cart-3x.png deleted file mode 100755 index 975bbff280c99de35e301dd28f7c2dc49eb9e0e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARXI1T^vI^I^Ry&%X`Q`q{Ti$g@bcS+s_ClPEN4}iyS4DT(wpRh~!M* zRp6?3^$@jxZpkk-W%9aDKi~byk^INn96u}lfOi7tnYE0QD$g=WL^1_E`1g>x!pg~P z8Uv@hdw|AvXa585xK+RJJ8H3EZFgXF^X7wp7#>Iq-Z(ZT!^L>v+_vD{$=>XrgZJ*t zby;AuD)l_eiHqCMHx{-B+5U+L`n!sIv73uyY2)>P-e)tJ)-+0QFv_Yj`N+1%rA@Pl S@2d{b3k;sFelF{r5}E+Mu3|C( diff --git a/app/open-iconic/png/cart-4x.png b/app/open-iconic/png/cart-4x.png deleted file mode 100755 index 76e1c2cf64e7b8b0642ccabc5df25b47d9050336..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I7PZ!6Kh}O4P485Ek1&)23pY%}ih}w-Mo4yMO?P;Fwng5to$LCz4 zrkGZTzy+tXoG!jWPdXWe@2|_B#<9ypFMV>q5t05ecu!)Ku(He)gMjb~ z!*?6D`Y{K~xJz3c)V{a+$AKkXscdo^Wpf{?uM3mt?D&_~)VO&^+`f+!lx_tt`^{Mv zGw;x|Y-(^&`y3R>94DnRYvIjl|jA?@f zV2>Ow2!SGl4>(P{>agJzU@yw*2|ol|!dCJ%69! zA2RCH=3++R^R{(jT_sEc{ZC(1otO!HoYA+PQKvRt?)^z3uKF8_6zYFy3oQl;0R^E@6oh6`P&ZNBSfr&fK}3^ukqo3`CLc5J zdv8YG2hJ+YnRD*PM$6Vxu_#H6Z7%%J@tv`)7d-<$EMXa|N`4Yhcb(PO`ni|4c_|NwN2ToH!~pj(+qDs`XBA61Tx8mp5C%|BQ$AQnhg(ssf>>sK@k z!!QiP7)%i;0gbM6Hx@NxPMZsArn&DKQSeukE>r&;GdWV(E;ne{k8umIE=P$ ze-{I=JK(dO6!<5mK<9xJUY>t}=PB?Pp+M(>RHyUA{)}umZGXcs48t%UApZcvTp?r< SofVY;00004nJ za0`PlBg3pY5&rVnTu&a1>H-2>oYSqTN&oLFdi@1P{_>Slh1!h=F|L5K+_mJUHx3vIVCg!0N&;= AL;wH) diff --git a/app/open-iconic/png/chat-2x.png b/app/open-iconic/png/chat-2x.png deleted file mode 100755 index bf2ddeabd3fe058b05bb0c001b6784af7165c54d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5pf4u22KVkukiGhK^pY&x18kl)f*sMw!8ThLNLd1>Vz62W0 N;OXk;vd$@?2>`B)FKhq+ diff --git a/app/open-iconic/png/chat-3x.png b/app/open-iconic/png/chat-3x.png deleted file mode 100755 index 72aa59393bea57f57e4e54a9cb353b0c8aa99515..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARS4bE{-7{oyjQ)2|vy|*d?eeY3O7++{t9Jy@9n~#__!{b6dH9BJ-x; zTNn5j1#)|AS}>7u($0h#Sr6=)nVp#hvrZgk;az@$DXBS$CEX;dk&SJM$Fh~GXH2#{ hU|^p5`LY2kgWh=!kG%m=mw>i0c)I$ztaD0e0sz^AI8Xop diff --git a/app/open-iconic/png/chat-4x.png b/app/open-iconic/png/chat-4x.png deleted file mode 100755 index d312e7d86846fe83226305e0e48f99bbb05fa1a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w|r;B4qMC;qBj(iOYJS^g06YY5GkDdR}pmw0s^r+P4$zQH5nS4oy z(Vp8W0AJ8QX Mp00i_>zopr00k&c`2YX_ diff --git a/app/open-iconic/png/chat-6x.png b/app/open-iconic/png/chat-6x.png deleted file mode 100755 index 18a8ee49e3e573ba6a9893b923ff74e0fa8cb01b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H>PZ!6KjK;Uq1G$iz;eaK;p|M^E6zpBHbHp4AR!>}g=OB2 z{J6DJeN`)*UVUD@s72oCfmg-O16Mx;F}hXEWGG%8lC-{m=iB-NZ5%5$iWe+eu+dHa zluP`kM0=lg@A>DlG_4nJ za0`PlBg3pY5)2HCOr9=|Ar*7p&T!;vHV|;#pUZ!3@yoM&X2yCfZ*^)1k~^K+!`Yd`UiTH(?0zUa{iE*$J_opwOT;HMMo#U%F!^+; z^y+U%&;EXq$i^7t>LkV(=dMC9sRZCW{HNPfr-Dh}AB6;0M#;r@7 V_;vKE*8+ox!PC{xWt~$(69Ck^gVF#1 diff --git a/app/open-iconic/png/chat.png b/app/open-iconic/png/chat.png deleted file mode 100755 index 7c41db4d35011a8a1eddbd41bdbb243a7acc85ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5Wde>N_M g?-;if$0`PftUwk4r$xm(fLa+mUHx3vIVCg!0I$p;H2?qr diff --git a/app/open-iconic/png/check-2x.png b/app/open-iconic/png/check-2x.png deleted file mode 100755 index 92a6add07e41d17e4bf91103be1960655b44650a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5NJSLV(G}sD>aOG&S z%G;aUoSgc8=Xs<5^L!2NKj;$M{$dlGxXz4=?jJ25*2r00d&FA)rYNJE@pqKXvTn{; z7Vp{D8zq+q>DX3R3F{qNsv7@s{UoJ7D^*%P%j~h+#I@dgRbj@w1qmJ}!;ePf0A0f1 M>FVdQ&MBb@0IDlW;{X5v diff --git a/app/open-iconic/png/check-3x.png b/app/open-iconic/png/check-3x.png deleted file mode 100755 index 95f2e132a9ce0a3c8fd3b0978a1faacc001e1ac1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARUW6T^vI^I^SO2&2`8@fb~M~&yKoD9ZNI+1WGTS$|bg~u1_KAs8ZyH zfGbA?S=jTo7whrp{QvprNyGy2M*jk*PTpVhkGNZ0t2o8itYMSdpC}UdsHafHZtr%B z!!mO<{sh@;$xW$Y@sC_6-MTzy;?{#J^ZsRQJhG72uk`gJPtW8%z9&ytOrEs;W4V{q z=4xu?f5<#TVTO}pYwSEP)%7A5F5PmE zRQ`8FPwZr?>Y-yQ#yii}73@wu7tT{Y&93&Iy6s%p(H-ul@38wnFykDExOJv1zi zNq_j3w=A0Z`TJdOqU0uDvRHll-kXAqKpUe2(PDCvVp%s478eQ+B z7IFQ%FBJN*tg{j*|8R3_`M&2{jgB#Wm#kRw!ahd+2W#vz#m!}ICf|YnWbkzLb6Mw< G&;$TN-+cZ6 diff --git a/app/open-iconic/png/check-6x.png b/app/open-iconic/png/check-6x.png deleted file mode 100755 index 82a18b38901b82aa2f3a3953bfa73d80ce9844a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)v{t1!RXbV3i*)YR0}v@-;*fdgxZ zPX@pP@U{3nG}Sm}AGo8ztB=5uC2HI30TX`X)o0+uj`n|cfg9H2)j2S-0{)e4@ah|I zZo^z37rgobj4iOM@xiN~z(soUG9h?%0_>!QLma%>sT2!;oEi>s@J~46Pk}3-S1SHx z@#Sg22y?vZGa?(j&xq{sKS%US#jE#h{-2&bUY*hYF)0SGz5-{KcxcY~kcYklmsWUa zPL*lk!$a$h&tXI`-f~1Vyv2y<_>?0$!>1V0Iljvg$?#o_NRC%xj4;D1AtTK3iqD8_ z@QTZb?C?sD_7!+Bc%{$sCB$mY?rmH%q`?-6S4K2f-oj`75@J)vz%7O16_Z=ynwkjt Y1_Eu1LXn6r-v9sr07*qoM6N<$f&^i_;Q#;t diff --git a/app/open-iconic/png/check-8x.png b/app/open-iconic/png/check-8x.png deleted file mode 100755 index 5ee78c0fe7eb4736745f32cfd9b2a712c63c348b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 557 zcmV+|0@D47P)pA8;mPj;2SBUp zK|c_@{M+YY$Cxi6qxe1tFR%14S3-31CQFD`-b4w}%PS{9d(87|Bd?tD|3%~qHIr8^ zfvG>vudTe&2WFZouZ&thHAY^!1D0Zt2RO7e+yK}PT^@?>c+b+1wqpEN7gGt=uCy_f zVEsPdqWH7(E$T&Hvh*@DQJ>SO00000NkvXXu0mjfioERh diff --git a/app/open-iconic/png/check.png b/app/open-iconic/png/check.png deleted file mode 100755 index 4d3e955ee1beefad9c5b3d6c220ae17af569e6ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5Z{%z+5OKZ8Y?h?IZoz`zw>zveCJM?Zo9*XNG28d; z&hhiQ7KWv~bC|<4nJ za0`PlBg3pY5tfzhmIIg8 zsU)7`)ApPpeRAnbl|{y{O#gdsU92KfqwJaJR@9=+$?HBT`-a!859(VP{f{}HjgVQd Q2{fF+)78&qol`;+03Hc4vj6}9 diff --git a/app/open-iconic/png/chevron-bottom-3x.png b/app/open-iconic/png/chevron-bottom-3x.png deleted file mode 100755 index a1a3bcee7e2da858a41d99d114c88d9005be3275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARXnNE{-7{op1X#@-is$Fxztd_MaG7C%li5Q&FMN!%AnN$v4>p+%uUR zZt>n1V~}sSrKcRYJ$d20F0PuLv7&2)E{B=1`W7{PSHJd1XQBC-1D_SW9yJ*Yng0n( zYN}QhnKO0AgRqmLF_T*kluruyq2t-uKgr~Ww_hF0o^}8C|Fy0LI)TB{)z4*}Q$iB} DApu2O diff --git a/app/open-iconic/png/chevron-bottom-4x.png b/app/open-iconic/png/chevron-bottom-4x.png deleted file mode 100755 index d46a231bac6281b3ecbce73f899c9e38edaaae78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383HvPZ!6Kh}O3g4EYWy@G!5f+w-$>w}HV0Ge4OLS~{tlYuFE*J7;k% z@8mqj9k(=9R_xukX2ODRZclqywtf%m^9ZP(XQb@-R`$qhh6jHpY`C^C`9rk*UzaLn z;{_EC6&`H;ULFsp3guO_vhap`wLIkNG_g@uY<5?9QsB0T=iNk&_Whnd&HXCN4p(=k fewaJA{t4Umctt)Vj;`}Sw=sCS`njxgN@xNA#e7tO diff --git a/app/open-iconic/png/chevron-bottom-6x.png b/app/open-iconic/png/chevron-bottom-6x.png deleted file mode 100755 index 2585f91e5ab3f43d8b43f666a7a4fecd6fdf9f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J4PZ!6KjK;SU9r>CKcv!+~_Wb_*O~_j&pt0iZkxA~4I?CA^mSxVm z`>?|6ozQ`Dn|H}KcRyF2DLCowYGp|vS?{i-tg_p`&&9=~?7mE(n@3rCpN5jk?s>}d zI8MGZG^{zw{$9!A-bBYA`;T3=7u+^gP;j51<%ExohuSVZQD(dR^s1oulk%<^)9x!C z(%o<5q_$tlNpHTSpxS&vK|OiNiE8;5H1~wud(eC1+9$TahqozL!mWh0pQ7Fq*kp)ALFO&}$5yu6{1-oD!M4nJ za0`PlBg3pY5)2HCVxBIJAr*7pPIAmU?7+j^S!eU7vf8jwrpcspy0+ybhU%&59L$O> z0!|$34?Zq!HTWfX;QhxOc}vE`FT3sU6|x+9@%=@`azT#8_cuS5b$h@(KecYX%zBxF zufCuA*d@58ZobTY%ciUE&wP|sj`$lUQ{I>GHM;VSVbj&~g*8t(!uHQ+Z92c>;T;Z} zyc>!&+V#KGbIMFVdQ&MBb@0Bc~F?*IS* diff --git a/app/open-iconic/png/chevron-bottom.png b/app/open-iconic/png/chevron-bottom.png deleted file mode 100755 index e225c6e0eb84c63a4600918b37a65ee0e7eec9b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5mm-ex0U3YN6A~&IL<1T&{dayEz#_L` r4nJ za0`PlBg3pY5m4yvm@(L*ok!=g49X2W6;88d!;H0@xu;1n)(4eL> eEjb)vXBl3F>iy?k7Uu@Ejlt8^&t;ucLK6Tg$Tq_O diff --git a/app/open-iconic/png/chevron-left-3x.png b/app/open-iconic/png/chevron-left-3x.png deleted file mode 100755 index f16a3ab0752c30ebdd7fc6622174a0512bb691f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARVQiE{-7{oo}x=ay1z6xLgd>zqa^k#@@)gE*e6Y1=M%5ZPGYVe>X(I zeo?d$Q^Jc&6D|GR*I4j=d~|->sU2^A^j$x4{*CXV;=Si&4>0~eX!3ViI)habW5^Tk z1&VSGj$sU}oqY>Fl*>9k$-m>AQOLdUczTNDenzS1HI5MmPpW|qVDNPHb6Mw<&;$Tn C9!WF+ diff --git a/app/open-iconic/png/chevron-left-4x.png b/app/open-iconic/png/chevron-left-4x.png deleted file mode 100755 index 881e0815b27ca2ec37f93cab5e1f1995df285898..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H{PZ!6Kh}O5)9Jv}41X>@4$DWyOdiTuitH)fqF9)X26X4s?`R2b8 z2jlIDTbA`O?6|y0`Cg%wlK65(ufp;cwK&%|%pW%wzyHATB|q;UXIRbA@IUn*@7XWB zDKj%$@Bo{F#(cp`e=l-5xYjUcbO<#xtzf((DAl0t#9iRLg&{^@Ekp5<6Ei=&x|40y r)Ooy!_mFLz(}hQtEVlpLOpeN{aO|1?L`jSX=uQStS3j3^P6us;cPe{Sk0`E(W1)0d))&WC^!PC{xWt~$(695rLf|&pS diff --git a/app/open-iconic/png/chevron-left-8x.png b/app/open-iconic/png/chevron-left-8x.png deleted file mode 100755 index 88145af89221c04295169a34e90bb00cc86a2d75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCo}Mm_Ar*7p-tx^mWFX@DFnE_?*|E3hZbVvl9%b0-J1714`{!Qs z7OFgV_EAcBn`y17{-D}=*B4K{85KvDI}5!3m??1N{l|xbNB)0I6g=|pM*+v9iW&)) zi}LT~9Ov|xcPqSkbXSq%_m8}m+np2UaaQ>3du}BBc;C;b^-PN%Y43Z~+n?6@#V4fZ zX!xFw7uQUf*V(oHN0+(XEYVBGfgeTVKOS@6>{O+uWtaBnO?lJlx5dZP=N(`#kpIH- z{q3*wj@SPeS2HLW9ExM$=qg}gU{aD{ZAjp-Wf0(4D9+HNFo&^$fg_#qfMpXagN54$ zCWhr4(-4nJ za0`PlBg3pY5~5aused hR)d0u#>PfQhOS!zdspZ@d{#aBXa-% diff --git a/app/open-iconic/png/chevron-right-2x.png b/app/open-iconic/png/chevron-right-2x.png deleted file mode 100755 index c89ea5f552175c20f5628ac82269d2ea0b9fdd2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5lC=0!-DJly=++oR)?8}k9Z ziyEE{3n#X%d1mmW>|H$nC!I=my#+I8Eqi{Kd5VJAgtj>hnjP1VY-*`p^6>7DnK!c^ kiP!%9(mmy()1haa#}oAaZ;rkb3bc*E)78&qol`;+0KZs9KL7v# diff --git a/app/open-iconic/png/chevron-right-3x.png b/app/open-iconic/png/chevron-right-3x.png deleted file mode 100755 index b8d936262ef2ab81ac627feff96b0fc848a06324..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARURGE{-7{oo}yfGWkL#HonSbnTNn(P7PUde99^VL_U-iNq zFWgSeGGcn5*WI_`afyqzpYxYT4>^4A@NSg8Z@;!<@kbrz8w@H>&4X^v-^&nkM7p8v z1*1lXzJrAmGly#iV`7J(14oj`gT4*(T7umc?AN}dzg9HCJ1X>@)@0BqBTxp!QOj=4@%i!&mb1Jo*+LJ!j zuTyaPyCqgr{lU&ysi+{skA42_0`os+3Op*Wsc5n2)1x)0N}@c?;jx z{F{5OV*`_d#3D9^ zMuDvi98DRF4h$~Z3~b6a36!B}Zn9y~v1(srK^dX@ze|4|eDI&sDqlp&#d{p}Mg*zXgc6syz&SiWQAHRR) VyXfWZDZp@G@O1TaS?83{1OWG@fT#cf diff --git a/app/open-iconic/png/chevron-right-8x.png b/app/open-iconic/png/chevron-right-8x.png deleted file mode 100755 index c4934b42392f651f0f4db447727a6f53b280e36c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 419 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCuAVNAAr*7p-thK2>>%QDkvm7ndhw0OGPcQEBo?sj{`>2*o$6Pe zqMH76-ffp3FPYQu{`kd9=8*;;rRVcG{^|8^R+x9Z-Cf}S@pe~%=hzDhJwBXMutAYH4Fzdn^YMrTsE*Vq;n`U z91uLD!BEg-AjBY}(8JbnRxpj>z%h=^3<<$4SIe7LsvWzlmtT1JPu8MG+WQ{$_NTRe z@d>Fp8ouY_#WfS=b#|@)(PeHoOZ1X);78H;kH_3MJ5{M^*`@t?WqnZJ?EkM^r5n@V w&-9SFuO@VSd*_jlxk`mKv$1gJ9R1J0@b}x@t+PGf14Eg?)78&qol`;+0JNW~wEzGB diff --git a/app/open-iconic/png/chevron-right.png b/app/open-iconic/png/chevron-right.png deleted file mode 100755 index 7b4feccb605d1b05637b70e0ff60387e77b5b284..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5=4jlL}zp?Qlqn;~QfafJq!-tzD ir)YN+Jz>n5#Bge^K;5#Ve}aK}89ZJ6T-G@yGywqk;v~}m diff --git a/app/open-iconic/png/chevron-top-2x.png b/app/open-iconic/png/chevron-top-2x.png deleted file mode 100755 index 80040fdaf971cf36efe6fc6e4194c4e8a1fd992e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYART$0E{-7{op1XL`3@-XFbBq8Ti!Z-J2$ga;3J96iJG%(r(erEva#^^ zgZmacQ`%0e%EhR4KDaH!;^(dPVN*-v;YqR;T8@qCzrls8G94oo5T4w u276<>Iri+?x`x5y(p&EXqPJ%||72uQSnzv_nA1g|%?zHdelF{r5}E+%Tt)-{ diff --git a/app/open-iconic/png/chevron-top-4x.png b/app/open-iconic/png/chevron-top-4x.png deleted file mode 100755 index e86bf3f6f584d34b11f190d406cc0e66a945193a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}xRr;B4qMC;qhj$8)}I9QzH^WyHsIh}NLxog_`$f@t#8P()3RX0-h zo`3Sa>bP>*&yO6wbvlP8O?R(&k}4=@X{)5X+*P5-qDj%;-QelN4z8WnN?OyO@cN$H z@svS;&3Rs0ESt~m5|%RxpKX`aF4j43)pbH~UfGn1&U^lHOmwzUJh{4J@4fzS3?g~T V0(JYRTLYcM;OXk;vd$@?2>>GQPbmNZ diff --git a/app/open-iconic/png/chevron-top-6x.png b/app/open-iconic/png/chevron-top-6x.png deleted file mode 100755 index 00de84b5c8474574f448faf3164aa0d51fecf0d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H=PZ!6KjK;SU9Qh6z@UVpMsrg;BBcy?4OXusYvQH)!eLcsLF>Be+ z^d0+E6&rs4n~{~&P;pXU+_C1AzOdt;Y5MYxb52k1RXFzaw5!19PpL{AyKAag{Ev9K ze^^wI)#7BQ79j-a>Y|CF8iI1Nz#h%`%{b|zOnaOfMa$@p4Ah|gCushF=cXifg wwMQCWzx!?YdE%ScDw)WP?U}QdWj?B4$nKfF)!o?rHqd_zp00i_>zopr02L8{RR910 diff --git a/app/open-iconic/png/chevron-top-8x.png b/app/open-iconic/png/chevron-top-8x.png deleted file mode 100755 index 6d2c3238a9fbea02494e812710d8cceafb2e2d90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 397 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC`kpS1Ar*7pPW0qEY{0|Zxo=KoWwqu7rr1YEwy0Rk90;H2%zR8D zxyR7*!%sa<#yj)-SNaMm#C@7B-S}h5{xcj$@_#;cSNQgHx@=>{^!PlMM?3x)DGNM* zx?H~T#q{}QEKch7cR5<(>ShUc6n+A#Ja!tWvSYHoIg_A%d>V_Azg;cMJCW!rmNKz< zRV;jBnzl@nS%cjZ7l-(c~coR*89cur|(&z~6Tx9<+eOxH{99{Lk*E^Mla zn(p=K;asg#?WMa*r(`EO|7V!J#M3!o>3si}%XxlU=qW6juk_@3A*15oDyOo3ZjP7b zYD<3ZXqZsv?!+fAE^ukR>XR>pjDIe<-+LeL@x74I#bJNG;-<$;9SwEw6+eM#naUW3 iz}@o=!C|nBgFox)`m^objE8{X$>8bg=d#Wzp$P!AhML>} diff --git a/app/open-iconic/png/chevron-top.png b/app/open-iconic/png/chevron-top.png deleted file mode 100755 index baa61efa571e6690558c47ed65ee9dfc3bbbe6db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5!%F-wauLokNM;!j%+u+bJ=Hi^`&K>?RZ{D*`M5B zKFf5eEuSIZx~O~S zr+iG}rD>M$J#Cg`URvf^Y~#&j9+G!PC{xWt~$(699@&e>(sG diff --git a/app/open-iconic/png/circle-check-3x.png b/app/open-iconic/png/circle-check-3x.png deleted file mode 100755 index c3dcb0fa22bff01adfe7f38db5baca4eadd24058..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 455 zcmV;&0XY7NP)2ph4L zF5xNkB_t3Z!ayYO8ax9jl^4L6xDguEwXTgs7r0YMC~0$9+)lk2@88m2au#=H?)Nu2 zXXa#D%GJdto?`>clkwm9h7aiBdj;n|t>FY?Bo#46ADz1JSGcJGj^i5JRq(wTz;W!9 z?fjwe5L+>PZN{{OIL9FK{TJ=5!P^JI7qEzn%y=)ryXu{myf~Y{gW4GSce*-oFemt9 ze2UiW!TS=(Z3+BQ1w6q!_*DXV66H0)#~k?Q0>&lWW zVb}nk;3%8djzeC!l)yCw!FYPRwm$uj@| diff --git a/app/open-iconic/png/circle-check-4x.png b/app/open-iconic/png/circle-check-4x.png deleted file mode 100755 index 67982b0abd8bc1940bbbc41360830f13ee71e9b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 568 zcmV-80>}M{P)5QZtURiCmD{)@8%UddmY1{q~J_FJd5tx$p)7++hm%;p`SC!Ar|4@e}HFkhx{U$ zB_20~XNJA2nY=7f5&U^Y-nVd6b6JaK^JqqRB5X{?B{yWPRJ5dR;0Z=&lq*jD8xPXo zKk+b46dSx>k#|a8DqL>o80qC)>*Ga5uG~jZrwH>*w1rQKux=X`ndsx?4Dd-C-fi%Q z*hCw6g4=|{=J5=ZJwfm^%zb#hQB`r z_&(0&86cce4(A9zz~v%%rnNblIKZ_k_{o(RbO_(CGxJyr!s)e5cZ`IBD}3g4v@C4b z!v^4?(C7cOTCB1cOsqxRH2rygDINQYkN$q1zZQ1aO8o(~G_3mIZ0HjJ0000o diff --git a/app/open-iconic/png/circle-check-6x.png b/app/open-iconic/png/circle-check-6x.png deleted file mode 100755 index 22d8b386cc71a9b72086359ff10634079a6f9db6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 824 zcmV-81IPS{P)JZ@5SjBu*_^U$%&qiqzbA~(fo$kcBqVQ9Ov*vq61CzbrHyUiV=>*y6a{ZMa zDfZqF;g@j)M|+sKlLvo5+?P}l_*BQ_FXN_Ad;OzFBLZK<#Di?(-RiAv%D_)|n$5P3 z=a~4WT>y@?8(zkyE*-^C180QNI#26ze&39XYk%mcB#trjFr#}qf1Wm+_z&R|w6GU0 z{fF>rTo^0RVV;(SlvY#?oYsBK&tL&t3-&n;k5!w=!}7C4Ui)sE5hkPz#{#^s2%oB# ziLa616TE}ZCE+_QxjYjw;S+p2|nqWut8NuyOw)Cr$pVNBSoEURsT@iHb(2zh%;h4J$AmQdAIoq?iv z;-q?KK8^FRug^|;nTQ47!k%=H7m-ZFf=^^>s+%=*m^Bd-KEd_12FBI%L7$q44d28r z89l72^G0O&1oyM>gu{i{1J@BNLgMMDyCVSDD{kk(6SnP^MgTG|7O}pY0m8}1C~od9 z3#XrjG;6fB*MH$`QTSBzBLJSpm9p?_O$_r+{OSij)j8d_yJN2T(#s}KlfvP`px_sk zcwmcagK)SI^JTXp=L&sK(~aF___{-SyAQf zzn9fsfB)TP5<9THeZ3)UwY(EP1D^_ixB1lXz`p^};>k{d0ueX>00001ljwEP)DzatV#zyuA6vG zFuk{!!6E#jJMeK`$3YAev;Hp@@M(+0W9vM2B_$q-=kR-CplP&<0|~j!;EfDGtF$P= zEisFw4B+bO9k=EfQQ$ww0II3Z#xP;V<{J5Nozn7l*bMi4m0q6~{`m}&kEQ)h;TPoj zs+(4;*jX2TMqZPgjr1;-YyS3QHJ=BEG61U!e~0j-f3M~-FIK^C)9>8ADSR1qO}M6F zC3!RhxTf$;O?Y(@{Jd_Lv@zjFO*mU|jumWK@8BaD0B)o+74T)u;r)tpy*z%1kcpgws927uGgj+Y~;kUR6~l^a)?!H~44DgR2%MRVMTeU*PYy z2GlJ(kDHJK{C@_txdo;%p(*@_iQo%i`QQ2>*u;d{jNl7=N1WGS6BBZQFYp=hCPJ}H z=nB5Tn?ob3qL%R_-qy~9Ibl-tM3juG<03pQuB+4j6S^GvQu|;>f)h72;m#i53*1vC zaHU5R`hveOn#74j7pXF#FZcq-Mibec@IsSJ=o7xcBcsU-q^%2%o6tA>rF90x;lvj$ zP3RlGz)R~HuvO^5OnKqu4B&6zuJsHcw4e5wTo-y}5bY^!3+{j zr5CE;32h{wWRPrZozviZgIz+stnZ{_X$23|g)iek28qYgvrXa4$aUAaiEf+nHjSZp z1(QB>QiSh}>h#^@sAcu*kF`uVl>t27NAv~L4nJ za0`PlBg3pY5Fehd9`#FLzv38`+-&~K zQ{iC`>obdlX%k~VZtpz(<`UQK+w-4D@P#f@k-6x8+op~|;(?mIfq3U!peq4nJ za0`PlBg3pY5wO@U(6oF%zZwor~SYIxgAV- zUEO|Xmuy=xdC!u$d(8iT$c$dV6!kzeqd`c6>CblEMs9<%2RuILsO+m3%)awS!KzsO zgRAU?)%7c@uPuqW!1_l!A>gfuW&y{U#jItMHcl_+R_U6|Q0@NB`)uo!)!(C1%PSgU zgIC0>_jIZ!_%J{HpL^El+g61zSKcyN!;cCbtd>o-{)?H`Fu91k{N~+Im>VKzX<~4{ z{!;OY4bOkR){Jj#wLjydWoYcAJk$QjEv^SWwvz$_P9HF{`^hS+HDTZKbDy68JgTe~DWM4fI4yVU diff --git a/app/open-iconic/png/circle-x-3x.png b/app/open-iconic/png/circle-x-3x.png deleted file mode 100755 index d92a360da6078a0e39aaae9de3b6b10047e16ce9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmV;t0Ym|+PetXN zyscmh>sZ5&a{L+paE)`^HgG0v85bB~+~6Y&&}|Ff#ajz-=&$HC!4JOx4t+mY`FG)! z?}YH>$g&J^Qa)3lRL*~N>H>cvFK(8x&4frjXFHN}UcpyPo|cnfhM`CuURgh2jFczq zxS_gGBo^x>W_bu#kw8wQEqshicuWLSB5mPg+`~sEAt%xVALD&KQ{Bw$AydIjmS~zy z?wRa2Ig!6`GzGjmrfo%j!B5Q}S_p`Vgdf^atz8Tv!R?0X>LRh6v$}d$(a%G`X#!r) z=|^&2uo%oxF9Vv^lPB+B2JpQUys{ldKc5!-lB+zlj-sEp`RNZ88@dz&%{2&h71x#x mtYV=Yf5MI8+VUHBDZnRixK=EsRiNhp0000Jx0H!XM(x0^x;U2(>eJ<;#GVMKosOrp2Z`wjH%KaS-`vn0qQ@h*4zx zWfi`yx!Q+V$vs6xIsUjIW~Q?}_YrifsxpZxtjf2(xK#Ox1&oLj1f)RZ9r00001$A@r6ug9lfTCW7ppkeG5%L>ELw=0lDHkD;7!q#=^)860I~zesc06=9Ovar| z_1At_P?z1Us^{(L>8a`75yDsvxB*-R8o*`X0&rG;p8(&1&%g&@3)ld@1gh_3>lS&Q7Qs&=dq|n0##}|@^E8o7-8QQC`p4ECin@v@ z$|Du=A|E(Td2drx)K)}Uo*99N19Sse(Lwis(kM!w`+>A2 zE*m{4z7mpH$>m?U0sZkH=~=Bh{*odmg5${WJGuq6GKD?xMYI2Bf`fL zv6T&6i3}e@#Bw&MO8EUai?GS_qzE3=w%wjZ@euutO`aX#)JXzBos10P=I&3_>8HpR z7_9B}Ltst{Z)|A*z>VLxh0luU=ao40fj2f!m~#M^Id45}imZ-0T<8`24i-18)J9Q< z3zCPOt0$;+zI3Vdu^MWBKIDmg8`T~ZK4D{66?lZ&CGI#tcTg?yGF=)osf{?}AGZmP x|J|kzoCnV7?_0nR)Jyn2>NRu&y{q73e*usVRhc<3_zeI6002ovPDHLkV1j!YW3d1L diff --git a/app/open-iconic/png/circle-x-8x.png b/app/open-iconic/png/circle-x-8x.png deleted file mode 100755 index 94e01f1ef6c254489cb2f1b35f107f7edfb8c722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1069 zcmV+|1k(G7P)KP1n;3(GRGd|9nct;4m zH_YKM{?MKAabCwE%x3obKP=(P7KNwgdF;;WxPq7PcVPsis^_5yG5%>&%byl$N){y>QP@yVzD9gWxl|ELVG!tU`z;onJ@4bp?#E6v}p)^nJ@4m zVGS;|aLN#JnJ@4){E|sLMF=^~7e))Oxf>s`A>=k+;4k<$^Pj|o(1rN||8%~lHbiXY zTVS27{Sf?#t^FGOimg2mIytK{D@ueFVT^sd#%~u!oQ7L?PFSN%iHq>Oe$IS(R?n&z zLiLzb_3np>>kyu*3e9NV7tGno z$sNL_^5AkVP~iQVf7lcY_!#>d9J6n9Ox+NgVneUng&mkpl3cO*RnYc6opvR}=-gJ&j$km_|cDTG-4Hz%1VERbGL5JKt!%XkQ}`oEd5Fj~c-$Rf)Sa*f-|5ZdU! zGR-{U!T3ewAFO6FUkxEv|C|Qj8|)VPWx0%W%{4q$*L;bC11LNdUuQOrJ^A#ervwKZQ2;nV<3H97Oi%$JxIHXiqFZW@ot{0-3o-F_if zmp8R|+Bd~6Vef64nJ za0`PlBg3pY54nJ za0`PlBg3pY5SM3!_?)NHX&YJq3vblfr{57!Mz7IG^(3H%Br9!?i}iFg?Z^ QphXM}p00i_>zopr02_!eN&o-= diff --git a/app/open-iconic/png/clipboard-3x.png b/app/open-iconic/png/clipboard-3x.png deleted file mode 100755 index 7804db9420804f0a74da9783159b5f269c20271f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARWb?E{-7{oo^@J=4vqDaX#NRU;jsE+&?FgXWd;q)=~KiCi&i%Q%*ay zvq>~Ytu#+&6EcVtZw{KS_l7~BG11iHrq3hub(cRZEZBYL2hXIs=Zgs`N(B(yCgz z`^V(}-Rdh=y*ns*dCL8jRqQMiW;Nc)PY?Ra$Kk-hB+$UXqQJoThv`6VM1GIC*y_(R VYRUT)a)3@^@O1TaS?83{1OR_wOE>@k diff --git a/app/open-iconic/png/clipboard-6x.png b/app/open-iconic/png/clipboard-6x.png deleted file mode 100755 index 6bea04e339b57b433f60fbc6fa33dc0b3de8eb24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IrPZ!6KjK;T95Arn`2(YqWInp2g*iqOn*z)=VR{aA)UQzQ@tvSWN zmEKG_f}XCnD=^3kj`%6TRA7`9%zyYy__2og+?Oob9dGSt-al#{U~-gOCcNil zmBG=VKYTkHq{IV^zl(d7K1y5qL$-j?RBypC)+=D)$4pr<4!ztf3XuhandQGKi3zN6 k;=S{nsosGhFYF`tG#TT?<^OLU26~Xe)78&qol`;+0NdzpfB*mh diff --git a/app/open-iconic/png/clipboard-8x.png b/app/open-iconic/png/clipboard-8x.png deleted file mode 100755 index cb8ad5462b5a17514a235681faa2746cf80edadd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCnw~C>Ar*7p&UVZ@WFW%Y-f>%jkJ*;x`|48*oyu9Sl?d+2oO)!^ zO7@B7lcpd0>^@OctkEo|QMq96dj5pVFLLJU7O>^*zb4MzS@7ij2m9BtU$Tx({m3AG zk-H(Z**MStfq_@L+&>)c?O79Qj9h0*K3WgUJj4nJ za0`PlBg3pY5q-03?4nJ za0`PlBg3pY5)2HCGM+AuAr`&8mwmmM9R*k)oY(2O`NBED{r4 zzd%}5`eFs^MM0lquHlC)G8gl6&06(+)#}x&W**nmGdz-hLqPn-$q(rf2N{H??7zWM zYf}8^w!+@W64j15N%HDHIL`TIq)E6uV2$Qpm6I%Tr|#?7$vbvx#W^)@_nD+*A{%u0 zl*aBpp?Jx9^Ca7#cJG&G|N9mQY;?ag!)xZbw)&o{v-XQ_Tr^QIw6LFT-Nt#!CLd&; zm#NjYSg%Rk`DlL8d=Kd`ui|rw%(G4JXJ(x9d~G>#no78MQlZ*!3{L4a6+cb)pHQ|t|6{t;@w3H`s%F||dUkDKUzvEj^piQ0 WKnzP=PYozc89ZJ6T-G@yGywqP$&@1i diff --git a/app/open-iconic/png/clock-3x.png b/app/open-iconic/png/clock-3x.png deleted file mode 100755 index 168520f1f8336ff57518e99c39183b1d499896e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 559 zcmV+~0?_@5P)R7i=f)xByJK@Uf>uu zl*?7Rlhq{iD)PJdov+(9LE@7mN z;bp!*fQ3vLq5@C;fxL=iE)yoSz}x>2;7zoj$_&OIzO*EnXwbzRV_BjcX>j}z?XTcL z%Vc~txcR2c;Gyy`Uahd1jPzTu773PGB=jh^eI|5DipvpS5ALLbA;@qI2W#|k!nfd* zFcgJwx?%-!De-DdJgk^eSMq(&Enw^+LgE;MxKqOSOq-f$lsGqfNF3vO3Ge0DX{Tbf z&vYQ|!^fO0b`fzm;$9W{$Zy z0gOg*?aZ5PRi-33wMiK>_z)BSR4JSLq6tyZ3L3Gbyc$GY%(jh*ibby5{WiZgHGsSeFr#cpOTsxX9JLsI6@(1pm_MKAMtHmQW3;uDO3cN8lqCy*4B!sP_)`K zu~uy2doJ#aK40g|o0&H+e&ImK-1|M>Gjr#hbML$%^pP<(5hffDUbsgT}|N|aYVYSRfK2RA`VMWa$s14m)g$i65eeKIE3N4 z#ZTgk0SfQ7&#}2K@q2N36~(XECG6=}{F7KJ=)XD)4W|F)a7+(X0~0UcK-9aok!#csHhSqKB_**j=k!RiFXl|XAhigC#+3XZUWg`c6c?#0ir@Jm{Fq_i zl?Y-+yqqp$L)N4t!GxCbYd(u(xg^K4IeK309y})QZH||8Tvq^aGT>U&)c_t01}>?V zD(ebhi?~kg?;IGl#78SQ6>wDv0Nx4sW>*GG1Or;CRagO6)c|$|d`+x_M}h%oD>@YL zRSf{n2b>Qzq@E-TAN1j{ZbVvkG^9Oj7Cs%2m@0_0OgF^U^{WAise(w$R70u(S@>Z< zVyfW#;QwQ!RyFGdS=)!hD673(k#8j6`;*lTplT4g0sIgl}> z9|oEhaC7(I!@=N|lucF}`*ZZXk~LvMiY#lw@3?E=lK;is_#@CVFIDDD91142q{F7w zcptXl=Nui+=S?1#J}%@1v28%YNq0U^{Hy{!)Mn{1MI=}8OzqOsnva%EOKLiADN43S z@8k88xV;A9)8cHiV%KngS>kHAPf5N1P3`N8QX=U5xy{E?aq0_y1I~{lXu{Tg4FCWD07*qoM6N<$f>bF2u>b%7 diff --git a/app/open-iconic/png/clock-8x.png b/app/open-iconic/png/clock-8x.png deleted file mode 100755 index 045f32c6093a781aeb07a9a799632ff942cf2ced..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1460 zcmV;l1xxygP)LY$8|I0L72`W(R_ z?8EoiiO;Yddxjumb}Ym5_zFeC_9dRfRYTRF24-TFJW7`tV!@+$-6KekKu=kvb?6@4pC*zAHh0# z74OCLj!Z`@$hEF6*_{-(_~e@xb4jWmbXWX+e&-6U`slXet;a?p%9Aq+B*InTWBH75N`&heqi2AeMo2QipOH>yW)P$sF}{iRiTK4#46`E~ zhuad@Nk&{REx5WI9|{+=brJP%Z6U>6h6N1-=!Z{ngOKEiVWF^>*A2xNMxO6)3pF`q zSX7g|4BrU3zZ4_PR{tf$WdE+M{F0K8s2l`RjBp(H3b}_mSQdG{6K+@TDE8JQPsIZL zbAHEgSA%&|4nw!XxsgtV;E)E1i*P_bc(E3q=%B9HPj@T+p2)^`s``CR&5C66ec5ZC95-a)Zt@PlyKIO-S^9Cw*6JNgY= z85vXv#R;R1*m5rLXupBu!qK;E;8CGCVN|gM|0vhtfbf;{#Z!^Ng|Jj6onQ(vE?j`b zGj$xQL!p%5xFrm`@i7boFeak=+MczF*bOjHO(38R9Sq{)1L%498}oFvrjK=;}!O2dPtBng6mI=1rG{0O4-m7ilnN(iD9-A8m{>i+$MdC9A-P9fw!-UdD4TWVYK(u*yo#~ zCDh*TYan>jwnt)kJ4lQR<)^Wubnef6wGlg&jtkdjI}J|p9l~YCNGaYAONBbT9hxis zxe#Ig?+z~qhVhrvIk*;=3iU|yJHO4sshvK53rlD}zVqL|&+i|kaQ^~r2sfG;gH+o9 O00004nJ za0`PlBg3pY5swl60VN#2;p_q&GMpoC;8`zu= zp7wV>c;M%QLkBh)TW>zSK5fUNUU5B*e<$Q*XC+LHoOo96k?gjY*DbnpCqHET{Y97U z4l^I$q4#m3^RJX`2ig36UaPCJ^B!C|DSqc9>D9(!YgK^GVDNPH Kb6Mw<&;$UW97(zW diff --git a/app/open-iconic/png/cloud-2x.png b/app/open-iconic/png/cloud-2x.png deleted file mode 100755 index f072a4540124d8085abc3f230217cfa3d8140953..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5}sBoFkK;Hzf-M< zh5CWe9o0?WJ0B#!*OWRSI_*VjqM!P=DIU)x{a%=f$V5e$wmjsr^g8>`V6CsEn1xzX hYQydLHU9(iuG^(NoqOZnZ=mZKJYD@<);T3K0RY(;R+j(( diff --git a/app/open-iconic/png/cloud-3x.png b/app/open-iconic/png/cloud-3x.png deleted file mode 100755 index 2daf3b2bc5a7015c13385128f5a550bf719be90b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARUi9T^vI^I^SM2^m29-X?^IgtQOUo>yemfmhh78PIFkE!wEi>wZ8*5 zc&oOsh-y3bOjU@`GCR4sLek^PjOo*7>e?c?-xmHLRW+T<>H_%3-&Isd9owpVDZVO(~*ayqFy{)y~O6u zBXM3E9mTn4UaUWveA0PYhU>KS7YX_zUxY+bDh|Gz^=HA=`Pr_Ilu8dK#MV6sG10nl zEO1d1I*S;jR`zvO>khv3BcM0fQ N22WQ%mvv4FO#r~gg3kZ| diff --git a/app/open-iconic/png/cloud-4x.png b/app/open-iconic/png/cloud-4x.png deleted file mode 100755 index 2b25bc7c1b1a58f4f7b4a0353248b4902f546b74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmV-|0e$|7P)1{e@1EEj;pVK9(o*8l{IAvnwg$qbp|GbEr1VF-%oN}6VjrR`e5p5#sHp7(#w z>B(Wlh;+ph9THq0rX$lZu^O=Xy7YnX*`{N^2;HL zz3&8~^|S diff --git a/app/open-iconic/png/cloud-6x.png b/app/open-iconic/png/cloud-6x.png deleted file mode 100755 index 98fb703e83d4efd4bf9ec3b980217cd7e4e8cb71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 581 zcmV-L0=oT)P)@nc$ERfl}1KL=|59RLnth~)5-!WcKQ$)Uu zD!&wgY*vQSi9j;AfVTLyO|Al#BM=;x$CA6@f6R#IZZj-Dak;mEixG(B&6U3kScyO= zB=czjuOpBN$qTd^_^O)rU=l2ZG;=X=rYY&SH!H`QcwV)|80>H2VbvC6&~4y=^P8lI4>;7X066>m z4OL4HlAp_xPnpIoe2+l5ciUvHd_UT_fctnQdAKf9__L&GyD9m*s-~u!w*CQ@=>?Nc!55?!B8ZK)ZYvlS35W=SprXMQ#E57XH5O+t ziJLX^y06XL4}Q(=aOeEa%-lKm&VfK65C{YUMWw^hc}u{4;4rWcr~sRQp2q**fRDf{ z;0aI#CV@ZJBh}1y;41J5m`ka5z-3^w^{6$l4Y-3`!L-JkH4EGXHdu9#kq8(8evsdI zvpxf7?O91rKl1GAHr}ioK&K^7iKzguF>hY!0kF!7vjhww6P7LWO84>LPUr((V&A;d zb@LXN<{s|ME1fa!@;{tU7@%p@fc1vGE@BN*xw$s4bj_^Y#f)eQT$g?#rFAT&9Htd3 zfC=O-@P$sKVyxOY*$LcV@m6|Eg2i5x%ert%!x$zQ0QSZmq$2@GG>l=2qj3kMshoO& zJfN|hE?w{+ln#yCm8yE%Z9vI20T2}LA;JF6|@@h7V`JMPx z)#X(x%D}V-K|4u6H_PL;&zyi!4}x`;fC}wB+b^X_;AC6^#ytqswC)0HTbb{rJ&T+y zngTX9C*Yh1f!WkkV6`$Ikzm2F%-9WFS@^?a++P(JI-n9z^B@=(dI+*(QpfKltx1M; zY>2corz7C2>nI#@C<5NNj=~|s5wZX(D*X|S*|4C@bs!%!rkQV0DiZHY$ZK#bns!jz zj7RDZXtr=iTs{{b- zC_oZo`wIt=jRV(#n$X2K^NKFu67qG$bbC$!R^{a7X3mdyn$Bc(zMI> z0LPgBJYELY0V`9CVS_r-js5~@k(ofcMFN39AP@)y{^2jhVTruxCz=WX00004nJ za0`PlBg3pY5W8o=Nkx&7i#&J%{~Vox>r@NDom+RCc2q=Y?h)49oK zq#sy(bjy`*Q0Mzw8?~mjJ;9SXM0xV>+NZ6@C)|8$c;ZbFPvB|Ut{KI~$9(5q06Lw) M)78&qol`;+0G{n+TmS$7 diff --git a/app/open-iconic/png/cloud-download-3x.png b/app/open-iconic/png/cloud-download-3x.png deleted file mode 100755 index 8e412296e55910905a484d0bd5580754d9ce6b23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 383 zcmV-_0f7FAP)K2Vu!BIhYR=cT! zUP-}u47i9kx_B=M&-UU^R&YN9G^}CXn^y(T>Q~x{L$Bzdi8@wsApaO&qm>D|iSVtw zZ;S1Szp!+wACeBtCt#;Y_uMKUvdlB6*)^J6EIi^u=~002ovPDHLkV1hQmo3a1^ diff --git a/app/open-iconic/png/cloud-download-4x.png b/app/open-iconic/png/cloud-download-4x.png deleted file mode 100755 index b1a3c73c32c8ac89bb741d998e78d28e5df25ec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmV;|0Vw{7P)Pw~uYd#avGmF*KA6wd(2ptK?h% z0yYBsxIL6{IyXq=N$3&`?jjK!ZX;0|yof~UaGk{1;3|o+!$k=v_z${|wCo9cBX9r! N002ovPDHLkV1k3l!!!T@ diff --git a/app/open-iconic/png/cloud-download-6x.png b/app/open-iconic/png/cloud-download-6x.png deleted file mode 100755 index 9a4c3b74664df27b91d0396c6f5543d445d8e1bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 681 zcmV;a0#^NrP)GvplB(G1oWRsXSs#8R$6EyHU>oOq9KZsQn3+&jarII8bv{(m{?o}L%g}$ zx!c{lgFNsycQf-o@9fO%ur=kd6X$RSlW1TsR`C@d@EY@&!|#$jk~x4Inv$zIV+k4d zRImGw8m94Ge({a*8JDUSr#W+v6J^`QO>C)3ehhC4ln?QsiXukvss#BEx5_Tyc8T&K zO4}2sDv%EwyY1=J?K*piLtXYwVH7{HP~@N|RWth`mar`*Q}3dH%U$&8g)y9s{nd?9MMtIv zK(gxs#tq)GNh)BbgoG=Y)qHO>G*7SXIE*WJk~rQ=&C~EdCKP|#EaF(FS;KL>O`Mc# z8wa^su>3RZ${`;Z#q-1**Vhj)U!eSAqWtiXeA1^fT^*?Y=e3`|@h;fnPmQW*-bxEs3|3hbQbE!Od3HpGfixe0{mx7?kTToe0ULr{QLW}HHQc7rt zc?V?Go!y<2198_-z&{wMGicn7=$27w`9 z#(Sog*#TSzz5}xv;|p*J*z7%P3v37OAdg^H@pw!D*Maq34RR6z-N0|m#pCev&hP+_;l2>t`0?dRK;4S{;Ra|win9M!G z$*VZ++;S1lrA*LuOaSW~yUwEtxpE6Fui}bZ-T8D|O59fbK`yPe)EY=DRsaLYSx^+} zkSoSPAA_AB{1IO$J_9wn$teqcxL_-=Pxm7m1vqS>4_6$~{UFQAsTnw4?Q}PC z#n*zo1{9UOHae*QeZVB)&+Du)Y$DzO^Z?TZ5Xl=8dF9)I*98zTjj25HyC~MG&NMR7 z4ty&>(m@K)!2dDra~Ghe0Lca`K!q?@`w`#*&;hgp_0?#res&S~U^vDQa8g%*KF{K# zKqu)|q7m{T$4A34?*eNU8lV}!i=2L7bqet~jleC#v4??;@s7`Wl<&zQ9;eqZhgZZ7 zfUoJ_Z$Vyh+c1|Kb31$CL4K5c(|$3UfKP@w9aNo7cql-ZMR|qksry8A0a`T@&l1``)U@4VnA;f0{WO;asMkpRO=vr*X}i)ex9JFYq#4AN zY0dXZ*C5>mG1mi+IYc$c+u(6vtzl=2p?fwz>$rUq;}LQj>83#^OPM#Sx|@)1bhy~w zD)J0CuiZNGfN24Yu(30=q**RN=mbKuT!7FCgl4$_p%Vy=ivkF;-H_4nJ za0`PlBg3pY5!2?gmft*sFb6n>b#l zhP9t4nJ za0`PlBg3pY55O9rGsd{$8L{QW?h5OZ+1AG%Rf*Uh7F+geiLI0kI8v9@9Hd03FKU>FVdQ&MBb@0GO0kvj6}9 diff --git a/app/open-iconic/png/cloud-upload-3x.png b/app/open-iconic/png/cloud-upload-3x.png deleted file mode 100755 index dbeeaefcc08deebdc5c36d3b6e80ccec4308710e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYKpl*%o-U3d9-V8i?Db-HlxTf;T>ePVo7RXIyb-sa*lpRg?UX2s4(rD} zkvBTbg527Ii>4|>aB+1;?O-;1x9h%7(F22{b)WYc^XP0`^N=IF;^>kn{lbo`3d_x^ zcO1WNzxQY!XN`Qm?uRSlZ=M`5{~*({{9b~pmc_}I<#H~pi=7U-3Kz)Q@_dZr@X!CK z9=&5Wv(?@6yC&;%&HJUj_srS;7h&0#&zNqToG^p)eaLSs-AU>>LiHCiE4*eu5wYWX zD0q^CjrBubfKl6HpNjpzuJL=wN#)(0!Qwx6>Y1sLKb%y3KeT$>dQj}S=!24{-kz{c xQ>vG83EkTtqc9`nwS`fPlEwGW|E;=t>X|uBWout%O#=lXgQu&X%Q~loCICJmiR=IX diff --git a/app/open-iconic/png/cloud-upload-4x.png b/app/open-iconic/png/cloud-upload-4x.png deleted file mode 100755 index 4a3488b2e35f4ef5bb5956c8466a231d8f000310..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 416 zcmV;R0bl-!P)(TM^Vkuo01fSgWM7RBWuHrJ$rRXd#I&XK`5!F?+W=J2SV1 zKX{tGn`ge?y_vb?ZXiz%;}R}l5vOqsBdp^C-eLtW@goyQ>zu%CW5`j%T0_9m^0* z;H!;2@pOt^XU}jda%`I%!FRk$+4QV3cfYDN?5~5_6CrRdVoaCJ;bPs3F#@&CGNyLU zeNzT5V2JZLgX1QAoEfv&cECKA@k`nDURR&nzz=nMrpZwoP2rb%09#j6GwcCmw7|Un zEt^&X%LM?!R>h8gZG0O3lLh%to3L%ZE)u_SbEm+Kg77IMM!2=T*-ByfR1%k~MjvMY zpF(2Q*3C(OTntApO2U0cv19bZK_rdyT7ytkO07*qoM6N<$f}<-A7XSbN diff --git a/app/open-iconic/png/cloud-upload-8x.png b/app/open-iconic/png/cloud-upload-8x.png deleted file mode 100755 index f77cfceab4d4657fbcea9bb4e9b0b24a64f567c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 822 zcmV-61Ihe}P)}k3Q51%sdFi-<_0vlV$7lBW}Ti_)y3(Nt3 zqIW8+I&c;E0yJ~_18^DG6}@W#?E&uKzrnoVon8iR0$ZaJ6x1Lv1^l2qc&EPt=i{N| z*EamMD-GW18^CZRroL4J-k}d4{0LYdg{%*a;}@)0@WBr;FcZdrH^hezzOIkhTlYu@ zAAC-o@*ld;XM@^q09%w8(+=ufq|^%2TP%QofW8|q20ittPe>9a9p56ToW&0A;;g1b#oZc6DW)OB29n z15GChV1%_X?F$DmZJ^m?0o1Uu+Pjt|Yt8|uvjUhg0v{wDLKC{&{%7z) zi6WBl66fZ=1OToSET91&Gla+ClP2U;09^k$WLIrJ|rvvR~+ zU(Cr7e~~pKN4nc=ayjJSD;I)89=}!If;d(jhoy5Y-SeUnPy8X2x;V9wpust+f6Jkh+1?vJk*hk7M7p2e%MFuRk?B zjn+j%)q!tx-@+Dvy$Sn@sygrh|7>CrxKAYbze#~SHkzs2^8f$<07*qoM6N<$f(&M2 A6#xJL diff --git a/app/open-iconic/png/cloud-upload.png b/app/open-iconic/png/cloud-upload.png deleted file mode 100755 index 6a8fa829e11491899f60157e8897c5627e835f95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5NX1p?*V6=EetydfcXpT9#Bf_AhRd{I2b?W1+Tra?hc*kd}~dk^c=vDpxqR{Pb_K a?PIr#P~e$f;4m9#4TGnvpUXO@geCy{+&NYN diff --git a/app/open-iconic/png/cloud.png b/app/open-iconic/png/cloud.png deleted file mode 100755 index 5b9100a2ca32eb1e101c702326a18a6783d76886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5Vf#$qNOv*K?2P!MRv)B2voc?=u1=F15rpr1#!Tsf4XABNAsf)78o7#l5 tJY<)evHF|*uhx}~)ir8OpBd!WGFZ=OyyKJ*@)PJc22WQ%mvv4FO#qWJb8`Ry diff --git a/app/open-iconic/png/cloudy-3x.png b/app/open-iconic/png/cloudy-3x.png deleted file mode 100755 index 410bb6c7748314f46d9ee1ee93284f10d030e620..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 415 zcmV;Q0bu@#P)>8iz9;IgYn21=QtF*yY~nmk diff --git a/app/open-iconic/png/cloudy-4x.png b/app/open-iconic/png/cloudy-4x.png deleted file mode 100755 index ed36c29cbab3fb73633c3301001b332193ae5643..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 538 zcmV+#0_FXQP)(?A&PQf2v#;Cz5qMz6ctgCyafM6th5P&g-r?}jRXaa|3Ga;%>_J*$;z_M zTsF6Rdk;LY#ms)6+273UkGMLR!va>(!y4Ymw-PJKVE0?Z9wSEpKz*7fc41a@51iRYX=^d z02h5*xMPxvmEc@q%p{%-0ndj>>RxW(8(i{#{VrF4XFizVo%$ej=$U%;QhZ(7e|M!Jm&1oOe|7 z4Z))UW{mc;7yWXB`A=0kp<(?4N3#GcV+hd47wno4c4qX3YCspq9pF_ta7Q!cSjKefvm6w9xYzhyBlIVh ca3R0)zjbvP;Be__zW@LL07*qoM6N<$g1hzW(*OVf diff --git a/app/open-iconic/png/cloudy-6x.png b/app/open-iconic/png/cloudy-6x.png deleted file mode 100755 index e54b0095539becbd0e2f81304ca0d3b1fc9d40d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 813 zcmV+|1JeA7P)+@``#jH?hB!^&1x#ZLp2A~jVgbM4 zTYQEKSd6SYc1>aqH<3ho9{cfV1-whNM}Ub1@Ah@6 zXf09F~ z!CNsvYa_v7TZ!nF(Hd+1`2fG98s{vSEALBHJJxPnJ2gejsW zN6p>BUZd&-D%M~3O0;*Gg!l{Vdj){k+aIVJauEEse(I&RTKu`FE_1;)>u&^ z_y}!dkWws)Zxj`EASgOeQ7H~}AUF|0sNl>;J5$hTEjm*aL_x)l+Mz{TMS>5CrAn=B zNt9x%n8a!v>>Lwslist>JH0>rgWMC=UjI7h?7jBd>-5Nm7Our@xEhz@0u0Pv`yGd{ z2fMHxpJ68Bc#XjjHsNPMObid;d0bSv*9G7_Y{9g6;q9ElOE{-e1v#(*zsfJXo#VK- zLLJdqj@K10yqzziw<1lcaRxq7zW9V6qOTHVDX<*dR3|>+M_5*YzK*Ekv0sd@RiN*G z=xO_V1Kuim%t?HT-5A3@VTn94d+m71<1dOq<;?aog19$u2l}fL6pJm27yd0C5hm3} zV@NScPQo9B*Qr&ZhFsXB7~y{j>F(*(x}Og%*>d}Kevj)a_Pr2XFTeP0IJ;`ci^9|L ziGNcAQ`xjwChX_4Vib=HfrvpbZonfJ8@dX7?I1n&dnzGM8vND6T;(~1}$vF zpOIsv;V*bFtLXWNy({;nv^yxgyG09c=ct^!$loFc`yi#w5$r8k=*jr89Ld*rDF>Ov za0+{CgbAxE@d-266W&ibz-S6vE2R%;8GI#60G>)=crR9^u$4BLW%7a809>(%p>b@+ z`jmDaZh-h1VU>z5x$l{0U_TxcSGYJ+$lU4{pYY|_06ZzI)z3rqn8UA-%4Q)XezEM!pI1=;t%z|*RdSSBfMXz78hAAubLBC#Si1F1_;Q@sVw5x zYv#J1l~EYR;RZNeO91+v8jpSE02FmR)-Zf@a+y1l3o>srDFs9Q1EGCLb~DQ0?vW39vH8kD*T2YQ8N zaFv28s7nkxlVxzT5QuKWj-4nJ za0`PlBg3pY54nJ za0`PlBg3pY5kW!4nJ za0`PlBg3pYARTRN@--;%u$b>#2^zWLZ+ksGIBvIc9#|y6 zSPa}E@JR>^>bP0l+XkKy)jO{ diff --git a/app/open-iconic/png/code-4x.png b/app/open-iconic/png/code-4x.png deleted file mode 100755 index 652d2c9bde0896bac31a280120e3bd2036793f57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IwPZ!6Kh}O4L427B{ zN=h?-xEpI1eZZf|>~q0k;cez$ww^wF9eqgKuln^Q1zL0DGN(v-*@9fy`KdU^U? zK-jlWt`qshx!U=6AMU!*`BA(w!sNx?-TxmPoB#fJSAtCQ{#iyFlw*oc1-OPinsKme z#Ti3YHzTgIsjhAYT}M)%`sjI2Uwm}g5yOP;Jf8o1{+{~0nNjlA)sz`h`(FSZ&fw|l K=d#Wzp$P!jLT73K diff --git a/app/open-iconic/png/code-6x.png b/app/open-iconic/png/code-6x.png deleted file mode 100755 index 2d28893c9befdd6cfa94c6f138df35150edd8572..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6aZeY=kc`H+(=PThIr2CwOC4T1`_vA$V-r5A?7k%E{b$3s&E|gu z45fPA_G`Etss8w|cJj9)5&Ie5&7LBjw61=>K=I!>3SAY9lMl7e-6Yg;vgLzebP10} zLeP(in$}$6hKhgwgr%@c&k(Vk(r(q(^6}B_#umSsB9$_;t=V)~CN9st6CgUdsW~^; zz0gTOW*KkWs+l4-HMKVaGdP-#A3u1)KlS|4@9Q&uUGLoS;rY9yu&GW38GQc6tGhHU z4BGOI{ZA`?GHD0W>;X>_dA84d$I&5k_MzEjS*MB3hJR-4ly3QOS*GsH9p2y{i9Gtr zX^aAPvksr05y{cYf9!+bvmgQ2HF~dv9xw7P4nJ za0`PlBg3pY5)2HCHJ&bxAr*7p&hYkQb>v}I)@$p}^JA0VX8g{7QeKO9m3G`JomrxS z$0U+_49lB3e$@T^aAkv@#QXgWbEK{@9$NqY`uErNH3eA_>>T_5*{%{v~xnqgGv*#AgOyV+}rt8GX0xjs*Evo9JlGbE>IWxsN?u&`3|Em`3H&}nu` z(;2yz?x#(jT2&%`Q)J8gYZ(rm{Bqb;t6C&)iEL@V49lUjZ<~Fsszi8o>UUP(Q4-+w zt2gXCC+Et2IR2H~R2G+R`Ob|O9p~%Y|LxMjw4z?UCTAwWA%FNlj zHtwkdhq?Kk%)O^3isa?&2(A`&R-6-4Fzu_>u^@|$4|Lw9^0gHd9=dwXd*UCbhlg5L zZ=J5#R8UZIMq%Y%9?4c_<7U4vWi0~R=g2B+ynO4SnYYpCg-gCGPvPOKhWt~$g*_25 zzad%T_+GTb@Qq9{(=pfe7kSYF>3?l4Ff5P#iLGNWcS|>&bIW!nFmf0?UHx3vIVCg! E0Cc#&%K!iX diff --git a/app/open-iconic/png/code.png b/app/open-iconic/png/code.png deleted file mode 100755 index a70db73f5a58b2dd6e9c9d5e33d28dbb9faddd22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5f z<=OwSu{r25Szcf_x~|_ii)#tfJ`;Io@!8rZW~#d?ZJ4l&Vb=j!f!(`S9GJwQoS^Oh zqUGD14*UPicCy#E+%RBC;+B?lXlORvy|F>?1J{|xy=U(8yxD!l`T=)_c7n#WqEmB| zPnA|p(Z4vqJ|gd0%s+GNNbr`NH z4I)TvqBuE}L{JbB9j)R@iPC9~PoYKxLBYvItMDaQl#)G)*^#-qH?zCkKbhvg@BQAq zoj1FXUgyAfyv{P@rBXjoHwr|tm#CcJtpG!ow*$0UdD~V@9#~E)STc5b11tgo5E{N- zZ@>hw1l$?^t_!{oT`%~rKulG@84C#%+i-QSzQcB{Y_u;3{E2%H#z9!FdWcy@I# zE$k=+=7iWH^5F*(xDPl)O@^Hy!L??E_*b9|^y;8f)WwnBXVnAOsycF`nC(5Va*6^6 zK8AFYO+_gRc$EXLJ%r2O@=fr1z-bsGW@-y>RZ5=3P#5Ax#8*%-%6J(@P$7vr7#EdD z6T7RsGf6%;1iGrv_phYRsS5pRAKE>!x6fRC=|Kv>{ZW~3Kr02Hh4p2Vjb%Kq;Rd#* zjGe`J%JcEgSg*Esa_uMzRl}mNsy}#w8LSXiU-$p&yYUWdJ9CfYSz>IV2*j?0d2iIw zh?sZd2i|9lEub0$xK+Slxp6ZFFg*f*oiPA-IYjdpdFC)XM1Ye;09NBmBuNW%Lg$+h z%5OKWp&5DaBUTjw*ceGv7vIHGvdgp~lyRok;UeBfRvs;(1Vmb=Y~u|s2)*K;YPci6 z#^(x{cXd4{R|B^@-i0?%nbWRJITxNdQ39Y+G;h{nl&0S$<`z~NfT>~39m6p^#!}AQ zQzZaqbHjiJy|PnKSlI6xs5rF4I1bCWfULB%&H?}1Wd;7q-Ji-C! zd~EO_zDp-xlwBRk_=T?-W8bhpkMNLiv+ch03a7C~=oRx3^Le4hD>#GKWzCZicZL6e zy}BF$xRf&g0Pb}@2ck*gU`qSyHx0@pPmfXn9*)W!j-&t_?kCY-hPuGp-7o?E00000 LNkvXXu0mjfw(Shj diff --git a/app/open-iconic/png/cog-6x.png b/app/open-iconic/png/cog-6x.png deleted file mode 100755 index 4d510ff2082cf8e34a549db6309ee35a09897d25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 918 zcmV;H18Mw;P) zp&D@{6bBk>24V-1D2SpHu|5z~tb$kvP6a`H3_Fred{8=Rp_ZyqV(UajinCIX3Ze+U zQc$57T6^PQ=fLqa=VU)lZtf5N=&rri|L=SEJ!`K+|F|71Exc_5>h+HIwHtVE6Lm%5 zIxK59u#9W_EI8h0GCYmRj?X7oV}_1PB4d8izWWt_Ovu*@UceuC6WcoC9<;vriVt+; zxe;$;3D1^E=lMqA3pj#%FxH6uJi)+XW9=B`adfpt6*nj`(G=h0cX$zZ;c$ZZiXY$( zyoA#oaRWS)Dt>o{ppE1}!r`C7*%1)kiMHV_oJmYJQy_jevDOma&^_L9IiA9| zkx5SpZ9yuw2$PMN8Yl3ia9>ZtVq}41i6*uPx2%}lM^Z)CabIMS>YLaRk#ko3&aWtJ zr(a1ZRB=IQ52l5O)Ff`g6Y>u1o?P+c_#vZU-#jhzfqDN3h_5)GW8l*f5MJ?Us`#75 z-NuH+3&N1#BDA#L@+iw&N_pEiHjn>-_7xVtyj?GUk7!f+Q})4e0V<8|TH z((!d-*Wz(JB=j~*>%_jAVYt=AH^P*y`8M+F1o2-r)=mk%&WS$7*G>F`cXf|Yb|o0- z8V1Y=FUyzpAily?5it|^&HCbhwZ>u0tQmbH`zs>moVa1|K5>UJre^QhDom2wcK^J7 s?$H~HL)r}-+(cc`*s0yX-F+AP4;zHABd$>~+W-In07*qoM6N<$g6Xlb)&Kwi diff --git a/app/open-iconic/png/cog-8x.png b/app/open-iconic/png/cog-8x.png deleted file mode 100755 index e5fe8481842c8c58170057bd2d0cec270fa44327..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1225 zcmV;)1UCDLP){2pzxtd@rI?oM0tr`A}oRkEroKj zs9>gx8Zk~Y9v^;t>t;Cn>~;CAy|?p)FAT%}UB17y_gee6*E*0dW&^bhKAdw-xuTQo z0=!>Xc7ZVw=q0-Vy}*RLlB(nt2-pBr4X&$3*A6K(0Y8&H`Z2pAn<0ZIF&7_mSs|Hb zpcz;K47ap9iG2Z1SjHF*EOp4u7|p;jB)Q*!SAod}b`M}Lz6M+e?lidaTa_Z1icj)y;2q!x58;D(2G|Y!V`=AA1Q+pTq;nCTEkW{He8!~!cLD#E zAbDT@3yez>+2~dHFJOO0k!}a+-k z945InfcO~Owet-zQlACz8RN9J!w>~H8^C9bbJ`AvA-94is>rKo2vm{HQ#ItdIa*4D zC_u=q?TOkBLlmGrfX^5+wH<~i!2Ik>%H?}Ga0H96k^$O*w}C4P z&R1%y2UaWObp_e1eXvoW7UX^Tdyha}NI$QI7T_0;e9i(J8Po%qU;)xexpakl9fYRg zfJ6L#;0Q2JBY_PL3Dkf$6k_jmjJ-x7_DxigQz0&i>_hr_TeRRd@-?I*RX=34-!YjQ zGJCJWY;|ZtCcH}?@if0i0dOZeJH=f{OS=%5hTK`z=*y?X4R?fHuvsCgy!ncj z_zLn&6)nh?=aFvL8;eUI#+3^-3h;3Wgt+p!ulW0r1B*oqapeHe)<|I1va}JU=cpi5 zfEQhjMCVai6di_=@63(3fB0@lxbcgaP0abdS|^ z1D{5|a}#e{gdXHowk@(7iA+EyzY|JhFYr9KHd<#O9p;~Ti8m?2*T6c`CmNGqils5_ z7i1%W^}shNcB;?8%T)zi-riT>TFk8n5ki%I+6359d nz_G%z%K?kXE`Z8M3{%_yVj@PlZ&DD~00000NkvXXu0mjfRCp*5 diff --git a/app/open-iconic/png/cog.png b/app/open-iconic/png/cog.png deleted file mode 100755 index 71bd1411902173a65f1b1728799cd41b220a5075..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5d)OnAnjF0N9C4nJ za0`PlBg3pY5bP0l+XkKZuKbP diff --git a/app/open-iconic/png/collapse-down-3x.png b/app/open-iconic/png/collapse-down-3x.png deleted file mode 100755 index f8d456acb533fdf4869a2b9e9a2255bfabb41ff1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQi_E{-7{oyjQ)2|vy|I3IBFKJ2b5AtTnq)aAg;tRgJbES-_bd9zJ8 zne%Ad>@PEhFlB^JV*TE-<>ZlC=>|1C}z@l?qr#X$EhNfs#BZ_ z4GayDlU~KWiTTuHp?1I1LNC5^huZwk9eVPvGfq|uKKo>L$d`{HU*Jgok7@@-`L~XD U#lwGX1zN!1>FVdQ&MBb@0LuwCuK)l5 diff --git a/app/open-iconic/png/collapse-down-6x.png b/app/open-iconic/png/collapse-down-6x.png deleted file mode 100755 index 1102a5909e31cd797ff064f1729c0025cf462131..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}xPr;B4qM&sL?j$91}BFq=BOn&}s*Mv2$F8doRFZ@lpen~Ymd}FTF z15GxcrCfw(I7%=aK8>k8k;FWw++hj}2Xq4{P=DueLzp$T2WH nct7pj?WDE8{xgEi*utD#GI8#?_8k^LCop)r`njxgN@xNA<8n*Y diff --git a/app/open-iconic/png/collapse-down-8x.png b/app/open-iconic/png/collapse-down-8x.png deleted file mode 100755 index 385f3eb778c2f66c71984d81a73f12dd31a9bf3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5B)`MJKU2*rxLJ?V@-Hm_{{gA{qX`njxgN@xNApM+YF diff --git a/app/open-iconic/png/collapse-down.png b/app/open-iconic/png/collapse-down.png deleted file mode 100755 index 12dd120a0e8160bd79fa162368d189b5a861d39b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5dFD21_n=8KbLh*2~7aXX(5pS diff --git a/app/open-iconic/png/collapse-left-2x.png b/app/open-iconic/png/collapse-left-2x.png deleted file mode 100755 index 4879fcf54f2788bb53bc69a593f054a67ee26f7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5PU9^AWAc2~!ee-6w2nfZijSsa-KZWv{B z-Qg*Gx#B;=9%JUG1}T=m16Q$Hd`xY)?#Q;oE@}FLWeYg>F-STw27A1io7wsAmA=l8 XSiQU{`|36WtzhtU^>bP0l+XkK5Y0F~ diff --git a/app/open-iconic/png/collapse-left-3x.png b/app/open-iconic/png/collapse-left-3x.png deleted file mode 100755 index 802cb28ea160dcf04c81da6cbd4fdf448cab8096..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARRfLE{-7{oo}xm@j2$X6Vvx z`hM}|vu_J8OlAAW%kzH0EK$wpm9c9K3Z_kG*k&X9;8RFK*gK|E^EFSGOKR*{Bsz)D sAc!gAiQo<9r93;7N+$igDAnmNl8|35Be*!wY+;oc9ShTR`uGA{nOl5yh4OvZ~JH5vVn`7=-XZ^-^a`-{{>F#*>l zY%T&X8I@f)56CX!Ip92niQ%Yx#yOn=dsBuPe**r;T3k7uCYSxep7*c&Hf6>eoCo|E d%0P~|%g^b{@F28Q3FtEh22WQ%mvv4FO#rpSY&HM@ diff --git a/app/open-iconic/png/collapse-left-8x.png b/app/open-iconic/png/collapse-left-8x.png deleted file mode 100755 index 3fb4ef7456e49d7d00da038a5e660dfce1c37b81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC>Ygr+Ar*7p&UWNGWFWvCd*txnVvDCy>Ni)NQ?m~8m$B&yacthf z@TcIsYFzo^KlwjxQYTL3dLUL1%y@?>PpcvNfG=wS_l}hed5q?w2Xr4SW7@%bXN_D# ze$SsHPn+icJ{7-jzbJD-Lj7(AnLGEj7}URQ=R9!ouP&3phWU03&A(SNe`x%>h4F^A zhKFQ>a#K?YqlK1+hiHRwQ*?-#~~!~I93=G?ij1{B&@(cJv|HY)?) z|I9T9&;1Q(cz^jC{~>cXy%(px);G>Yb$$rL_J-LgempC`^6JV+j`L!>f#JyD>FVdQ I&MBb@018!4nJ za0`PlBg3pY54nJ za0`PlBg3pY5kGXYh3Ob6Mw<&;$Tj*Epa6 diff --git a/app/open-iconic/png/collapse-right-3x.png b/app/open-iconic/png/collapse-right-3x.png deleted file mode 100755 index eba661f57ed83b1e5b9a30fa528a20594df148f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQT=E{-7{oo}x?ay1z6xLoX1e}DG%DW@e%C-XG5^6Z%SN#4Ve`GVnm z-FwE;XT3WDv>(VU(DaD6d2cLuq%=aIX$hm)LF^RCLTWymwXy{twpZU5JNpq&h!u6{1-oD!MHBp0~$*`|TrMJ?Zd8`|D) zJX!p{WUq70j%u!e1}1}s;NFbMU%%9`7|uD*pu{2B;OfE1oWJm9CfKS-_-?q$Fy3&KVXo+kxcBRK|4xqmPMQZUe{^RkJNCHY?ney=LpkOZ z$CMeK{wQmxs?lDM^yjXhX2LX||M&D+&&;|ze_Hji{=n6LmdKI;Vst02p9r2><{9 diff --git a/app/open-iconic/png/collapse-right-8x.png b/app/open-iconic/png/collapse-right-8x.png deleted file mode 100755 index 105372b314033edc02cfc67171f97b7417a7bc74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCx}GkMAr*7p-ge|;GURc-$fy4OY`gT7ZJxhl1-*3?zX`9N_$+hn zUfpTxKmOi*`R@0etcSCh7I0tCWZ14nJ za0`PlBg3pY5E;qPJgfFc9 g(Z7zt+1OE=VYwAwP4KNE8=zJOPgg&ebxsLQ04yUUmH+?% diff --git a/app/open-iconic/png/collapse-up-2x.png b/app/open-iconic/png/collapse-up-2x.png deleted file mode 100755 index dd4bb902b8a39b488ca4158363de47cde6511648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY51E(0y(oz mmT|siR6gwRytUDsf#Jy?!M`i?B};+&89ZJ6T-G@yGywoARwwiT diff --git a/app/open-iconic/png/collapse-up-3x.png b/app/open-iconic/png/collapse-up-3x.png deleted file mode 100755 index 6f4ace4378631455857c46c435036f39f72b0177..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARVrrE{-7{oyjQ)2|vy|I3IBFKKwH2poRqN7k1tNALGOSoei(*I-1RS zH7&t-PS&&s#&eRqI}GQf6&f`$C?C$~HOpdL%D@oBulliFMRpI+Kn71&KbLh*2~7ZA CwJt3H diff --git a/app/open-iconic/png/collapse-up-4x.png b/app/open-iconic/png/collapse-up-4x.png deleted file mode 100755 index 8b21fa4162574837d9f5dcae726a5bb611f4b31a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wzr;B4qMC;q>hI|YH0xZ*~|F-OPQfw*^H=LYfdpV}iF=(3d#b7@M zh69{Ib7$LJpXt7(=yS)sJ32`!`{fLk_ls>*vX|SaT)vyHqF>=36BEY|+XW2e0*-fY TEaj{Kn$O_r>gTe~DWM4fsu?of diff --git a/app/open-iconic/png/collapse-up-6x.png b/app/open-iconic/png/collapse-up-6x.png deleted file mode 100755 index 771348861631a566f54a2a4be0748c9a86ab193b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w$r;B4qM&sL?-dqh10?Zd*oGdPm)z~5Mv3*JOtH$3VCk_}iFY)Z{ zeaVUizopr0Dd=Bod5s; diff --git a/app/open-iconic/png/collapse-up-8x.png b/app/open-iconic/png/collapse-up-8x.png deleted file mode 100755 index de892bee58816179befdcb99697a13b5bda68b9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5S_4kiVrHKFi`tk>F+3(9?dA;M~Q>BRG{rbWOt@8hT5M1;5IKTA4U3q^B z1lPPi&M(f$z;I=AM)kss)qm$NV)2ll;MVYkF%vtZjQ#l`MjuD->_U)(JYD@<);T3K F0RR>LX!`&F diff --git a/app/open-iconic/png/collapse-up.png b/app/open-iconic/png/collapse-up.png deleted file mode 100755 index 78ec0edf9a3f36e5130ae102e06392deb1660e2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5;&Nxl2R*mmN}7mj1hwtMMjuPx8T}qIdHmP6$TpPIyXbs U!MjU70lmQB>FVdQ&MBb@0D^sKhX4Qo diff --git a/app/open-iconic/png/command-3x.png b/app/open-iconic/png/command-3x.png deleted file mode 100755 index 56aad3dd1f6b8473b56d651741216956677631a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYKpl+Co-U3d9-VKeMD`sr5O9(2jyQixgGrB}X?Jg%G0)*5UZEcyysnRD z7&7kDSh;k^pErIvOBY-bh+v9VU^hF!Bq0zcWX}?Iz%anR(RHQGX|5aB_o$r@Q#ect58$>L`}q9Ri^ vt4{4t3)F}X`uSODzAL-Z%})yd1GoCg`n)Tu^^?~Gh7p6OtDnm{r-UW|7c7cm diff --git a/app/open-iconic/png/command-4x.png b/app/open-iconic/png/command-4x.png deleted file mode 100755 index bf53c4d6f13d2fcf95722f5e9c8b207a6b31489f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 487 zcmVIY=BRTJpnz3z7M=O^v_ug6_F=+ZjZo)qHlYG7n4xGgFraF>d|Jl8kNT2{y-SYURZL!P6AjZc7E!QE>K43$NivXPcRgsJnUgKuzL zXgy4wHyPY@kpbqC8DL6nTSL$kbLJ!0&O`oE`Qu5Ak9R^V!#~9-fnox(pO?LOBwuPC z=o8jbk2U8!5Zce{NJ1^gGX1=&sq=uXpXUfYbIAwK1Fn8vB>|{m9!LcDuK0h5_pW6v zD^~o>a?W8S3+d-o^-THw8EvNZ^QwAUm=f`cZT-Be9x#`LYY|^Rud4sv$plj>DS`dG dM*Ru@6kl@#sYp$OK#l+a002ovPDHLkV1hC>&!_+Z diff --git a/app/open-iconic/png/command-6x.png b/app/open-iconic/png/command-6x.png deleted file mode 100755 index 4ea37f81af2e29e6218dd32906d92168560f952a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmV-q0-ODbP){IaWO9KFV!tsUYm`=5T58>QJ zXjlQd6pp{UE}9_UwlU_h$x7NOB>DI|m`x%Pymzh!2981MQfICPzP4ZZM5@6F7%CgCS!KvHrn}xa3R;af yqn!`1KIqEP)=nl|CV4{oaPDp2_Zgth|zTKowayHc5 zI=8Br`k8wM_^}K;1y+F-;Ck`*U%(;o9@qxH3jM^wOn(X3117*fffHZ{SiCIyo51e? z;VMsnXMNY-iV&{yMPKzd6~s$!^i6+>xPQA@JO&neq|dIRc**U)=r0qt+t%fTu$|dd ze~3G0hr;I$fXBdm!FAwEVBZo#^gjXjfl522Gsp4fFE_Pc`qJx}aI1$|D1PNuDXiLns-S3&=pCw7#oFManU91HDN z1NyikwEyw64FdZ2Vu*WK_^_5L(jcVVeui`+Z9<2*4R02t<48hme8?vJMiL+5o|Hb^ z0rqhlo^L;B3v;-Qc^{XX57O8GxJ@$`5o?}P<2t<4frPdBDs=GRu8b!gNLq_Wz|A@n z0Pe>G>%_JAr0(ELyzD^oseB$g_!1kq3y$?b>hg$$m9Js}_nz*<>2QwQ@NUHnRJuwo z;+~Xiz+K=5Vb|Lxaf-X)9pKLS*TA>f&XVuaxK&8eNR3ZI>SL()$P-|lfHm?2SSMhO zJOS1TSVKBvr`6}B-|(8o86EQnShF+!0Bd%}A7IT+_yeqI?hmkLC;S1{H1`KsQ`H}E zu|7YjP(te}Jz(pE3ZA_*VP@zWRLX08-=4{Qz^bQBqdsq~->6AStj}BPhxh|lfDgD0XM}!z-devge?Vw`-dZ1M#vf3p zK5wnB?hmM2pSRWrbo~J_Ra$F(K*t}DQlGch2jcw!TJ?EreW0E{AgMlYtsmnL0LA)z k$MrKZGBPqUGA=Rx0}w*?wZ$Nc-v9sr07*qoM6N<$f=&N;y#N3J diff --git a/app/open-iconic/png/command.png b/app/open-iconic/png/command.png deleted file mode 100755 index 6adf8a4c13ef6dcd88f7e46861b52d7aaeb25f2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5I{H~_OMrNoMx+GCVRdHCIXeRP zc$Fo)%HG-V@R!^vj^9tZoL3xYJ^dm_aNC^?N84=8V}jE^?U!S6mpN$jX7&M~u?(KB KelF{r5}E)~>@%7G diff --git a/app/open-iconic/png/comment-square-2x.png b/app/open-iconic/png/comment-square-2x.png deleted file mode 100755 index 9dab9e14718cc878797bad467cbd381859989fe8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5(R@i97yh(VGqKF3bg#6EwPTTJ;c<3nU zt-a--QN*NAENT}vKm5h{_T{C+-~ZJnsq9YSZ4my>-6GCwapmN^DL?}mJYD@<);T3K F0RVf5G3WpQ diff --git a/app/open-iconic/png/comment-square-3x.png b/app/open-iconic/png/comment-square-3x.png deleted file mode 100755 index ab304cdad8e74f7ada56a8b0850ed606cd61de1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQ5&E{-7{oo}xhay1wTxE}1}io3~NrONHt(<(OU(6OBD{7$>>iL+nI`cJ3j9E_;&xSn*IO6!}~I>i7v|AFL2gc l*~?1l)T|A*T#WfT*52n;ejb<|{2OQ~gQu&X%Q~loCIGHWKz#rJ diff --git a/app/open-iconic/png/comment-square-6x.png b/app/open-iconic/png/comment-square-6x.png deleted file mode 100755 index 688100b869804096ac00c524fd40d240af2efe77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I~PZ!6KjK;S&t@#c)2(Vl<5@_DBvj3#vjwWLxVT+9d^IfH{^j-0v zwMTm%XGDXssjXVV*6=SDH<+tb4@_f-X3F8*fQK=+!Mb2-`J31`jC<3zZ4ZCV`*MCq z;#N1FwW>)K`<1+Yhy@;7-Vt=qb;@U{z)N4nJ za0`PlBg3pY5IPj#Dhu3ZOn;EUADPI{^Nr&& zhmXzuf6?n&Oa)J6^agl&w-ilt)5!E}+4Rg!BiFCx(?8c2ht_l4{UNqcd%jZ1b6cnB mamppxEX&sJbt++6$G4nJ za0`PlBg3pY5JG1Mgsi&jIikW{zN_3`l gXRohR*p!tdzoeYi>#xRlWuQ(5Pgg&ebxsLQ0EYJ`od5s; diff --git a/app/open-iconic/png/compass-2x.png b/app/open-iconic/png/compass-2x.png deleted file mode 100755 index 351b83a13a2edf2508cf702fe36f2bb4f6376aa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmV-`0e}99P)FH_DpWjT57dKR59e=P)hi~M+&MG7@Ows3;?VD6GLk(&gbvGNDYHeQ15)q5VLa#L~}N9e~M zCZ|IgSQXl{k{*1|;4rb%oG&R8uF`WodDakD6W`AHk+P=B&&eLew}ai-54HGme8c&M zp7-*d!$RzS19sBF)<5Y(H@?BVvQyZfst$v+(~dosgM9BO&vT?al6I&bPF1W+M_J=1 z*2d0WD81y8Ch6cc*z#@0*MgIy%?g>rv8FPXcI&`+eod7X>4)d%QJW8%{;$w znD@>(_j~UB-gEDphQXM^BJN-s7YqLnw6Kr2_%?*62b0*uUz`lFHa5_#OTLI-HHdTj ziG^Y0PqINBY-0)6Fotuuj%Doh$$vCx<}vv*Zr51xEDp0GJu8{iEz2Ix*B~!(0SCI} z>e`ddZ02>zr?G~uqDWlHn=)z2X}5F?m!%|a1+te#Y%ciPk}_Td=k^&$qumO*?}Pst z>;}hD1^J-%Y-RZ?A+|GG5R~}Tr$E^e9jv2))#8_=f5gY|JOh71#j!pGN?Be7-@5+t zz<7xL9?61@?0q^AH2UNn7FLN->EgOvyf^VR#N&Zk#YjQEQuuOt;7WKtqI;8~Kj2GSDqVN6?)Ya;{>rDMNUleEMH zz674vG1!zYs4{p^6sd~|d;JdT*+Jw^7(A$9o(%-ew-CKk?xii+>j2@ zIBrVavYX|0@Nn3S7Ie#1*Nz9xJV#Ty&trF0SzFrB9?j{!8gfkHzVx?c2A2x|k@R8O e$2)wlBKQX_Vd!jU7!ULS0000M6f=d>!fA2dtLwS< zzPWGS7Y@w3=g0TnbI(2ZP9NbY0#|_{&S7I%1fpRGMCE$xE&@ONnm<5J`fmlZ3u^Lhf zF5l0dkq)sfwF6q_YjWm%R0v zRV{BpLD{uKT5AHG{*LjxPw8Cg_d;*Mh{sM>{RXn~bHFpYryo39u%!lP9gaHvY2r&i zz-49oIzlcW6VndIyw&fEy$x_p&1w(35rs6JD#tsYMn85to(JjEEu~mA9DV5zAvJMB z`8P4{n737LE4OU}aqeoH`>nipka6uc@u+w}$2Wf(b zj<~m7h6UvHs*Tr>I?0M6_R2fRvG;Xb%E-e}I~^d`c1Y*!M+)wPBhDw_e769To=GId zSqJ8ju2zU;6lpT|u#cKa9$ZId;~jx2JB6r6X@LokLsAe$M8 zo5(r0j+%zPM$<3^T;c!U^9pb#*8MoFzrvFEhX;pd@MX>wwoO z68Fn1U~N+5+kh|sk-R5UKx?t&PXh}f9gYDvfn&f{pb980NEOfo90zUzZ$sK#0NRTo zp9|sOF0dnp{hdG`u;}oSixWf}?v)<^*2f_3M?LV+;p-Q0AgsZ41n2xWWK7)Ob{958tTX%W&!J;6bAYZF(YZ&Ke#cjdPLy+D8A z_ZIYY`U2G2jNDKrVRfAT5TP=AV_ps*nNnTIP0G^tu#3TJUFnDhbZPHleP06bC#k2{Q}y?L2vS8NPq zkh@A7_BxEFy?L3?xQqfE!5-bX!)V-|Cu;ftyjN@-1Zn29>l3Zbh?_nmNZpS@eve`+ zhp|@;D@uKe(cY9vo4Bvo9W<3X6{SVwknKm9!$~ouJv0Kp6(1K&#Vq=P{-MvPmOe?5 zHt|&PHG`DsCAh9A=YcbZUT?~zJ#+-{xoVqGheT$Z@EzDz(Cbf;w1@5J-Rm^c+*xr+ znUqH^n{4kx(r5ra2Jq+#np}c>TnGxHIVIvCD<4FD2*|jMtVJG^W@HXHmpFCFc`a@7 z$hl>8SYxfYuh$;~8xtVjh+b_x`33BcYPcQu2aZML-ez|U;(L%yN~`mpk$<<@h1B(Wrhw_uexlipMJ8DWDHn3p@aH0e1q+ z>vI->d0-a!377&-17pBU6LicS{lH=191vt2XMy*CO-;2R1v-I!^ z6~F=DcZxGSKCS|TwD?7ofZf0)nrC=?%mTaWx-=C%z_%F`&wGpl-Gy2l!4BY$f(=SD z=7E6%?WP30vjhy)#z8!mgmq#Y@G0=3m2nKe04IS{NS62k31rvm&pUvXz-r)OU^B1< zxHqM|&w-u5jg<7apbhv6|1WVFI08JLLG}jV{W>pS`N!+JXF>`1!c*`x@EUMOR^bt} z18)KsJ$3nvj2Xgb%`X6l$k*^V+Uq)9_t5K5T46gpgiHdDrWKR|k0Di|RX^|S@F4b7 zHv&|$Sd$VRz?ViH=kcf$O4y5>VW6CcH7QXBK1|RnX^diw2fK|7hx4-|Gmc`@d8fu` z1-9CLgw}rfUZ7Uj14I|ga+pQgKpikJnWQyqJ~VnFqRU|9c?Y(w_}h&HbfRx*7iey@ zPck|>9*NCghn^y@(!dM$DTDzTa;gV3qr)-LfPP4!3y`8}5zZ?_(-c?aSdEU3!6Zh= z^88t$os1Lp8w9?d(a1Q`80~WZDE1oYH%18#E0Zsi&)3gtwC4UH+JRpc9`8m8wCH&x zrNNM&(H8fQVp!qv|4UqD5SVsL+nb}&R`(C_q=8Qtz;lsW6m$aR$qr;GyQ=*8x$zBuMFcT9P{wv61>xp2-y zU=*&ee+Jl!*OI1fl)My`rjjUdmL3@T+zi6{i9f| z@S6tsOPO?+r%-T5|7RU^&nvq4E~&c}e%Ap0RVLl$DHPn%zuiGsanM<#e-z6d`~u)c zQG5Ed(cg7qV~zga$a@KB#m`m;?KTHpnv7yv0(l3)n!<0KQ)Q$Z%Y`i-0$W-8$58^FQRbWmxDVY0Hy8viHTU0S;N4Y5vVd0azhV%W z=hvS^vPm!L-T!6f`8f3;2-1h=dQ+Aou{@5s2FYg!Spj}ixx^^a=qR-19MGV)sUp`# zF2d_bb3zo2+`pMdhv)Z21WtWl(1Cr5jLH*+5nIea@5H1D6MUjSccvB6F!W) zk;Wnmo@7(s%hD#U^|V?hL$kc-MOoz0+l z)-i*zye$${r2SOeO6TqF`)N%D+7MOb*ldd844*&_GnSO$N!W<=;pNd9cLu327oFkd zfoA;Wv4nJ za0`PlBg3pY54nJ za0`PlBg3pY5AI(|qUj(qAyP z<>TVD^7&Ctvs#XEA8wvm{{BwoXN#kvaT|{1ACWr09WV>8Y zU-q5H>P4#`$ZV8(am%G~{fY3iGuv~v2QJ|A^Q_unS2UgB%;Ieddp|@p&R$VF;hITU zg49;4*E?Ajqp@?eFMXHUd@LyHvDjwkO;*7Rj+8%9fFns diff --git a/app/open-iconic/png/contrast-3x.png b/app/open-iconic/png/contrast-3x.png deleted file mode 100755 index 5209f710b4bb7cb896a71af43f36e6ad9363a644..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 455 zcmV;&0XY7NP)DK@|=l)o?>Ud{|lEG;RAkD)LB9YL;S;S#VT=zc5d+jerFU;*9{Jj892!hBuo!&*?P9b9_%kmQK=cnmoPYS^m>qIw-$Aw_Ib>dYNk6=&uDeAc7Zp14^<2tKBpoOc5_dZUx1%vuuffl|+ zoGBiqq$9y$vI-lX?x?{f05NYB7ukj_x&2X}=_yULW#}%*Xrp{Be1wYSuU8QiL xOEZT?g-{25!4;q3;e3CBvGC46nw#1x+yPmZ@d1?4&<_9r002ovPDHLkV1ffo#TEbn diff --git a/app/open-iconic/png/contrast-4x.png b/app/open-iconic/png/contrast-4x.png deleted file mode 100755 index d80b4c2f58b78e3196047cadea564dd02144a4bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595 zcmV-Z0<8UsP)~3+_OXI`DtSwIon?vR@d3@EmVe^wXj~m@+w@280#nmE_e@~1qMuvOX86l!M zihNeN*FFk!c#&iO-iR}?T7rC>fF7RY_&kb@7L-5jMes86*%$7S|5z_cUR1zoe2n~_ z_ZAz{E}1d{;6dcq7S74g!n6crhBM=CCfw~+;4e0!XG@t-SgOL?Xub$PRr3kpLgf3S zCZykq!8*+|!*31U!uV+Bnr)T${3h20llA&jt-zLW!J~fQ`s!50_%2l_?2$n&Y#aXIK}y z*W(h<$cg+A?}SD+7fqpYoJ7EkaNs`W*nYvqF`^M#=M)ijp~&3CW5cO7NPhV!@*bK( z_gXeH@?QIqk;kYD-D}zG=$-auW4?J2%nJ=@D!_B#tD*bH zLKfHr-T&rHI^HYe1rON+T*oJ6JexvF)gu;fo-)8O3jFRd-t-KR zA1XYggm4{W%6P*=I%cjTuZ&kcq}}H_v{b+6A-zi1aX}g1^^jwl>$s$hS3rt66YUdQ z#oVI8>m&W9|4v*r@JQi(**R&$Q3FNbufn_DIWdF1u5%JRQ#k9u@$Sjnju|M0aNg;) zAlG*0f`K{Um%>*APHGFc9565gd+~kHa5E;YDk{9dRCu6`tv4h zr#ey|s5`6;WRTolCSJDkk&<|w9)(#{nCRI6j3Z6r1thN*kcQc@_Vosm2s;06^8(qN a65$^$Lbl0OsC;?=0000BdDDT4U>? zE;J^JNpuyJHZJBpO=6n4_uV`5()Wk6cz5Q`IsfzKdaiypDZY8FYbB9Mufz&7AQZMlx|Kg&jD7-=!nI zUKVjoj~&s%Vf-Q=@%1u?Lv35KVgg^*FuZA*#&}Z3t8fs1Bqr32Ea5;x-dcEN3lNRT zNePC;0Nzhz@C~>bci~Yy+t&4SjW*A;ZElSGCyB_fM07uZH}Pv1?S7;IC$yyd=gT;t zgY7tiA1k(fM$O@nW6W2<_O?xbRcQa^s-!zO*Z{ev9nisjLR45*N9EPwPWhI)ZZV9H zOX^rsAx>z?8|2hMfp<&lnO1T>IGl)R3I}xXPDx$Q#2VTme{A0b3gw2woX7_1L_(q| z9YB~9%5247x>f_D@@{FHb^zQjzCY%nkN8Rm>NdmvLb$Q%N37tBNS!@}a9!1}I2S43T?lt|{fbMG@`*yYsO(pKA1NOz zgj?Ev#ZshvXA4*S7ZCLVDX+B#vAjw7m0l9x5-5b^gnmWr_ISAvA1Bu{V)NT#AsiF+ zEAEMu&lf^YPQT*bNcrVLNJ#2eOhw9P3LzV-AJM`ikviw$HvPFB-d95RSRv%$T})_5 zukduF{2T2_5I#$6Ol}O}sYspASN|x}U9P7g@Inc_53YZy%60QrcEGTBdd^6z(Ws6leM9B`_nu2^h<5JFDZAe7Sq+mt7Nwo1d}!a2cKcEE^o-F`)w z_-?PN;6RszayVd8xe0FtSMhk4dYmk&B$oq*h0kYVOWkTYUQx#yw1jliUOQk&2yd$< zP@nFS_ZkcciO0De&=U42Zwq(*Ronegm?Rs)fOI`!5VzoNJSKb;^?`cv$mu4@chC|N zk5dkZx^h*`F<%Bx$hSmRkp(qo`>Gh1H&}|vSzWC2bO-_sm8JIKD5x*dORJEmuZ-l*gO)$7F>92+K*Z-a2HGv$ToQ`2X_6Ye% t6YXa^abvsAvM_|^aoO6>=jT%z_Yd@9QNVxZP4nJ za0`PlBg3pY54nJ za0`PlBg3pY5zV|K sBTSZw4BivdB_t&N1qiX#gJ>p(Rr}b_^!yQi12l-i)78&qol`;+01Rj+l>h($ diff --git a/app/open-iconic/png/copywriting-3x.png b/app/open-iconic/png/copywriting-3x.png deleted file mode 100755 index 1531e404ba12887cbc4e0a56b20a1c1fb60c58f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARU38E{-7{oo}xy@*Pm%VZCtth~NH{lRI=Y(h4~e(rP_pFVDJfvhe1M z8hhwDS;pMv`>{$pCulr Q0yLb#)78&qol`;+0FRe9-T(jq diff --git a/app/open-iconic/png/copywriting-4x.png b/app/open-iconic/png/copywriting-4x.png deleted file mode 100755 index 000002fd153de6291ad218b196f421365dd2513d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wxr;B4qMC;pYhFmQM0<0IN+ctj}y7~M2YB?wFwU=1KmjC2u3T819 zc&5(V?lk|@;mZyzCjZYjnr+%y!*$8Q<%n?p!3m#Ke3%7eEI&MXRl70y@FzEcuk)|S pUXINdO|JOz^>+A%groeQIa4;;?D%nh(@~(E44$rjF6*2UngB#gMN$9& diff --git a/app/open-iconic/png/copywriting-6x.png b/app/open-iconic/png/copywriting-6x.png deleted file mode 100755 index 1c22287a6053ad13ec71eb427f8c43c34ee4ce8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IqPZ!6KjK;S&9l4qf1l%4@&wI0My1v+*+rPI~HST!nr4*sn<9wg} zCXdjkb`Lil2i1+=ORzTGsL9?h3|5 zk`9wX{LQw-G&0U;4nJ za0`PlBg3pY5@q_sCWi>9eux^J)~G}&kuD+ZVz^k%?%|DCP2mn z70*d3p1-!K)`-st{iy9EHi2(K8skfbOdvzSbJCP6`Zd3gh-Eas+xNC{*A%902cDkX z@j1fj7t1rf1#=~C|2aJA#_sq`>x92q@h|nAYdKkE)W69p)bpOVWxv8BeDCoN;SHJ# m8#cDE?J&9{SoZkjeTJPDLf2+4nJ za0`PlBg3pY54nJ za0`PlBg3pY5{F$pi# wlZat6a5B`h%Z+iE8u7!Y@n8Rx2tQc{hEpYMFSKU&gREunboFyt=akR{001#6(EtDd diff --git a/app/open-iconic/png/credit-card-3x.png b/app/open-iconic/png/credit-card-3x.png deleted file mode 100755 index 80bd106cc9532821b2fa57d1226ed1f4ae5410fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARVrrE{-7{oyiFjtS$}iJUl%AGh5^hoFq+{eYTj?hzPK@)v5GH8GI1i zu;8QQ#2f!R1=Km(>I8WEd%jI*dv<^M!kdR#85nA!lB$d6aw`3T6}wM{n6_GAv;EvAKXD4Jjr#&Y0g4ov)a^D?XN`p Q0u5*IboFyt=akR{0Eb^Ood5s; diff --git a/app/open-iconic/png/credit-card-6x.png b/app/open-iconic/png/credit-card-6x.png deleted file mode 100755 index da37a33dcd558b546941f5454125f7a669a6ce53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w$r;B4qM&sM-hFr}KB5V&Mw|=vjXLPbNzN0mhm*wdEqdy%4wpMJ8 zUZLQb>A#@CKi!?N|C_C(fBdxUkmS`buT7A9puw#2@?MSba>)s44zn0D*_KF7F#EgX zdfB@7wbp-s|IyrapON_zkH_bJowE&F7%P^yTP$!(U=#awyO$~MrJ~B+yIg|bEFUm@ S=lchA4}+(xpUXO@geCwX=uemc diff --git a/app/open-iconic/png/credit-card-8x.png b/app/open-iconic/png/credit-card-8x.png deleted file mode 100755 index 0e9ed2f0c8e995f87bbc9d1fdb1999225615893b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5B#}E|yKmX0SeRjiJn8l1k^&<&I!> z!&=5S4AIOt7`L%)V9w!9V80=CfNz6ogKWa>`hs&CKK#D)yJhS3`m4|0Hy|tc8Vgkg zGSZBx+}g?HZG&_H6JODp^}YwL_IXTFnWw%b(Q}vS+7E_6FEDtz`njxgN@xNA=iFso diff --git a/app/open-iconic/png/credit-card.png b/app/open-iconic/png/credit-card.png deleted file mode 100755 index 989dee9ad8f3b3611b790b51a5fc4c2f5d5b5f93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5S)Q l>lmi)W00S`O0Clvqy diff --git a/app/open-iconic/png/crop-2x.png b/app/open-iconic/png/crop-2x.png deleted file mode 100755 index a1cc81314cafaba81a931e24d6b2d49ec1b15964..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARUuDT^vI^Ij=#>SuZ9fAox{gr&Ghm zb9ohA3{R}uxj7tG_Q>eIc(`;Od&ZTF58GLI=gAbV(JGX_Wv_5&X7{@+7TcO>J6Mh9 zD6#q%e0*HiZc)*Zz*^2-RxsUx$((yh!DI(!b50WwmCjlm%#~l`Zt|g+@%DD!tH*Ee d_}~A6X@2-}rKuZ_tpK`?!PC{xWt~$(69D1TQM~{F diff --git a/app/open-iconic/png/crop-4x.png b/app/open-iconic/png/crop-4x.png deleted file mode 100755 index f92f884cb87c1011d92ca84985bb00b6a673bfe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IQPZ!6Kh}O5$FLE^~@VJ`(djF@m+Nj8P?q|R14^1r!*6k6S_WV|x zv^V`+kJ^&wnE^3O`!79<;M7;0)Y`KDb(>JZv8o5!EJi!ZZ(P^${1$pP&nZyAS7L_M zqpHPBraN{rv=$qsG0DV)`YQ)C`3tT%c$PJ)AefQ!j*kPEx!{Y&!>m;g0~mQ_)E2Zl zv$#DFXcV*vabV8pDlp#v~{?6dLE70W(p00i_ I>zopr007WkumAu6 diff --git a/app/open-iconic/png/crop-6x.png b/app/open-iconic/png/crop-6x.png deleted file mode 100755 index bd1235babe052ec3441024af8810d3cace7fac9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6T~8Oskc`H+GcWQr8HhL^l>h$6a^H`JU2!+wq((alCvAHBZOg?3 zrq_$Mc78RTvD2xh)+_hXE6p-X3oDx_My|+;5}pv{X{nXh_CJy^eJI*n2=o{_SQ*Plu8PhFzs5xcbQ4T|Yqw7g6GgN10 z8#oDHJpuIy(`G}qG#`DEMzU{2!`H!P| zIIhWh=}(ZfdvvSE=&*at?7*}i9nm3Q_N`v|_3EsDC-1~A*#3@b@73RHt36-6E8qV> hBB;Fa-mHBGxZ9saHt57&`UDJ322WQ%mvv4FO#rr*q6Po} diff --git a/app/open-iconic/png/crop-8x.png b/app/open-iconic/png/crop-8x.png deleted file mode 100755 index 5ac5fe46af2310473f86abe8749804e538a75653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 501 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC(>+}rLn`LHoqaItuz`Tf^}iqY+577^I$f?X^H{wxg?EOG%Go`# zP6Y?-oL(zl>u)(8dSw3jDRPfyxgOCso-Y%#km1qP*>4`+dR>6V1Tcmdfprvij>vZigpEUFQQClqOHC zSq$VD&dN_=?9h>^S4nJ za0`PlBg3pY5G~IurFS8U`l&Q wo4jFA!qbJSD`N#xf1aMSr?KR#KHCPy$G-$-$oxxS0UE^M>FVdQ&MBb@0KWb$9RL6T diff --git a/app/open-iconic/png/dashboard-2x.png b/app/open-iconic/png/dashboard-2x.png deleted file mode 100755 index 7525e1803a383e0de67af013b00aee94cf569419..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcmV;P0b%}$P)^ zIKmM3$ss;qbq4++7I2ISn*Zbk19WGRKLvD)_jnax7wg!;T`(u%Jj8J}eq!Yrmpxnt zJ1A$Kq;pL^!|4o>Q8@iMY@-v!3%p1zpm8PeLwledyrVtgCNp|5SF0W4Mfo*s!IsW5U(IYtP2oBQo4u|TJ<4qYT;CiFs8A^`@VGMnfIBQ z0|$n4{^$RH&UrrG8PMIvF^B88jFV;jJKkd(FY&ntPlt_R9e;7y!<$&cXusrh_|*q- z>OV2ti~N34)WQblF@Zr0VG;}2tij*yw(;!hS zkE?A@){~Xjkzc|dzTiSeBzE$mN{st|T3YgBc^rx#W-!wM(^O2xqY&Ik3XX-}7x4)n zaXupeuLIu$*b0I909-FSdfJ8T84j=%VvB)q6TXJPLh|DI z2n+_`Qi$h7mP+y`AvPRp4pM=kgkUuhY2XJ|YOq;>IHJj#f>fmPm5jiYWJGb37cxbS z8iD-`_IAK*9#K5GmCe_dFp!DYS>)J;vx-Ymsa~roTG83Tat&@KS8?s5 z4V5DMr7!E;en0HR-W3Z;ysV2E9XtchIY)H-sgJ^w-kR{ nuHaM||EBmbZR3^l#@5+C3nK5fQrq=f00000NkvXXu0mjfd6yFU diff --git a/app/open-iconic/png/dashboard-4x.png b/app/open-iconic/png/dashboard-4x.png deleted file mode 100755 index f46a6210d59138c235a58b4a245f4ba7bd5a9b32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 787 zcmV+u1MK{XP)oDtXmtX0>!N4Wn?;gCD!ddFdRyL4fx^!+6Cr-ao{4*7q`LqTNUww zt@aQY3mJLcQv3m!2J!&|$OE&$zC*;YtFRyYv@Zc?1Bi7D0LvDu6f$DHxl`cl-zT`f#R6&c9t*?nVA$o zIBnK?K>j1e5g|S?I(9MLeg-J0Z}(#2I&e2YKpt~v%z!!lbE@zOvSwd_$pE4Uz%h1j zXrs>qY^jgqN_BF1TF8aui(}m0xTUx@bwLL?;kuFIwAn&L93^tKH-;2e1I+E$r-~+H z(ohjoF|f@WMTOH25kO346VX7f-gThj5R@uFFTtRr*d`*`z6Xe~E`iU4Sw*}_5ip_h zH}l8^l#Cl5fDPpN=tlY zCsi$@df@>LjaL@jr?$i*@_NZNUkj9f<%dA;i0k)^c| z!#USHBu0>zOO$~)LiV|_)pX=C2pIrw^Y8C@8MqMl{XkyQ-M{B=f!`sZe*v)WvHotX R#oqt`002ovPDHLkV1nK$T*d$Z diff --git a/app/open-iconic/png/dashboard-6x.png b/app/open-iconic/png/dashboard-6x.png deleted file mode 100755 index 84fb473906f7ebd7ea3f7bd01067b4424ca16c4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1157 zcmV;01bX|4P)RA_;{n%i$oQ5431ZN>BjZB>Ov z5Q@IIv=OCVBogA4xFaFKe%}&s2~O8h~{`8_*0a1ZsgP(ep3B5bz3k0rUZPfsZNq z4?-<)7(pbMGFvSAW%B660N@VI4xqd-;K;^za8 z%P2fs`PkR|S7dh5#y()w z;&%|3n?y1Rd$xIptnYH61$b}q-$z1;50Na!X0}A0R;C|HRJF@vJ1BCfxsyB+pEdb|~hg#OSWoUaj zAPApKbxF~9Ruhy*s>(R3(F;7^Abc{_F2(0f&`Vp>!BvGEYTBOh3Bo5+wJ81u06r@Z z>lCt6mH>Q$@X1v5im#6#rK;)SWQD9U5?N{xKA9?``1uhMfNKy>kP>(d=m(Bj1SY{6 zfbSCW2_kOKfyRIUtV>AS#LFFsLxOmQeRfS~Rk&VOBG-K;G&>OIfW7#Y97~bgI3H+Q zUR5G@l_sopBrgQf?;*(dC0*0<0$?lV>Ct9J!=S=rvQba&w+hc@kYY|dUE4gIjFl;X zc7-EHQKIQn8eR2p)bA0%V-Mcz3de)uMu(I}6Ua-p3yygNpuU*Lumt#}a2zadScCpT z-{a^kgXH-n@lSD2qjwaJEHEwJxXa>nucO08B+uK#&vxYMu<)ETb!fm`A?AT^zzRpl z8RU-t39?y7ku~3m`^c|EUY1N+hLDrlh@(oUJaXCOx*tlxV&H>C#}QlSD&*sWEr^yf z2?rT@oA_QFO7(fjG}&_a{?w(*n%9<19w|EKxRPxo`Fi~}uqXxLOVG1T!F~ekeTjFI z{DETvxwlypAiNzpq_jL=upF>6fd5Yr+6zzI-XOOJyO4cSxHrl~zgr`|ZuHv5H1fgX z3)p~Pp_Z0?B4F8Qn2TO7mBV`R*s!jsLJlMCuuH>+kUSr9)8~vC$o+hpU+l9;d7z%K zfK-+L6lSid2$ughrXzp1S&iiNCgh{Z)adyLk_d|bZgUSgoJzuP XEq=yuc35W#00000NkvXXu0mjf6i*e+ diff --git a/app/open-iconic/png/dashboard-8x.png b/app/open-iconic/png/dashboard-8x.png deleted file mode 100755 index 6b088ae0edcc862ceda6208db02d204f940cb359..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1611 zcmV-R2DJH!P)HMHI(ByEGKrZV^MQ z5lF3;AgKi_B2-_LKfuJQBqnGA5ig0##YYk`g-B|Ypv4-WG~N;`iWqrnDEdNp^FiA} z)nL+ET2LrZOpBDC4`(;smfy~tnfdLu-{idP%(?#Na%SdiisEAl@G#H>tOV`?YJgjT z@@$_8U=$bz{sj7fpMev=Pzh{I9L>Of;4}~g(kb8_U|mT)@IW=NlVqGW1!FsqDUnYq zECgDCOBB!XnRF4@%`68Z1#AV*Q98$G(lD?kYfDK{2mBOZc+%7j)E3p_JZuCm7ug{n z8Uz@46PzHR9`h*#Xv=2=?hr0>egfD_vX0M0Mb@Tk4tDMJRkqPVNiT4puObhuLb5`wea^eX-RQTv zPM|Wx8&6aL-zaSy#UW2fp-*z!fpikycp?pa7-Lr)b)#Glwkid-C+9~nI?&m?*(PWq zy4=2#urJ>T90jgs=?9=8KwcW%bQs2RfNE6;=_PE=Hv(5;uaa zJ3;trf7BrV`#{;Nv2T$VDKH9lS{Ne&_S8IFHOL<`@M+Ozke{P%ag6;IrU8;ka!diZ zl7Re5;4g!Y+%%qsW(z|EyqbV3m=rx_i0?WWgIlhW!zeb3TW5%s%zxIxewvjIbYRHz8;K z2$)1x`r5=?@yiwhb2E6PEUsY2>ZWgwuw$2_*9} zA&DRqLS$+0x3t%R%yH8&xyK?zdnWgt4k39%y}~B`wRF18qGVZCP_cp#k~b{2*fR#Q zZJ9dFR~T7O@q^%#H);iyX z{t%XrCg4Ad>!iN$V(ai>fI3|N4S1k-ewM83R_^BLebh5frsLaMPR4-s+;d53lop?-X_qq4;=P6oMk;{61Ik5jvY~xd9+4WVcda2eVruGY`G< zT`q!ak-{R4;6wPW38BcK8}_+{Z>g(-7Nzjq!niub8%H#uTks-e(S6)k(H^Ce2-zar zC~nDI6|&FUwz_Yk)_9`;j;Oy6kU@n0f#mN2bsSaE9rBpC6%!_#c+e3!Nw1$1(r_002ov JPDHLkV1i{{(A)q3 diff --git a/app/open-iconic/png/dashboard.png b/app/open-iconic/png/dashboard.png deleted file mode 100755 index 4aae0fc54252b92f145d03c414967b974c4c8834..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5(h2DIL@6eQvacoEp&_T`i{*9IkMLz4nJ za0`PlBg3pY5lmju zzGzE0Y+)*#%;9+U2ajTuv6-{SwVoV~o3marOGs`wZh5ic(G(7bN<+nOMhcdkK!X`P MUHx3vIVCg!09yesq5uE@ diff --git a/app/open-iconic/png/data-transfer-download-3x.png b/app/open-iconic/png/data-transfer-download-3x.png deleted file mode 100755 index f2557ab34d4bb6e017b0a432c9348c082efe7de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARY0ZE{-7{oo}aXsegNoD5QftpP{THjp~cB*dDz27HaQo`f>P?Va-x@O1TaS?83{ F1OV{EM`Qp1 diff --git a/app/open-iconic/png/data-transfer-download-6x.png b/app/open-iconic/png/data-transfer-download-6x.png deleted file mode 100755 index 97577972eea82b3cedeaf29f5cfad833fe1b9b24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IgPZ!6KjK;S&Hu5zah&Tr>kAG*soVhAnQL(e|sq)5!1$z}758Jpu z|C@Wv+1{8h@D#&Vo`BP+#Bb9Ei~XD4#qF&+_w2w=XXUV%!yoe{K3c?CCPnQ@I`ZYm zT;*v;-%D(?se9Uy`>~b3dFjVi@x=9g`YnYuian3H6J_E#9{+HXI4*w3VxPdVkF5rM s{T(~573^D{`}ga7OK!;pY4#7e&%0PkdVbPW1v;9+)78&qol`;+0M<-mdH?_b diff --git a/app/open-iconic/png/data-transfer-download-8x.png b/app/open-iconic/png/data-transfer-download-8x.png deleted file mode 100755 index dc2b2fc8932bbc343b2309a3d826da9dc388806a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5Iw+|*KX0AN-*Ua)mTh^qB9qsSF zSAP2Sc#_EdA3Huj^WVVuf?*4<1N(wp1}lbK<_nA&(hYnLw;4(pZm}(3zF@{6+prB; z$y;;gi1qou>uuBLR&LX;*tg`fvcU6ApZsMWe){y#T%&y||6$gPpB~Qc-c$PX!^s2v zdh-7iZ|v8T4=en+q3d*eXpG&ON1qZ!r}MAgQ4?|W>0vE=QufBi#%r9{n{SNz?c9Ro ds#okkn5v`=+?aN4$^?3w!PC{xWt~$(697Apg<}8! diff --git a/app/open-iconic/png/data-transfer-download.png b/app/open-iconic/png/data-transfer-download.png deleted file mode 100755 index 9b41e804931768833083bd69ad595dfefc6daebc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5r$I}g;y;OXk;vd$@?2>=f)9~%Gw diff --git a/app/open-iconic/png/data-transfer-upload-2x.png b/app/open-iconic/png/data-transfer-upload-2x.png deleted file mode 100755 index 71d50ae27d93bbebdc6c18082fb8ec77b3353f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARQ5&E{-7{oo}z~=3-Fba0q;R`gd`(l+>CUw#KI9?-!Jq7#tsMIrBq! zfm+S4J6kNy^15HEusC$|@Pyzyy&jL!T!h1wr|ppVcqEdgb^oooUta(If4-EF^+!6x YwK+lOWX#qi1MOh&boFyt=akR{0H3!$P5=M^ diff --git a/app/open-iconic/png/data-transfer-upload-4x.png b/app/open-iconic/png/data-transfer-upload-4x.png deleted file mode 100755 index 09bc01fdf1b9002cd3327afba85fe98ca44a80d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w>r;B4qMC;pYhI|JUc$_aDI9dI9gMqh#gTcHryg1PTP5`_S1$W#awObFrcj9AIpR^l5nq|M4@d5Dxcrf7?3pbn_%YnY qI#l=a{OZfIpV})iaVRt}FtPpoIdPUwzeGCFRt8U3KbLh*2~7Z~g+XWl diff --git a/app/open-iconic/png/data-transfer-upload-6x.png b/app/open-iconic/png/data-transfer-upload-6x.png deleted file mode 100755 index 854eaf9cb9f5a5628ecd3e7b0ff321aa7320cae9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IIPZ!6KjK;S&4sx{^2sA%@G5Pt~*N%z&yS=ZL&5}I9znAlDxpp3d z6xa6E>^*4>R?KsX&$%9ZJ*CG&zKfSt@JM=%CCf+KeLPJ+?CoruUiABSE4=IXZ&#St z@87I&uYbDo4asRz2M-<$ayjxNwd2IchaIAi4-04?_jlJg=I^X=oL||f=e^Rl?Yrc+ zw%_;Px%4nJ za0`PlBg3pY5cs^pBnD#<+gN)m&~H>^?nJin#wNRViZs)8+jM zxu^Z558l$Zk7aqipVX9zXOIZQ@Y@{DsAzk`Vg+kx%C0ATQR L^>bP0l+XkK*S>-j diff --git a/app/open-iconic/png/data-transfer-upload.png b/app/open-iconic/png/data-transfer-upload.png deleted file mode 100755 index 9896b474bdfd47beb9a08b3206e4b38a120f5016..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5PZ!4!iK)pc2?;;WJNRB;IBKE#-`TKDDaCV6m&62>hYg(*7ISDZ ZFnG`5{%d4nJ za0`PlBg3pY5m1)9K*wA1kKQP_${Y5 NJYD@<);T3K0RR{WM?C-l diff --git a/app/open-iconic/png/delete-3x.png b/app/open-iconic/png/delete-3x.png deleted file mode 100755 index 37cf31d611acd92e2fd649b75c3f24887c0dfe32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARPxhT^vI^I^RwSvW{cCDvZo08$70(zuTp^-ph=m0k8s@Zdi0cb7gW zxJKVHk!}^8prpO(o?(E%&kGLjqCf2GwVR}p<|%l)iZ*Odv|B6ba@ObU{%q}4&Wy{u Z>ijeLOG5H9{DFR9@O1TaS?83{1OV5KV&4D& diff --git a/app/open-iconic/png/delete-4x.png b/app/open-iconic/png/delete-4x.png deleted file mode 100755 index 15bf05b4fedc285a8ac9968547a0265da57de685..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I>PZ!6Kh}O5$0{IRp2(TW%cW`l~+0x>(o zKa}@y?#^jwZnhCWP+zHP$-I6R(|OrLlbJ4Ejb}{fD0EmYI$_;EwmF9`dF(j(uiZ_d z{Ok9E3k@m{#lDqWGQNEEn7LTUyIOjIKWE17IOT=B^Eo4S*{LUT%ClbMnKPwD^^Wt+ z1Cf(9v{Y-zTWE6n?#MU#wmWby%Z6BCv&2XhH?R2*1+GY|x_Pk$$|Ovju`x|#Io~y} znhDyjIto|Krv-3&EX`w#sF$PK>|$UU$a36Jm# z0k2s{E8!7-A>cXdXe2zszXVFmI#vlL`~;L8lUWHi`~;LAleH3-@Y9ZXI@QvA3jvKU zVxj466nO7Jc9|~^i3RT%B_!DBB(b98Fc${$kXTV_oQ?&_mDt4lg(meBb0ng8y;5oy zV@iS+U|MOw-zN}j_>=_QLIT@L=Zx?%33?HSFuT$?OIX8)5~gi5gx!^7kGF!@h@ r3oo1O{rmmE53G$00000NkvXXu0mjfG{mno diff --git a/app/open-iconic/png/delete-8x.png b/app/open-iconic/png/delete-8x.png deleted file mode 100755 index 7005bd3627ab222130cef024515e451c34d84948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 605 zcmV-j0;2tiP))l z=ik|KE4cQVnTMA!`_d0BX9_H$^aD9lz)N4yUV%c`M^h_+ea~w;vje^bgL?z+fsK)b z;@tNJI9LdHQ3xNa!}FQHH0*#e|@eJcr?;Tr`=?)p{|w8JL_Xs`7(Bv^#6 z6`)c2+7hh7*9y=oeJu%=;jaV?vCZu(!7}`X0ISlMO0W!nA;7ZqEhR|8{|gxFghwht z8oq>KOJ7rhM)(qjFMSOOTH#B{sqkW0{S<(e-vk4zehh*ygn;QSg}3L{^}nK}a9}E% zp%CbVt%NJ4upN$rSW2j6%ma~B04oVe#yApd8@PppBtsvHb{(*`ghqxs7VkT6H6^qn zc`>5#;zBAxEI=|9_B2b7uHxDxh^Ih6G8GQgOVHZPq$G%Mf-#b(LM%aTKcA4G@)(Sf zJ{5ul?eMV#m4#3W=>q9!6uv4!ycBL@3P)&aZS|kY-DO65qMA> r%P6e=W9i%qfQ3y3$8j9Tan{E#Or#}QtF4nJ za0`PlBg3pY54nJ za0`PlBg3pY5awWNIUC$)r9i0nKKQL7B zwsmwdEHr+cq~+=SXo2*`2afySt$OvY>W{n3V>acQWo|o;1bvy|bp0nBe`;t6^e2O-tDnm{ Hr-UW|^k;hn diff --git a/app/open-iconic/png/dial-3x.png b/app/open-iconic/png/dial-3x.png deleted file mode 100755 index ba85cb29bdbb3432e097308f5080a4d5f826099f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmV;y0Y3hTP)K)Xz>6Q4|L79|WvKwyu;~ zbm^K9w!VXb1mYtQj3MEDfZz)dkN_{xRh6eS7BiJIw{_a7TfXEZlkfcb z&N=ta_*_-Ejy?Rr%@FHi7f(kmzJgyP6i)3YUJon& zHc7h1K2|Z0X*|Gltl?ll{CZjEG58D%BTT%A^F*X?lDgtrj`3)O;yujbRB>H}GucZz zkHsJ2UDDMuHc(4M;w0NWN5kE1xmH}uvyk*X?`jS|a;}9ZA$}lqIlN<)$CL9G~H3V)Zh01Ir}0elU_dYALoB@6TUmb8#h^!bY4NA{VzwEz)l5$-3qaPG3c5OvQLWFv=ZvFKfA2> r+_=SisL5X0CN6So>VGQkF&=IKLISSY!M$D%00000NkvXXu0mjfCpfy0 diff --git a/app/open-iconic/png/dial-4x.png b/app/open-iconic/png/dial-4x.png deleted file mode 100755 index b6c41b4bc866baba4f4dfba298d1d102cdc81d24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 579 zcmV-J0=)f+P)b+k2YpU z5w4?&-z9{jb+Ck5S@Bs(JBJmHwuzad;#cuyK%#9d;x?u+k=liHZAmfSKk&sMQE!1p5LsLK8s^JLq<7y@tj z*Y+~jmAo1Kh=bm$=8)FI_kwbdRu2_C3~OuQy8+)rRnvj=LHXVHY%Aot82sPJ{(ci7 zs53$V2O(E2_&cX_1S3uz;V*-ZaGXW%_T3Q#ca9w_iNho|N{DZyF=NG~WLN*Y6}u^C?Be}s;F;u-IY@0w@(Paa%ujH9@E76#EeN*n R>q!6r002ovPDHLkV1n;g1>^t# diff --git a/app/open-iconic/png/dial-6x.png b/app/open-iconic/png/dial-6x.png deleted file mode 100755 index f395f5786e21151a8770536f5a1a29180bbcd8e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 860 zcmV-i1Ec(jP)lqvxo;prf&>ZH5)Gc>v;sXqH?RZP4m1NBOV7Uo zpMlrFD_|P956pYY?}TPx2zUY%9jt(w$T?tBJ%zUcqo`GN5guhZ;411(#)d}VVkwy~ z;bHp%TmaVj7M}v1#V9;%Pk~Nf;`@NbI*Kpb0&uui@uz?l%Y-w)HDCbP1+)N7C2Ik8 z1IK{tz#Ge$E5Kka;tLiD#(;ee@w;Flps!DSMCm{)!hNIM7*BLmzq3OJ~F-UGB-#Mz5nPK&_SDAK4vC}OVpPT&@>3M>)*rn10y)UGoQY%|0>qtSCE z?A(mp+e{h~4WiyqCFcPURQLqI#})Kj<%qy5qWY#XE@}LR zHSx2^=fv4cN2w(q(*z&Xh$^CLI16;4N=N5ApviMX;5;fjv}yuNCv1v;%SPJvrY-z( z$Up7_0;d3M233bq4l|lnxosh;TDz&q_g3H>4NyHv6z&P*Y2b(^nJfB{Pg+UK{s47{ zjlx4={5byZ(v=91e+!b9t^oOTeJPChR->v)NUG|ZWIVQ6p3#FMPdA>lrxALG~lBH#};$d5?m(m z+<{|@7u6D6CNSl|`5$8cK^pUA-^Et(_$|nUI9iE`dWi?s%q@8opU2|D?i(jP2rrxS z$E#X#*;1g+M(VCQgcI1^4Wi0s%~n2)c2qyVirsEAfv1}H-4b-5`ubjACx8F2m_r>> mQ>d>O?>y&CkRU;VHNtP$iCzSdwzU=j0000^@RCt{2+E0j8RUE+a&wC9`GmegK zn!rU`V`Ye%{k2`SDq0B{wKH&6ST0%=7?@C5i7}9iBBCNts%1;9jR_KF*_4J6SUNR< zGnM8z*|fNC;>~O3o^#*3@6N047tZQ;e*ezB=Xd_xOG!ydNl8h`|CLGsK9=H6+=P`_ zh5;-_cdgF^#xR2K@D+~WAWjz$WA3cSE*!^Hi|uQ?gxd?vpa~XXt9+798;r-Xu%Mix z=*M=9YhU7x?JS-#&jV4xX8feM#2ecP9#Kp!o56B?+(O`axBa-ftr^#`5x=xKp=R0` zHncHs6+G7giH6#Q55*d8;0zAnkYtrODJf*X)#QCxfo|{3a9K*bSn&U0l8c>`Pzori2^Eqr>z>Tx$ ztdb1yY&xHcui`I6U9}|BbWV$V`xfAbfUV(1rS$=Y zDLfY8{95t*_NVLgwngfk5my(Uh_H2Qy~3_Q=TYIOe+9mXOk}#AtQI$K>)U6-HK7+j z2kh*uR|r+l-2sOrH@C4#Ot&MogtF>A9}&+`z{Z!;9hXKp3>|5&!(VDi)LwLnZ2{1~vYp(^=elg5F7d@&vj^l1kVOZF~vF@=u;Hr7@p zpR3Y16p-I9DS$=Oi+clo4hG~atHR65@qqlEfV`dD9gv?0$d^~u3PB1d1M<)mY9}Gz z-vs0XRmmJq<7_~_EFfU&G`H~7QNk7_lOO~Cv_|rUmnyN90%TwgtlC#HLT{0+cVKt3T5TOQY0zvf`0S;kv6kjDUgn}dyc^PR^49L>STy!p;!0QTo#L diff --git a/app/open-iconic/png/dial.png b/app/open-iconic/png/dial.png deleted file mode 100755 index b4d7f742673981b052dfaf611552e3e3b37696df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5>Ydx$eVW105I@J;gr%OjgR%Pc3FO;U=o zpRF7B^3eS=n~XQ#nZw5ICo?1P`DtF}Qwcn4^&WkaKE%$d7Lw7L+bOGgbP0l+XkK6}~`l diff --git a/app/open-iconic/png/document-2x.png b/app/open-iconic/png/document-2x.png deleted file mode 100755 index 0ae9f7646a377a978e1660bd334f50e7452ca078..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5if4~*{T{l0NG?sr&J;a}P Zfl;E%`~`1oa2e1R22WQ%mvv4FO#qM-IA{O> diff --git a/app/open-iconic/png/document-3x.png b/app/open-iconic/png/document-3x.png deleted file mode 100755 index 21bd01e45dacdc822094437afbd4d8537dfc72f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARUFCE{-7{oo_E6uKr+rAR;iHHTdrB x7zRnLRfp|@x@XpiuH?^(&fM4aZ-2%qW{vtX)BRmL#DJDFc)I$ztaD0e0sveXL<;}_ diff --git a/app/open-iconic/png/document-4x.png b/app/open-iconic/png/document-4x.png deleted file mode 100755 index 626e2f30af4623419c39029d8627132f51a87102..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}x7r;B4qMC;ot8~F|>aIggA{CfDecz3CRh^{<(S6oaR$pUXO@geCxV@<`DD diff --git a/app/open-iconic/png/document-6x.png b/app/open-iconic/png/document-6x.png deleted file mode 100755 index f687028984417b052a23c60bcdd2a519288f6499..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H(PZ!6KjK;Uu1GyR$1X>>IT2+{D=f3jn)tb$R{#=+mp^n3Q=1kKI zpRc}M<9LeA#M^BR!xE)1#!CX)jG7%+87!I@84nJ za0`PlBg3pY5)2HC?4B-;Ar*7p-U#GtHsE2o81VJMUdz3V5;EyI>F%%O*KYIoaOp8T zCi!RQ>+~IJCQ=V%44l{)L=?Fh+9q%^IG$kJAfu>!AgE;x!)XB{W*x^9d;)y|j0z$P zxf~>%R2u|ZvKTH4YBBk^uHZ7@Rs6+Yv0uI~K=wfI1;zud7g!&dI;l5=bKGT+Q!Zht zXt^MIprt^|Hub$$Q< diff --git a/app/open-iconic/png/document.png b/app/open-iconic/png/document.png deleted file mode 100755 index 9eea0c69724df79b1eb7dab94a1054298f3c15ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5rB!QkoY=d#Wzp$Pza$|*kp diff --git a/app/open-iconic/png/dollar-2x.png b/app/open-iconic/png/dollar-2x.png deleted file mode 100755 index e858f373802c6e0072886363835d506229e40370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5YTPBMLs-(nr%Q{Y<8OR@#HlzCao%xo|QlkHi>n`jQDd3)G=q$O({4IC0%t4*P zk5{HyHW@{zKdPQE!!w61^~sw@28n{3d_ML~&(@o}s9*lM?fMUmg1fFyDEZjNd5w1y zZ(RP`Rqck)8lM=8R;-u1lD}*d*X?DGe{kvES;&zsyf);S(wh2La`K1wc?p~eb}=}z zeFxL`tfh8OIr=hIUyVoAHYs5#L`!=*T%}iMqeoy5K%y7D-bV)(sN^clP_$7YoW_d!l9jv0kMdsjY5jtf~{3Zi&P;fSR|m>Nvbr0SO{VfMe=1>G^-Z7tFyx{ zduGl#ONu=3!Wm|s_x*F`lXU$F;xxnGqw%r{&H?HKSi&}r^v-*zM%4EU@3DsIGGLFQ z#5wT+S8|FkRZzSe&vF2^D+KtS0}#*o%>?gUOPOjt96_HN-656o3fhGoIpJRS;uX#&hf? z!n{=SF6akyU3-0OV7~ywYc+2325#XYUg5_8i2HQ`#G1q%e2f6LQWIT5Gl*}A{>2Dj zFBRZ&l;F6e|7e(@?z>>I k290l~77cYK--IL8U-!20+vGKc>;M1&07*qoM6N<$f;$@2MF0Q* diff --git a/app/open-iconic/png/dollar-6x.png b/app/open-iconic/png/dollar-6x.png deleted file mode 100755 index a21983ecae4657d1c048edb7ed392165558e5c37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 702 zcmV;v0zv(WP)5;GmR|6op9qVqs{qP@lT5_SDWtK)DL_N2@&!BOnRdP!2h)?>*H zEAd5p1!xAhaT+`IP@bHUt)hOwI8I9}(ReIbW!QCI+z!XK)waWHWKNXyG9iOKQY9 zNil3Uciv#A1ik-cDfZ(co@i}iv?Prku}`=_j>lSLSdyI0<5i^iW6}-0h!o%Qzycp5 z#a|JK|Gv{eW%VpS0`nc~>6xZ0D`go7wecOdE_@~&E zhxkTzFUtKn;gbyLaWz9#ud*KVAd k3~RJazm+JPzJap&4MkZ1yG;Hb!vFvP07*qoM6N<$f-yrt8~^|S diff --git a/app/open-iconic/png/dollar-8x.png b/app/open-iconic/png/dollar-8x.png deleted file mode 100755 index 6a0470f5959c1dbf6131b17be44b8a7d4f815c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 910 zcmV;919AL`P)I;;G{{Ag3zQv4Xh>+4rJ8f*Vqk zHOvgI;%M$fdz8Q1!{YPQ;_7UJyHk^7WNRBq&Z@o(hjCMeylb#4lKamLd9S1DkkiM; zjJc;Gxswg3bF%7JtmU5QOyQ55`NzFLX#u4f8&Kn#st=k;+}x0sBGfV9=g9j0CWLgE zPgQS4J>5PmRZ^!Hm=%T*!_hV)2iZk%8(HoX4 z!ejJ2?pE(z*Ew#*1HSGuYNzH6!w*cyp8*Kj3X) zjuO~?hlr`0m+OFC@mnujgj@m)C8#pti~OwB8IR5FGsGKPfZg0 zW;Hh6UXL$@Hu!3)m;tXn9l7SShI0;NLEaueC3a=3`(NHER9q~+*3xI#4tb`*%i`|; z!@*2Nj2f@zE%$m>;LQevHxaKZI3a!v=OO}g#XKI(Ut*k9cmnSU-B`+4D;5j*7<+{? zN8>c{R+<#{>_K08Zc;rn_zBww{Jk%nD=sIii_pYR+l=l}o!07*qoM6N<$f;i%%F8}}l diff --git a/app/open-iconic/png/dollar.png b/app/open-iconic/png/dollar.png deleted file mode 100755 index 410c95e59e3615ad03fa7b16990dc6535de8827c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY53Yjm`4+HkS^Rs}P+u8vKwx`5;C*a&f1 z4$hMwW`4N#)Lr=9l4*Ae7V;F&ob;&ZaG#|1s|*dN^%oW$ZeXtU@;q#6@%gdbA=lpc d`A<|nFz6i>y8Vt#BOGWEgQu&X%Q~loCIDUfJ8}R3 diff --git a/app/open-iconic/png/double-quote-sans-left-2x.png b/app/open-iconic/png/double-quote-sans-left-2x.png deleted file mode 100755 index a9ddde0a7e79e412600c3ad594001bd47b189dee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARWP;E{-7{oo^=_3NZ)>FdsgB_q67gGp_55Z%WR+o57&Aka5P7y}~PR z&!4CKfRVq(NT9Wj;kWs{a~@1nRv*g@@4dWEYI&@w-|nnAWmhfUuKKtt+l>2^lGEKo T7c7{7#xr=j`njxgN@xNA%Vs#+ diff --git a/app/open-iconic/png/double-quote-sans-left-4x.png b/app/open-iconic/png/double-quote-sans-left-4x.png deleted file mode 100755 index bdb416c75a3f9f269957b45014da7bc054c93f6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}xAr;B4qMC;qBhI|JU1P%wq#l`VCfA8u(!_--#yv=;cn{T$0+CDzZ zSB=v?^-)!Uk<-J0X%(aFxAK?2ZNlEgwoI#Ba_7;+qHgz7x^kM^D=;{pWcR%J;H&LX Vz4ooe^-`dP44$rjF6*2UngE=ML>d49 diff --git a/app/open-iconic/png/double-quote-sans-left-6x.png b/app/open-iconic/png/double-quote-sans-left-6x.png deleted file mode 100755 index a2c5e277c40ebeb02b3b28ba83abaeb198787794..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w`r;B4qM&sN5i<}J(JV#eee*NS*&%8zjl?(UP^3{|MJ()3+^`H_5ugyU&c#3%F?hQAxvX4nJ za0`PlBg3pY58>%2trmTOV95Kzq@ZF$f5 z!}jkCUTyc4t7qbwAm(wHA+ynhScb9f0mGXAdhI2)Ha<1Kl};A!e^${QU%cn&ddqu{ zuFK?q%&|`@!<4?xzdRKvGwI-Z%Qz#TQg1e(nv)N%%jio2HK{fO s4NLiu-8Y@5Zt-#P4a-@9j(#wAPJEA0c(?{{8IZ@|>FVdQ&MBb@01Mi4h5!Hn diff --git a/app/open-iconic/png/double-quote-sans-left.png b/app/open-iconic/png/double-quote-sans-left.png deleted file mode 100755 index 78fdaae0ffd2829037d4d7e0dc3ad7a7972a2d20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5{= cwXidhogpNUoxM-!3dnE4nJ za0`PlBg3pY54nJ za0`PlBg3pYARTd@E{-7{op1X*`3@-X9BJD(Xa3=pLQblDw-*LI>v$ufS(fl~*=*IR zy^ojuX3}OXiB2$U$m2i5a^Wx29>x;)2K9z@tN{$MOluf+o&4zR>D63bB7gkjT2}=o ddyXRoqFS?pPTIsr`U7oZ@O1TaS?83{1OPf?I#K`t diff --git a/app/open-iconic/png/double-quote-sans-right-4x.png b/app/open-iconic/png/double-quote-sans-right-4x.png deleted file mode 100755 index 22a491f1d0db0b6b7fc25309dd5d24d55214786c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w+r;B4qMC;prN3H`30!OaxyEA{gy5o|y!m%HWicM3JTb^&cI(eUz zVEL!Qo7W$#VR-WTVGqL->4$e2o>VuNGfjBU9mngi&%Q#H;b)owuY(<{8smxOhq4$x z2}W=_>|?6C8m9LCMESwTFN+(PWgalFSKMRHnKW^7Qt}IKpzREvu6{1-oD!MnZVew{Ywj%!=9PKN(>*<{Ii$^^3QtuGCW#qdy-8d?vaXcLq+?NKOGAT s`YYTYxpXpLv2f@`Ar43+|2xZ+INOzBQhU-%psN`?UHx3vIVCg!0NtirjQ{`u diff --git a/app/open-iconic/png/double-quote-sans-right-8x.png b/app/open-iconic/png/double-quote-sans-right-8x.png deleted file mode 100755 index ae81899fc8c1aaae326fcad4e8ed26b8c7ca1734..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC%$_ceAr*7pPVnSoa^yK;w8zH2UHB4*c^Pe<(8aeF$UU8j4a>4z&J;@C`7v2}|i3U-(E0%)<*MHPw1S+{$(GKEW z++pRw_M$v3MpA*@?{Z!G@leKq{o0Sa7*^cB`td4|ZT(oAc|l$I@o-j$ziG$9S%Bp6 zmkcZ7k6K7Fd|fTIoM}Pb)WRSYZSE#m|kzTWOqanG6j yeZ~D|ng8rE4!R4DF4nJ za0`PlBg3pY54nJ za0`PlBg3pY5=Rh`z9>_)-Tk&f9B3bdr>mdKI;Vst07KY4_W%F@ diff --git a/app/open-iconic/png/double-quote-serif-left-3x.png b/app/open-iconic/png/double-quote-serif-left-3x.png deleted file mode 100755 index 1c9c4ae81eebf8802a510664c53be1857fad4062..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQf^E{-7{oo^>?&osZm@B|rDIJ3XX{t= za!$W6q5QuigBE|G14EiZ-OFzWSl-+WGPo-kq0i*i`0`t10<(<)!`yOWPr)lf9lNsxBmLcl_OU_Uyiw+YWsQztR--p}DE+Bx44b Whw90tnF&BQF?hQAxvXeF4Q@_ z!F%BaErpNY;<Gyi8mp7c*eO9c(ZS9%W7uru>`tSVcYSQQV>MTwQAfz-= Z{e@`pJvL6~TA)uDJYD@<);T3K0RS3tX*K`= diff --git a/app/open-iconic/png/double-quote-serif-left-6x.png b/app/open-iconic/png/double-quote-serif-left-6x.png deleted file mode 100755 index b3b712272f33c38d4cb2f173cdda995b62adee5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmV-{0e=38P)QfW%t@ zm&6c70f~1^zbjA!d*Bn8^8OAa^S)YpzrdPd+iw>V@A5^+5txVvmw5x-Th=ba;8O3V zBjhL@Ig|G*5>k_A*+{)rB;-N!;N(K)-9|!c^t+AR8)&}n+Bl(kLB)`G1I?#t8|T!C z5|MdtwBO3<;L-lrdyfR={y~v=3v}x|^?{dogCfKdFJO%qu*M5m;{~ko0@io|YrKFp fUchl2=YR7AT4(|RLk8c=00000NkvXXu0mjfluDfJ diff --git a/app/open-iconic/png/double-quote-serif-left-8x.png b/app/open-iconic/png/double-quote-serif-left-8x.png deleted file mode 100755 index 5f647d899ce9f1e01767ed828b471e9f06631c01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 519 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCD?MEtLn`LHow?ELaDYhL{$omddt38x#AR$uFotNAH(Z zEsy*`_5$5LCpl-GG(pza0`6yhi{9_t|KO*>>-v4aFE24Se_+w~*y3D$>J*K1t~t!< z2RI8@rW{b*Fh9eMC%3Lyvr%*dW0~%BF5~@@8`xesY*@u$yx*{Zdruk9x!8u4_hl;H zNY2^J5WJstgRI27#XyGY2SLF+kd)Am9-i$w2d?Bh{!fcrTFAeLS9Su>bxqHD*7UY7eAsF5RXc-^<90=t4nJ za0`PlBg3pY54nJ za0`PlBg3pY523rIB=lt@Xd&;f87r~mz0oLQgEXu p_^vq{TU&6z^MuVaLrP277z|70mBl8l_yM$(!PC{xWt~$(695YMK`H4nJ za0`PlBg3pYARRM3T^vI^I^Ry-$lGGT<0^mMkX?03$&{Xh0p?7b74C|a7%=F@YA7vf z5V~onwWLOK61V;T_b!b(j;s%+)EaiaIWF>?KeajM15@)9uRrQV2mZDA<_55T%`(}s zL9AIrz?Vf?= nq}exQXEX}lZnjI^yoc}iKl``;=Ua9H9m(M7>gTe~DWM4ft#wx| diff --git a/app/open-iconic/png/double-quote-serif-right-4x.png b/app/open-iconic/png/double-quote-serif-right-4x.png deleted file mode 100755 index 50567c1bba5982b17d5ebc89093dcc0e6c107c42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IPJcQk;|k|2TqZ{IJU zH*5N>#-$beC0VWZOgZ4TC%%VCD~`d-Zu^@IiFME3y6j{WV`CJ}=e={ZX>#I^jJS%K zr;1q57_;?15T08vG6^#q0Cm(J5(fDLerPzA5 nbq8iv=<9~Rm9{zG|D1D;Ls9Pnhe%GKw-`KK{an^LB{Ts5g*|Y| diff --git a/app/open-iconic/png/double-quote-serif-right-6x.png b/app/open-iconic/png/double-quote-serif-right-6x.png deleted file mode 100755 index 2e419d4d5c34c12ee76ddbc0826325e0a1993666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 401 zcmV;C0dD?@P)#~E06;xPRO7E zYJh}*0vu5Q#gI`1RS;R)4oFC`Oa+7x>=H}@$ZzrU-0>6AJJKX0?fvY`ej!PcB$6Xw z6l!^p_;w1BNU}gQSs0|Ri`Ab7QJN4ap;6Cxwk;Wi;ibO22n>|HSG#SR`0lcFSHj?OU#t0w@~~)ipO^R^ v1D}-l`3>dmt_PlgH+kfrMENF3k_h<%?l}O4N4nJ za0`PlBg3pY5)2HCdpunnLn`LHow3o2*-@a)UR7XAz=VifHWPK|43a&GW z2e0PeHm(sq!L*2V(MeJXv$=Yo?$%xX(Gkp?^&|3qgYDB_XJ+KPe%&lquqLM7_*rz| z-!-grG_D^%R-?UY{?-QLr@tl}-tSs{U+XbHmqdh`!J}8#+3!vLpt<3G#QnC_@%(?Ut!juq&Be3h*Vl%?-VZ0Q z=X*bXb$xlJ&Xm{m1f2>ZlE&98B-|-2X@@M4LS)Z_s+J2R*g0(LyGAwbwUIE7( zCHKR!zl5)xH)KC|J1$joe`(XSUeZ)s;3aKk+#Ei157K_g7tD{dCGg;oZ?T)ws34N+--MYO6UQqddP; ouCe;bL&aJ9-%SUHblWFRbGCzFj5FVdQ&MBb@08@4nJ za0`PlBg3pY5DWt5?q5Ce0i)H7?`ec?%b)hrVMBdgQu&X%Q~loCIE^?Cm8?$ diff --git a/app/open-iconic/png/droplet-2x.png b/app/open-iconic/png/droplet-2x.png deleted file mode 100755 index cc814e7d6b42c2b957739fc7c4c1f2a02854d9a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)8nRlOGkP=|m66zDyHap2&a*bW9V_;af zQFjfGj#pxUTfH9J`;(sU|2|$Dzx{IM{O5a?pDX29FBiZvO|Ukrv|;*^zxpw(^QIkO zKUMfpr(k2kWa9~)O~MDf8hxK#5{_6aaN`JfQ}6-1wgmPavkr7K&c0%L@D2aL5aBr~ z#VkF_EbP7?CisdMtl2tkcjKgK4>az}%x^co=r=J)U7~BRezy1u)|m7KoLmQdrFLB_ zc`5&c>q)a)_NTw>+lnq7YN}lzSY*neb-+!sns-Xw?EC#?B|ZG^>tlibWbkzLb6Mw< G&;$U(FLe|E diff --git a/app/open-iconic/png/droplet-3x.png b/app/open-iconic/png/droplet-3x.png deleted file mode 100755 index 393656c19db23482bd87a71f985371b5ee14fcd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 zcmV;x0YCnUP)G3R;^=P%K3Zfrzz*Ac&>l3s_i)sMsjJK#CMLHY%iFvx=se8N3X;*E_rZ z;4p`|bH2a1XU@#jRMRG=aZ#}@NgH_0WBsGyivhfdg^z;I;;D&215=&Chw!%vyod)3 zv-?1ipkY)HKdQuFaPuBC) q(LBMIRCu8pR&XBy-(gAQkMeb<-dsWx~0000>95aS`%S({ zuf5*q+ur@2y8}CI198hS0&54z<-J*J_-X-Md%0HdIUws1AOpmz4Ics09&qgsV5nN~ z2$1xFYu^K5*YJAaOaRwD1?pS|*s1`oz3vJg1%3kr_yz`T;f=se0J!!A5V8rdVFA}( z2?~z@?+yZ_2v`-z4&d7RmBM?0FNXm>fgUf=f3>=ZT7a(9lpj;15b%V%U$6audZ3ln zL>1uLVgnjZ}mcDM<-kRXmCo*KJ*k zF;VUL&zYHX=8P}-HZ$k^=l7l5J2PhvgjE;N8F-9fItJAKxHB$_ySn%buYEKsk%JB~ z5ng*=L@q0}1HX_1i~>8N(WPi3P(g;*{tm2-#3*Vp@PTxA?EzqZ6w(AW0?)CB*M162 zi@-ZU*Kmi|z7&D?A05UYKKjhG2B=y9rnv$vE0~=|pf4l%SoZ?ciwtl+M|kbCMZs?m z0AE8bfNi1S8-V^m0cyZ2U~0$!rvk!j9}flJLO!!jnk&GP5CLu$0Iz*DZ}_$X;kDQ2 z8Q?*L0C)3(FGqmaUX@3H>k$K7$qGN0VrCx66=0SLa8gQuy+ECH-27D!?8#E#3Gtr3 zc8@Q7(|-V8L+z2~NRXzV&=%LkfmFi4VhXS_e->}8kUC6%&{jj=ZQwHM>9hk|{kW{< z^~UywZvg#yu$m zT>xgM)YPRYD%^F zdO7w%1pA7)3AHoyof6YL2y6%iuhoLuX5(i)MEc~~jQUjS ibNE#SE&@xl0Q?3##6;&}(_%~j0000S%@XEt&CVAVnM{jn%Fgo zy0{sABzbes%-r();9uQ4_niN{c{6hh_+>Xx={W~)>;ZmvsM2pL?%B&f^MQ7G&B!5@ zbTuDnr@yq^u#L>-166p-&NAzOU+4?a4y^E$qc!FMKhc{H^bMHpB~uHG2bz(a5A+ro zAmv@&C(8^%=D~rA2xN zECcd{eY1f+K&hl-lmh&3ERl5TA?T9=-XXlDvWR!U5Y%RCMkIH@6#hT+00V&ux=xY; z%t)S#Hzw;kND44f80-gdyF)*O*Vsl|010*IUpv*nfV67{0yTo`Z0m}N0=&=!ITdp4 z84sq@^&qi(;EN{6)R1e7J(x~clg^yvHP}x0vmzI0&Cr%Y9gXotE1E?T$wN?QpqD0r zFM=4h$n?YfMN)uIns(i~ypjK5Omw-63h-LfK3da$RuID$y4*ztc%*4B*0filW@kQV z&~=a$;GU+vMAO~~>=4AU!F>~hlo0-^X#<7{#@VkK$A;!7@cowp)TeD&pnbxz%5b-* z@C}2rE(G337`L>PzA;1X~LwUyn1dRosz?K~I6%;yy_6L=Q$`dAd<_lR7e_Xw81ZBdBd z<1#ORan@aG7y;bGz4 d8CYZ^(Ld0#d*?OL+&};T002ovPDHLkV1m(R-a`NY diff --git a/app/open-iconic/png/droplet.png b/app/open-iconic/png/droplet.png deleted file mode 100755 index 52761ea1d6498b72cfa4519389f3234bb5ae82ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5Cx9C8w730(<}^B!>B so1l8(QIF8|lHEu7S*v4nJ za0`PlBg3pY5lP&H&(xTmCd z?e;azHFE-{2u8F#%-zY(w1LYpt^X3^zmTv!Z_b>VxXCCob-Jdu=Sr=!RsvJ2rl%E7 xoHZ$}(BrJgQu&X%Q~loCIEVtL&X39 diff --git a/app/open-iconic/png/eject-3x.png b/app/open-iconic/png/eject-3x.png deleted file mode 100755 index 7bd588aa198af3a4c1137b83f6930fe3f1d4e4c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARXPFE{-7{oo_Fm=4>z!V7YLy**2m}Y|6YX3#Lqxvw3+iR^Z|rb52`N_1Co-|fnB`o3t@Mel&_i~koK{<(hE(tOK*@;{C> ZGPms561#?jALu>?22WQ%mvv4FO#q#lQ`!Ik diff --git a/app/open-iconic/png/eject-4x.png b/app/open-iconic/png/eject-4x.png deleted file mode 100755 index 9a48bbb7ad52a3c23ead25556664c2b70912c8e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IQPZ!6Kh}O4PH}W1b5NUZR-}UBzhCx6X7jx>AHx8_<=Y^amJiqb& zk%-;PSxa_=*GyWdw|J{(-hsnacdP#}=^VJc>&Et2BZkk%D_-UNf3owxg#X+tj~}0^ zSjCg-^jucK@n`S3Y>iX(FZQ%8jB$RxRVtOwO7c`piO`hji>-@vT*ccqvBjF6;wU+) zvG{`M!XCHnoJ+Z4&Ae2t)_;1w`}q&ckH;?PJfHUXZ$q7fJ;MXmcUAV!xQ@x40=k^R M)78&qol`;+0QGij5C8xG diff --git a/app/open-iconic/png/eject-6x.png b/app/open-iconic/png/eject-6x.png deleted file mode 100755 index 1f8565bd7bb2fa7ebd691f0b7bb195b12cdee5a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp67Ec$)kc`H+S5EUDG7xBa$hc%ngGB&`iKBQXr=z2$s%=3N^EQD- zgL9`hi&lL}e+>_g?x%8x$( zxUu`gx+Pa%*xRLvmAagkOAsm**F7!r%5IB}@rwF|sV4)MFEH)45?$+g#rfhaCtI<# zl2?K+oC-YO7}i#$w?*hm@#3>xRhnCF2IzNAGnFjm+p^~3isFT-y-stbb+ZMsM5Drt zvQ(qQTyq(9SBq~I-Lhu=inR+<_b%MlHSH?H3Nwat41Ra#FKKwom~++rN6o(a`&{S$ yUrE{?CT~#skKyYd##cX?uY6`-@ti;4J!93L1)V&cY&O6^V(@hJb6Mw<&;$TkgoxPy diff --git a/app/open-iconic/png/eject-8x.png b/app/open-iconic/png/eject-8x.png deleted file mode 100755 index f6dde8815fe59efbda6c1286bfb6918fcb5c86fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 446 zcmV;v0YUzWP)JUKoo@G36W?a;y@wL zM7p4*2nup3^uUQ6SSt!(#x}b<`<~xO|0TIR@8J`Gc8Am=w+C=Z?ZmfK-v+=Lz%_MF ze_O=X06P4Ad|#LT=YA(Veth3icvqDjF#Pd-Zc*&fV-MgG#e4Kvu2398kL3o%SLm_K zqc{dVwIf*xxYiq_C$O+wKsdaThXT1JmWQS^WwYY;^*=&_!n=nXyAKNP*9$LavA zKLPvz_{Q?K1@NUlA{L9qVzHQRAGrN0TI^Qp1JsKLP#>UPJb?ND_2L242dEbhpguso ocmVYQ>cs=74^S^2Kz)FEzy7nnldN$|G5`Po07*qoM6N<$g0SSeDF6Tf diff --git a/app/open-iconic/png/eject.png b/app/open-iconic/png/eject.png deleted file mode 100755 index c75d45530085878844dbe878c2fe82d3694ea2ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY560J)#kY1_pmxlDtbiJ=xgW(s_7z{xAF?8Pd}T z0=4nJ za0`PlBg3pY53-DU<@pmpGZ{Qx{an^L HB{Ts5z8)|y diff --git a/app/open-iconic/png/elevator-3x.png b/app/open-iconic/png/elevator-3x.png deleted file mode 100755 index 9b976d7123cfe98de9a9538183af9fd793ec6f8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARWn`E{-7{oo_E0@-Zm#Fgx1Y+CP`#njj#4yp78{vwRlAokjO2vNl{h z-`7)Uy{YT=gxDB2qmM?1j$|$o@>llybAx;T-m}~>6~U}Od$m2R;v8RCG*5Xf>C*RJ iAiAdY#$#otqxRm)3k!F!WdsAQWAJqKb6Mw<&;$U)<~-g2 diff --git a/app/open-iconic/png/elevator-4x.png b/app/open-iconic/png/elevator-4x.png deleted file mode 100755 index 4793a34da91203f06a1293df7cdcbaf074ea55c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}xTr;B4qMC;othI|JMIGh9f&Yiuj>fENmm0-QLMfKT#wKG|t3&WqK zee0R5{A`EJ#;(%>yDel3g_bKS6w<~IWG-49;SDx_EphgTe~DWM4fyDCRy diff --git a/app/open-iconic/png/elevator-6x.png b/app/open-iconic/png/elevator-6x.png deleted file mode 100755 index bf7a16893b036cab5bcf10b447ec79bec6339ea7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H+PZ!6KjK;Uu47r#Md0Z}9{@P!8X^qE57WHkZp51mU>VqY8ejY1T zb-wi4%1KptA^*NR93{u6OE&I%e7WBtx#pJOi}IRXf-mZ8W(j7<$=fwC>U`x8JGfBU z=EHHfibr?d=N#DGYteb%PKjxMu8T@tr3>4h+p}NnTK9U_y6P&8f5P88UoriUblb7k-BV}0*a`FxgQu&X%Q~loCIC^laFPH3 diff --git a/app/open-iconic/png/elevator-8x.png b/app/open-iconic/png/elevator-8x.png deleted file mode 100755 index e49b7346da2d5c2d97e01b7768a63ba769e1fb94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC?4B-;Ar*7p-Z0EN;=tn^DEIfiP3ANYK^DKH^I0ZW*q2>bj)`2= zd%c^-Q+~bsOI6l|`ZaerURc|uv3xQ9_e1c4>AxF-7v6t7-rMl6&mJgPU-Mh=LT$}$ z!3)Jd%9Iy8|CsCM@cP5;{)TIhx63l_<==mon)FwDKojZFkz4L!HV{#k9@3;Wx0-7i}aLhNW2d)z$Ib$PdHbx W`t2kC-rvA*V(@hJb6Mw<&;$TxRFi4| diff --git a/app/open-iconic/png/elevator.png b/app/open-iconic/png/elevator.png deleted file mode 100755 index 687414d18e426ce2deed632d015be27e7b27ef12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5PZ!4!iK)p64y?QZJ)$NC1_poHlXzTDOtKISWb4?(v|f3l=t2)B Z28}|&uUkS{?*a8Nc)I$ztaD0e0sw=Z9wz_* diff --git a/app/open-iconic/png/ellipses-2x.png b/app/open-iconic/png/ellipses-2x.png deleted file mode 100755 index 788a354b3f63be87d90a9c1ab28f965062f6d9ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARW4%E{-7{oyiFjtcw#wF31=d85sOIuFTGyvN}=eaG*+KAUE5+ra%KO dH%3_ohBI@RxeXakqysfFc)I$ztaD0e0svdRA0Ge! diff --git a/app/open-iconic/png/ellipses-4x.png b/app/open-iconic/png/ellipses-4x.png deleted file mode 100755 index 5bf8f8281bd730cd68d48b20b1bfb494a10a08a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380|9r;B4qMC;pg3k4Yz1egyx{I|6iV{Zz7^UCL$5JR2$q$@|$zL(hZ fr@v+45CCdaddAHE+j;LLpjHM?S3j3^P64nJ za0`PlBg3pY54nJ za0`PlBg3pY5=1f20jP$-)78&q Iol`;+0Pe3DxBvhE diff --git a/app/open-iconic/png/envelope-closed-2x.png b/app/open-iconic/png/envelope-closed-2x.png deleted file mode 100755 index c485b44f6761124287f2ef9e74857bd2bb51c851..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5{-441B( VzIH0Qd4nJ za0`PlBg3pYARQT=E{-7{oo}ajb2S+7u)6y%Gtc)I6Au%2I_Z8XRIcP|ikeBl3XPi# zCq>@O{E*rt{DSk1-Hm*{1%>aQoX>1F^$js$J+HS$Y3==(7p(TB@7&%id`#6$2oZq{yG`|R?3pq&h!u6{1-oD!M<8Ye)| diff --git a/app/open-iconic/png/envelope-closed-4x.png b/app/open-iconic/png/envelope-closed-4x.png deleted file mode 100755 index a1d7e03a919adfe7a3476d1f38153ee73fde31d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wur;B4qMC;pWj(iOYJS^_<%j}O&f9UujAt|b>rFl2!_HD+#RSZ-1 zr!#)?X)INXVG2!P@8f*4c*FY~heuYYChCh`%XaIW@gPu1?S@uISH*KP^BUH5U+*$k z{oZBX+2q^!;j7ibyv8s={T-19gfdy%S?4JQ7O-vl$1F6Vfkosg%S*wh;hru5^MP(* N@O1TaS?83{1OQy;N;?1m diff --git a/app/open-iconic/png/envelope-closed-6x.png b/app/open-iconic/png/envelope-closed-6x.png deleted file mode 100755 index d98e9609f50311a26a2076c40a4ed85da0d547b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IEPZ!6KjK;S!4EYWj2(Yy8;i;Rq=Zpv=*Ak5z<3j0&oN+IA zv*9s~os7P^f{B6LE`<$J>?Jf-8qfdQgpuQlIWUg z6E^J7S`xjde1TTV73Dn+s{iKs$5%}Kk?2tB@$KGey)$C}Efur^RPV_eNCm0d$xM(n z(vsurXmdGwnW@To(~--}=bSbjJ4nJ za0`PlBg3pY5)2HCLY^*;Ar*7p&T`~yau8sNj@$N6CccgR3NxqT2IJ_{x29H!mec+b^D2 z|8sNc^gw4BK6%q4FCQ*$Ss_<eCnGtHa=bM9|u+k~(KM!Kt z>fbN5UvT~5ZpJF^iEkUZFPwktx8iECANvWhGrOea6rwC%ox3VK{l0|gBP~}$`At{Z zquMpP{?6jHo+7JMRT0(jLLl<+W#%hwC*4nJ za0`PlBg3pY5e$8 sN1XCvwh8Z;b))2}jqAcbyFaISmrdkjt(hm%3p9km)78&qol`;+06}mp1^@s6 diff --git a/app/open-iconic/png/envelope-open-2x.png b/app/open-iconic/png/envelope-open-2x.png deleted file mode 100755 index 368de61d8fa38bff37ca8afa43e409ea0116e8a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5A@I|Dg}Op60<^%T%n6| z4nJ za0`PlBg3pYARSvgT^vI^I^Rw)i=vgurajNphlALidRzMWH#uKOdROcSp|ZVw$jL^P-1OS>m>tnVKtnUwd;-c@bZEx;T?L zgR)_@&)%at`%X`dVdR**43KBgz04HU!s_qvFa68qH;+_pSoj+Mi&Ze2TvqdtHSD|z^dW<%tDnm{r-UW|5qNG~ diff --git a/app/open-iconic/png/envelope-open-6x.png b/app/open-iconic/png/envelope-open-6x.png deleted file mode 100755 index 1ac7fe3a90d88e9dc99b5db6bb2934767552b253..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmV;50d@X~P)bLp;2B zh(lUd8G!_^?Q!|4#Ka2CWo zycE(*c(_!^;uBWk;XaUP=gvQfZC52PebLT+?F#k|f@_}iitinBUM%?tExn$#tov^M zBh&%b`%AzDz?~i9-}555aPcd8WoH1>kLy#<oq7^;^zyA|&Vt@H- ow5fG~^*X?M9bml4nJ za0`PlBg3pY5)2HCYdl>XLn`LHoq0O*U{H7@r%@DG1Qk~%UvY>i~v%ztfV{l;9`qUAt%%;g*o$2B{a%@k;g zDdg2{Y0zHh$*q{-9V0B}bYa_$W412(kEGTM-0jR>qqs}-`jxg9aWR|Ck0c&3byZyU z^|11?1B%8KFTPJRbzQxurlGvuwodljh7XCAHy)cmxcT|wjAzw9*B{_GAlGmfLOj@T z+`M7+VY}*`>(XaeRz+(iFnwTs5VT=_Y3#MlUhg%Y-F_gaK~bN@5&@F7C6Uo=zokp7mdKI;Vst0Mw$<3IG5A diff --git a/app/open-iconic/png/envelope-open.png b/app/open-iconic/png/envelope-open.png deleted file mode 100755 index 8fc3f42addd271b08a132817d414cbd61dceb166..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5I_7u_iFY46}@XlH#dbsMi(oCSi N44$rjF6*2UngF;;H|_uc diff --git a/app/open-iconic/png/euro-2x.png b/app/open-iconic/png/euro-2x.png deleted file mode 100755 index 16ccc9d3ecbccd90dfe45d9755070d98fd8918b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY57VgfmVbxC`j+LLJo6*e zKAEwbbDc1^;5y0^zN5QX{CLLFE9adaavm0%F6}y9R>$e(f|fZwlLPjz@%G_;Rchtmg;|G;Ei#gXnE|$_Fubn z-#nDb|F`a7c}`+W|D-ap8*8$bOY<$O;JsSCy7uNt$9QMEU=E!auctt7GI+ZBxvXH;}sW0Wg;V%1aoS7zvkaaL{(i+1EYt)T%vL>;J5M z_HM63ygIOi9bDlFd0ZohMYNT``%oJ;@QgxA%lAxDDMW%roqcSOraY!lA+Tn8A7=rFUkOh zeVz@m5p4j?SeN`oq=6r>D&h>jQ!5s*jY~Yf#Raw`uWEB~(JLZspoUeMYiR%g002ov JPDHLkV1hd$sfz#r diff --git a/app/open-iconic/png/euro-4x.png b/app/open-iconic/png/euro-4x.png deleted file mode 100755 index 5dd1b058867c14a071529315d3a9da59fa340dd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 552 zcmV+@0@wYCP)-)^G#0Y(X^ zAtEaJ2l!E02}aN${s*bjSqfsSgW`O@kKk2;`~}8K5>?nCR3{tP668J|`D8N$g#9;||_sbG zXq8T$Pl%XP&ytPdnPAPbu}`{Tapt100006G3A+2NeL;FY$a2>6wF z(*XE>%uRx5$_c*}$1p0xwNG(Q*qFU|f=~D*Y|@!nfThApxBWBzJH`r|JBl{rhru(+ zX>_W6k=oIXZ-3|NjR9Rz2l}MLU&rDI_nM6pI2BVe{B&U zMW|KvP5jjm+Q?;o3%wH|A(VLz)OCPW^gn<)H0%So6JwHL{{*sXz4XG?nnuFp)luoC z#mxoYdo@PaJ4uV=8d1Mc?>{VVakmNkg>rrr!*9ND0Hu}JZwR((y=uqh0rN(4ELRAx z%wV?A8LU&g!Lc02g(o_2zN!J_wU}1nEGA^Q_PJm&T@~Dxr^0WI{=egAVWF@v8!;zg zo)*EvjiyC-D7#TtZ!5&~o+Nl-!#045w&6vA@Xs`$5ggTm diff --git a/app/open-iconic/png/euro-8x.png b/app/open-iconic/png/euro-8x.png deleted file mode 100755 index 4f70f57663d083848a6c3bc2bf851d67d4c6cbb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1038 zcmV+p1o8WcP)YOsZ&%izmUPPUqgabIzPhnlC(?xy(7g-*eC0bMBev3@FbTxC)zbKGtG2hG%01 z{={$i9%I;t-FP2A_Fi)LT!CkWk(n;zQ#_50J$2B46Y&r})4k~<#mBfG$M?unEr#(p zewNSp;qe0=wFnY%55Cho>)#P0 zWy!HiwfWDnvXsD_+^X9A1TH8gFgNe2PQdnJ>N0b=dJnxN%gfrEpT@<-)Me&4@!M{f zfY*zu>j8JD9{!t(sp|nRYHxnDoV4y35C-~%zi@(Bh$W%tTSi^-m4xQ$zXa?{-QaQp zQa6~HDIqEqbwkGVFY|3<4x*^1Y{fjEGJ+&0Y`lT zny^9C?^n&;Z(E`T64Wn^drR59-qqJnLDUY}VL0Qae%fEn?2`INM!vcuwp$astX zvL^r@Y0+_2Oo`Ij8#FJL-Yo9;uWkBin}C6a9k=2EQAg0E&0oZ{`GGi8H72&>C-IN? zOMFC>z+Qwaag%x*vLoWWQct)`l);zYKj`^SU_O^fa~`m76F@waUJ}Fis7$~d*Nd|| zrOfXU&yS+45T`lE^v?L#VtQ^myJTVRSj&6z8Q+C_Ei&V+SdS;fcKiHQTcwu=5BG&GkM5*l>oH_gXkhq(NEIdBH*MG<74|LP{zhWLCY7?_61^@s607*qo IM6N<$g2Z9@rvLx| diff --git a/app/open-iconic/png/euro.png b/app/open-iconic/png/euro.png deleted file mode 100755 index 5644c0afb4855a9a29bd12402752bd90c372a9fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY510f7g}0KjEXwJ+~!sCt_QgmR|~ub9WSX z)wD91plPr8FrZJ4G2UeP8E$2*BOL*A8pXCs>x%2uFXTLF&-+r&?xRB+4nJ za0`PlBg3pY54nJ za0`PlBg3pYARW%0E{-7{oyjQ)2|vy|)E?kSHn@18K*XV#+l|rjzzK&)tt6Et2_~Yw y3=WxEN*r#%7daSStmN34qZlfqE#d2`3^XH*l}*I%QuP}klfl!~&t;ucLK6TC)F<5l diff --git a/app/open-iconic/png/excerpt-4x.png b/app/open-iconic/png/excerpt-4x.png deleted file mode 100755 index 526ff058c195063e13f7d956f17ea5c7e249e44b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{lr;B4qMC;qDj(iLPJT4bk{=Pp`)v;s2-9Oufea|dAtdjb3)3*t8 z{(rvxd+7&V1%?2I&tKSN^eSYNf#x!J My85}Sb4q9e0BSWft^fc4 diff --git a/app/open-iconic/png/excerpt-6x.png b/app/open-iconic/png/excerpt-6x.png deleted file mode 100755 index 4430060cad72431d94e266757f9d1cb8885aac39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wtr;B4qM&sKXj$8*6co+`e`2TpZd4nJ za0`PlBg3pY5YlivC_v8`avf?@^+E&W+FY&HqKAyq&pF?hQAxvX4nJ za0`PlBg3pY5in&`aZKpIox+!h}N-ap43h1nTisj)Gf TpV0dOsG7mk)z4*}Q$iB}RS6%X diff --git a/app/open-iconic/png/expand-down-2x.png b/app/open-iconic/png/expand-down-2x.png deleted file mode 100755 index bbe78e220d4f2cb07b59c8d89c5fd9194fab9b93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5bP0l+XkKKkX;2 diff --git a/app/open-iconic/png/expand-down-3x.png b/app/open-iconic/png/expand-down-3x.png deleted file mode 100755 index 4b40ea29d9eb43e211fefdb4b93eb4eeea318639..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQi_E{-7{oyjQ)2|vy|I3IBFKKwH2pvD3Y69b1J3Bw(Y)22zopr E0KYpgc>n+a diff --git a/app/open-iconic/png/expand-down-4x.png b/app/open-iconic/png/expand-down-4x.png deleted file mode 100755 index e482519e6f0b085c65cf0fbb34638300ce0d3839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}x8r;B4qMC;q>hFlB^JV*TE-<>ZlC=>|1C}z@l?qtaY1;Mad8BZ~R*>eM2=fd}FTF z15GxcWCn%@daw7)zgLkb_c5~ON8*Q!njcDUu76AvJ>DKFBOg{+6LA!k1GJ!idr4gP k)>r@8B@B8QFGGp93{2V+=eo}k204Mj)78&qol`;+0NP7P9smFU diff --git a/app/open-iconic/png/expand-down-8x.png b/app/open-iconic/png/expand-down-8x.png deleted file mode 100755 index 69cd3c38e71777fdbfb8080f7daa6fe8d5900774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5IHTs@o_DI*7IteM{@Bp=_^?zTKM@>8pmqj_;|rg= zrd|6pf04`r+XcPMTiCZ0HhgO^4nJ za0`PlBg3pY54nJ za0`PlBg3pY5OTfFpTX1B&t;ucLK6UgPB9b! diff --git a/app/open-iconic/png/expand-left-3x.png b/app/open-iconic/png/expand-left-3x.png deleted file mode 100755 index 21a34a34f7eeed8ee8c67d21dc512be1ad5821a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARXzRE{-7{oo}z6E{{HOS9g2U?ywEEtIMChxv#BY>#pm9N zBgvbePS$7%I&jzFH`m6*Kl2=O45J$y4>5EtVPNrOR!`yj^Ur7R9_v8ms&~6mme}wt nc&gZ-8PD{p>$SUfgFkz`d5v1{@&_zHD;Ydp{an^LB{Ts5#}7iz diff --git a/app/open-iconic/png/expand-left-4x.png b/app/open-iconic/png/expand-left-4x.png deleted file mode 100755 index b4ee5efdd9f88134d3e0e7d949e903acff834eed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w|r;B4qMC;q@r@0O&@VH#`+`p$j@A|S!&kP;CgbP$F_&J)G5)$MX z%fI}*Ec0YWwbX?Mwg`rF)1(z!Z=F~8@^kw<)(MUm7y?;D1spFh#<_4FXx3nk5bSSw z%P;uhqV|Sk-VF0BWFPbfGfuSN73d9SnE6B7LG0o`agzm%|CwU8JbQe?fBv&Vpi3A$ MUHx3vIVCg!0F$gp?EnA( diff --git a/app/open-iconic/png/expand-left-6x.png b/app/open-iconic/png/expand-left-6x.png deleted file mode 100755 index c74cbdf7369c1cd6746cadf1e3193ea207519c1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I^PZ!6KjK;S&9l4qv1Y9o8n^TjQS9bE4*qoK`@||i6l$E|ZI2O1Z z5q#eJq^9)dyvuQ++PjPz&M{aqzu;M5+>pm=a8n^~|ih^Ya+po+SV6U!x4M6>R;zNson2h3h<= Q4D<$rr>mdKI;Vst0MsaCmH+?% diff --git a/app/open-iconic/png/expand-left-8x.png b/app/open-iconic/png/expand-left-8x.png deleted file mode 100755 index e0711c908fa2b2786b3f5d730381c70adeeaae78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCYMw5RAr*7p-uC1>JFWIhuT?}&>F0j4`VOa6N z_`)0Y^HaZPhwbeCK6g1wgG&apgW?t@1%X?PdwMSjJ@9SW#*nYLg{^{lq3wa37FC8c zB^_o1?nKQ7NsiNuA<84nJ za0`PlBg3pY5`(j2z-QbHiEVr}#)2<;fSMURUHx3vIVCg!0HSy%Z~y=R diff --git a/app/open-iconic/png/expand-right-2x.png b/app/open-iconic/png/expand-right-2x.png deleted file mode 100755 index 533bc36d03eaa18006204cd027232bb60f14e193..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARYOhE{-7{oo}aJFLB0#KgLi`3dJ4gAJ!|-F_qg*1t)Zr?J@hwNA}Vpw$eXu6{1-oD!MHBesQq6csJLXWx;2RC-ClC^=H383yXtO z^^qO+R_pJ5{QT&!a03HNg6V@-l^T-QePXKrZ~n)1K)9UoNukw(o?ynPIczJAYBq%3 zVc8+?a)2#5K{2C2s)_4@K#4zopr0LBVXs{jB1 diff --git a/app/open-iconic/png/expand-right-6x.png b/app/open-iconic/png/expand-right-6x.png deleted file mode 100755 index af5c118c1826b63ab2ba0aa27a9011fc027b9f11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J9PZ!6KjK;S&4{|jd2(&!({dn;E*|(k(lFsCLSZy}2|FSG`-zDdx zX=%%!W}SQ;{&mOa&+kQ73p31Rc){YJ&S1rOVIyPBvt`CVZ%*Yu_x@cXL&bxdr~|b% zmIvPd2x?gVF_mHOM^%RW$1fQdf4tIgq9V$n#70%Y*p4^hx4y~LI;U>IEe#q?QUZ<_ znB6*r8q8fJ9ry#e62ks8K0C$yJec{6n*6K&-sVj|&-kAGbbr;oiEDirN|+Wv9q^qs Yz@6cNmA&v>pjQ|?UHx3vIVCg!0Q!+_f&c&j diff --git a/app/open-iconic/png/expand-right-8x.png b/app/open-iconic/png/expand-right-8x.png deleted file mode 100755 index c16fcbad170ab1a7eff993609ac7754c1477a2f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCvYsxEAr*7p&OXT3$vjPG~+_ zx0~U>Bl%Woolm#f7{vZt-APz}-wr6Jx{)pa*K$q4nJ za0`PlBg3pY54nJ za0`PlBg3pY5r{Q4nJ za0`PlBg3pYARVrrE{-7{oyjQ)2|vy|I3IBFKJ2b5AtTn)6zEWYf#Il$@gIAU;JZR8 zhgartnjK!5#%Xt0b6bnV;Y=}gWex+Qp0Hmm3=HkUsvkL7ZlwYZWbkzLb6Mw<&;$VB C!7IW5 diff --git a/app/open-iconic/png/expand-up-4x.png b/app/open-iconic/png/expand-up-4x.png deleted file mode 100755 index 0d8611fb13e936426fa5bfc48ec8b866b9d06505..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wzr;B4qMC;q>hI|YH0xZ*~|F-OPQfw*^H=LYfdpV}iF=(3d#b7@M zMivH!ISN;Io-CeQ>7s4k|Kj9XCAUwn1&u#t3u=FQENES{{dL24jz{KyY!@&X{Bpc| U_}0$LK=TWB>pF diff --git a/app/open-iconic/png/expand-up-6x.png b/app/open-iconic/png/expand-up-6x.png deleted file mode 100755 index 8f3e5c4691c0965a27a2ceb797dc75fbdb9f7aec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}xBr;B4qM&sL?-dqh10?Zd*oGdPm)z~5Mv3*JOtH$3VCv?)-JSR&@ zUuM3iq|n=7!gPtlLm8-#;s4XG*(am)&Z?RAY}oektHGn*^_Y z{rFUA&F{yjT_VmOKdxM3w5Fsbp0CfX#?bDcHRA!}=4p>tul@F(nPrLK1T*HI{)uxN SzAsb(8SLrm=d#Wzp$PzdiBv5B diff --git a/app/open-iconic/png/expand-up-8x.png b/app/open-iconic/png/expand-up-8x.png deleted file mode 100755 index 21ebd52af83d03454720ad9fc4a58f44178ebecb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5`Md{Y8|8)aWR0V0fB>gU5#$!?Z-W#yvh;hKfYCpSpWF8%Z7XX^X;0xR{q%{ zxaR$FfANFAYX6uBuK9m_dVj)O`FOLY(mOwj1lK%1KD{$xu6f-Lj%z<3xA!K*n%C{% uxc2pNdpFSJSCL!(25ha`~6YerLRxtYTKFcxyS?}rU=d#Wzp$P!+@oD`4 diff --git a/app/open-iconic/png/expand-up.png b/app/open-iconic/png/expand-up.png deleted file mode 100755 index ea65f6ad883135aae1085a0ba41cd6a14dad9798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY558en{1$Z22WQ%mvv4FO#rWIAie+q diff --git a/app/open-iconic/png/external-link-2x.png b/app/open-iconic/png/external-link-2x.png deleted file mode 100755 index 189a93fe725d6ae18e1f8604c2d38ffb9cc044c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5P g86Lh*@r554rMA0;R2lxO0b0f2>FVdQ&MBb@04A|NmH+?% diff --git a/app/open-iconic/png/external-link-3x.png b/app/open-iconic/png/external-link-3x.png deleted file mode 100755 index 8c6b2e7bde340902b004d64b90707505dd9e3f79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARUdKE{-7{omVG2@*Pm%V7b1G|9R%WHG5}H6G@$Dk|^x|sAmz=fm9xC zqsY%E6Is`&s3fR}m?+&8VsOx}X5zQe+3>*DIpN^Z8UB^Cj8@+M7bCUqbu5$EzZh|` zH4l_0itT*3e0zZ7-KMth=cE-&o}OU)ruZB_L@Pfkyu PV;DSL{an^LB{Ts5XSz)4 diff --git a/app/open-iconic/png/external-link-4x.png b/app/open-iconic/png/external-link-4x.png deleted file mode 100755 index a728f8d6fd2cd3569d4d7625c7d96733bfb761dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J7PZ!6Kh}O4Lz4;mxcwD+aKDZN8?$+pFZS0jaQAP|)@=7R zZeCn`d%kFbstQw2ix0!p1r1!BI~_cdgc(=<$>Lm8u#$mkI%m&=oyKiq9}ZL}$M3D! zw3toI;lbJ{kA}wSwuhLwe(aqdqQJC&Q4|wLAJ-HigBo}4wRZOdCS9$cdm+tZnf-C^ uhMO%Ja@Bdicyt=C*?!1ecK(2n1*1~6{DP7c#qU6;GI+ZBxvX^XVv5%;p^9A-y4 zI<7xRH>pfM9w2Yl&^v))28U!r>jWkV4oimK1!AEJISe9)xH@LI*tEE2u5>>UagWVm z>UM?+PoFZBRB9${sfpX;#a=92Yh~N8?Rt+`MEjLgkjU4i#}Wpf&0v*`4Xn( zzinU=dHQ{KLc@6n*Prj_iaDIya?kxQ$J3D8Zd2?Z&6#n#_m#xilQZucFbMANU^$ch z?4*>;fBlpxIT!zLGrty;GVOo(B8GP&2V|cacKLnY67!Ew4nJ za0`PlBg3pY5)2HCC7v#hAr*7p&OF%H?7-uE_iEja|9h%eUCB+H)aWTQW8)D~`~6H# zA`J7?`!_#iXbb+6#hAsZ%A%nwvVgN>54vJw6VH(TTwWnu~*{# z%Sjv=jJacNfN*0mcx10#jO)78&qol`;+03VF9 Ap#T5? diff --git a/app/open-iconic/png/external-link.png b/app/open-iconic/png/external-link.png deleted file mode 100755 index 9f57d5ad638d1d99aa1f5e16e8cf0688e9438d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5hVqL%Euqd1T#P*6qyOPfq z-f@*n7ClhibK!8k=?UJWmI$@H@(KheJ*k<;P6UuH?tZHwc)^J;rOi%gfj^zX(!##iw{8*=YK)lEtyK@bJt4;i{`P;a3d zXEk^TMHhmez>O=%h39BR5On3w%AXVHN)*qaC^I8?0TBkfckQCGAgxNPs&(swfFdK} zy&xhpif?=oBUr!@9`K4j9&v(Y{P-;S9PTivvAz-S%$I4%o`J#_Ia zh_}OcH~8Y%YfOAZ-U$J5!V{(|3i=sh;+&hnRl-@K@+$IJq+iHAEe5SC_p}@N+t|Si zRuUpxiTt(PIi=jofvnFtcB1oELSQD5-@_zaB%Fg#b&i+ld_#6yRwIAs1CI002;}zM zRG>+VwiEu%nijq0ErQ>PfOyEQAo3h+)B9Oe4mrnZA)qI_f^}$gP00qAdT3Q5Lp?MY zQ(hH)Sqo-DVkdlWB`UvCu_|)3u&dnDI@{M^*~OT}Z3E&zhFsS%Mlg><+~dD&`2TQ> fC13dAd;`1z<$ui?_FFZ700000NkvXXu0mjfHVn33 diff --git a/app/open-iconic/png/eye-4x.png b/app/open-iconic/png/eye-4x.png deleted file mode 100755 index 4290ce8bed3153f0d88ab6fd1d4e811fcb02a2ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmV-S0<-;zP)ZLA~qK+v`808>Re?CZL~6i5fZ%^3(sO^W!>!T z-JWNaJn$B~^SsY9J3I5v%Pw|08a4SRa0gR3gM%2s8dk7~7kE3oDF#g9HGZMnN4&w+ zVHoen;~K`rc#Z>unxDh_0gdzV5fgRIuVW)2*v36Hu{TCDzFSV@e8HgtmO8rtU6w aFn$ARIP)a z7o$Nh6r{aqnn(&oQr*^-`UN5svF66Qnv24eK~XsimU76S}0zySXx9;lG(G3>&2Y{puw z#t{C*Jg(tOT*Q?MeRqvzcvlkDC~4p0L#*k$YSi&QehrGfpWVjCc%)zAU&W6V2yeGv z@OCeS58-4Fgtyxnj8rXt9j5yrzGdIy$*RO}z|ElJ8~6mTV-ycIZM6CBaI;N>>vz1k zRPkG+5ZKAt9QL3V;H+UcW&^ypv7=k@n}Xt}u%Zk8<(Lfc|AlR3$)AvZVJGtAT?lW- zM8MBHo{kc(5(|@46^L&k@+W2lHoY3o2FT`gH*IoQ(d6vp_cI;V*?54YAuZS(hB1cA zxGSxrt${)84f-C>5$wc5fZ&GwS9lcPwY5JO5UAUqRcKG92qm z==cZE!G#i?8d7Rdgu9vce`CLtF0aHP{E^|Pm(+5;9|I_|J5>&#sws4-1jknyjBwj36%}}CLI!2f>HfF z*t)91gRK^Za02&wEdEnHI9gncSH!|>S^F7p^-}m^)bXC`j@LiZ$K&56HSbj7qr%75l@OAL|t@O5Yd7D0aNNCx==dYbXhk=Hytn`=s2Ym5#3rOVH5-zVVaJo=wLwx zPNbPmyNk6q+05*{-nHKSz6!oyST}oE&+~icU595qYthiq(9qD(aIP|=CO?;Aq}^`B zBFu09K8W9O1i#^1eBN&RYSLE;3-GWINGr1)!qd2>Ug_ny9$WCY{J^Jc+i^#YaU^pc z-oroo8~Eh*8E&g5q+$#T!?fRDJl0+l){ryGE!eBxz)x?#;GW8(?82is84*}ldlu(c z8}5J1!TS{ll+(5eTWh5Z;mb^c<9G+_uv*wAFKD;`2sdKv=i37{I5A4)^1-T!#f1l0Fi?5Z07r-bi$G zTz`jsH&(WNrD)rn>g16`2Q6X2tBc1o^sO&y{ATHS{g~pb{V+CS4^9YQ^K~H~D9SA9 zQ{kkLy7y!r4kj9I3HyAEL2NShv^XXtMX9XI(0QmGV^>BqjE;*ZIfMA5OaHqI20WSB z_#;E_Tip!an_;Xaq_;6P_2{3HAx>sXrsgRp$ay%NX)HGUhxIO!l=%ldl&Sf!NmJpa zOhYZdWA{-B zBQ5c-bfSQbow!S=HO$5R!iqf}u{}^y`_`Ee2X(O=A5Qc8i8`F$pxhLQRbgUNpjX=! zvAwW_?NeBJ9=;Z~sa%#u{{C?Z+p)gOO4xo`IJtt0sa z2=`?g8;yu0Z<~F-fZffRn!9G7Z)X@gDt_J`5QcM6n_ID-J9(#oXW)W5hS=es;)o#1+g5uTOnbLQc zLdW3_>l2N)gz9ZwY{<}8xFFKu%|r*sR8WtfhUNG(QCpD{>l6lrtLPL*V?uIL6$_*f z{p_MBAk66rg`n6TLOi{;Y4d|xg`I$Vh#5(ON`W6EER zZIC|a`+7CjVVQ98k-GZkUXHGjcaZu~7%`Qw7++gVFsQQ&eUf*@D`p?;}eD2YA4t%?_?4jgjR^wg$9}(MedyR3FX0dRMo%^b+C6vaW!qruYtn0b_ zkT7gl2`Tat;o@UXTSMo${1M@fpz~aQe@*%t8X6iJ8XC?){sq*NT9CN6V*CIA002ov JPDHLkV1f#DMUwyk diff --git a/app/open-iconic/png/eye.png b/app/open-iconic/png/eye.png deleted file mode 100755 index 5874d045a0d511a1546d60c0c498deffd1518e63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY51&zU>nCP$&X0t$Wk2vPyLeOJykf!9nKgWJ zEz{qBa58=v$+$=GX;nl*-KO@|4|A68w)J?BDSk&S;NfbKbDScFEgO@5$Qw_}4tV`( S>3^V)89ZJ6T-G@yGywpE>4EnE diff --git a/app/open-iconic/png/eyedropper-3x.png b/app/open-iconic/png/eyedropper-3x.png deleted file mode 100755 index e62e24618d8e914bcc6a51c0286d7208e64dbc88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmV;!0X+VRP)D;YI=*+{9U~y~>5mVJFP@+aYFK2?3|L zjXPQY9&TY9-*C62ZXVZCchSO|u)^b#l}AsqW^s}LjV(#nu{8wzCw?jp0oKI!dnpI0A--rv!`y{|8e^`Xa!s0Mh^f002ovPDHLkV1l{i!$<%C diff --git a/app/open-iconic/png/eyedropper-4x.png b/app/open-iconic/png/eyedropper-4x.png deleted file mode 100755 index 8030e8959cb869babd01ad3104bb8b4b3124661f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 562 zcmV-20?qx2P)A1!U}2NOM({tewX(7eq8P+RlQW(so>_}^;mpn5 z&g_RTyv5$m`##Ui?#v$P@dUrIh%;lxZNw~Iql;y{!98rLzy;fp4dg0j0^@ez?Ygmp z`5t?!2yDYjiNsFKkAWBY0h1Gn0zdHy)9C#DZ31WIGw$IPc185sn#lequ3*jZN_Vj>J2+TFzE*VbTm!SmyD9>6fks`!??g;KN`*fQH2H$PxRfX{kIgCY zr-3G4v2S2Zti%GQQs9pRO%|~~F!pkZ!~%Awz#j&hEaAYIn$S6s;d3hdL7+(&hazgP z1|(MHr)E^#4Zy$QaAf_pfIx;{F%ox1z>m~~4@#UHRXiIgSjN#B@D=%os&pl81>oOt zEE0Zw1pG8k8UBz{vU6!_ycSR^}HU%#eSd$;At-;F#3Wasw AJpcdz diff --git a/app/open-iconic/png/eyedropper-6x.png b/app/open-iconic/png/eyedropper-6x.png deleted file mode 100755 index 9bee1dec21e81690c57749c718bcf7e8f30bd5ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 745 zcmVijb8@;{7L@cDFWTTWsN=iyeN*W_JRx^qnD@FNViil8?KS`2ABE#ca+;@0A z_ubz)=l#yP_gBB&x!>RC^WN*cd+r6j>Ia?z3Gf3L0j4-+RDrX=6W|N*6&MFbfgzw% z3%0pBftRH4jeQY2iRHkZjO&~G8L&ndJ*|P9p_0T}(ob80H(dj^XbUVBhPINZ0^c0q z8zrjR5|=AFB=K1o(LgeB<{tKm>fu; z4_F!~J9rHOpNaDm`mPPX3iuQW-fReJwG#Lk5k3L7X~FjaAB16h(cPWKfoU4>D}eXH zuwC`F-M|e6_z7UO2K+MMoiJ>7(>3i%)PVIG@JoQV!mvFpuB~`V)PM~d@QZ*q!mxcp zMg_Q81pGqal`w3-WtOdk8vFv_g)r=ZW2TM7ZQPHi|J8ibtt)TPLC@?8a7)OxJ)UOP zJm9%7;E-=Pb^_iKbNKhPp;aG_0PiKy3p^GAk3@ubl9&xV6oQTx0BM}Y4DCIRPi*43KBX99PH@Dq{XO?3bla@ISApNtG|YASF!WBmiO zUh6vz-LxocmnM7 z%#8w%Fu?Tovce+_G5s6ZT1I$Vfdu#kY%UwTi-3{XR3>;=frRw$d&m<$$V)m`fdu#o ztSbY&uRucjaA{-F@a+iLba42P0_S7EhZ2YeA3`81ytY7ec$B~kgU1uLH1Jpg=5>^< bvQ_;75TEma8|TL+00000NkvXXu0mjfaEM0? diff --git a/app/open-iconic/png/eyedropper-8x.png b/app/open-iconic/png/eyedropper-8x.png deleted file mode 100755 index 505cbf6704b1c2b89ce3703e59fc84f8990f1817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1040 zcmV+r1n>KaP)Xg!+XfEulDMj!k&ar8Yq` zX&ulm3>8#@3-~lp4;0wP4b~>)B{b1jf-88><<5u$q+7ye;cHD??UXn`8T+)bzMRiP~r|one;k60YF*5x7z#%wu4TV5Y4S zoWoz#2=f#fyeHEVuHqQ}oJN>BU~GgPQA@anWB4-~VV(iw40h?3P=jOm3XL$&f$Xcye}OE{vj_%$%e*5Y32!dorj z5YQuB_y(A4x^RG^!doff0CM=Zz?7(qLSzbWRKkAb@b$pdNQmLG1s|z|J*cmiC4=7q z(+og^qyygsGzedtLU2f97xF_0?@{LgY-%%l@WrT8BVUBq)MZ+}1LzbE`T)$ZLF`i$ zcuxy~AHr(`wGH?u9PkmCX^h)nCh(pXp}uX_E;;o3>4;0 z)PbjLiY+|CP?_98<`b8(hDR7Io7;g60kdNdk1(9XZNOUJ+#vyvFrd_}s9WnH15ZdO z6Spvg;K64nJ za0`PlBg3pY5AkU7U; zgK=iFSktU$s%`T8cODh#^-upf@nIWx*$Tty1qaygpUBqo-m>CD&%we8(k2lu_aFC) zt|@ev+tlG59rLg;SZVsjbT$6D!j?unyXrTwpIa_d9w9wX8fZO(r>mdKI;Vst0MIK% AR{#J2 diff --git a/app/open-iconic/png/file-2x.png b/app/open-iconic/png/file-2x.png deleted file mode 100755 index 4196c44da842147328112fb85ccc0fcbc09e8f94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARV!uE{-7{oo_EVavf0Mak-fP^5EW`cexg&CEap8=}@NF&*Nb1Grvnh zG(+nVqskHP854yMw9H|OR$+=z3Opdv$-?$z-rlVqfz$Na6`qzZFesBL760Mv%BeEp c0Q&*vZKtYqa%Z@#16su3>FVdQ&MBb@0Aflw9smFU diff --git a/app/open-iconic/png/file-4x.png b/app/open-iconic/png/file-4x.png deleted file mode 100755 index 894dfdcd169637949a567b59113d5fa5f96448b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}x1r;B4qMC;p2j(iOYJT4axRuts-S&J{za$de;=KK<8r;1F52ETKA zl`R&ZVyY5b$go5}>wt+9=M1M6j3$ei928eE9PaQsAh1a4LuUkIh3guomX5!ku2+nv vn=>j*W#s*Md{y1&SKoOh5*irUK!o}Z#T$_e8A_somNR&|`njxgN@xNA#U4KJ diff --git a/app/open-iconic/png/file-6x.png b/app/open-iconic/png/file-6x.png deleted file mode 100755 index 580ab171c4f7417f04ba31324563af123f4ef6db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J7PZ!6KjK;TDBDoqIcvvoK$laO!nziK4q!8}d3F{jVBr6CCMqiq< zmG55ADz==!o)-*Lly)(scKA7PE|Q+mr@*k1gKI*Y0;48})Cb9h3_n@|827koFvclf zVdxj^YH;TWJ&@aC^gzr>*1$z4d{@h|Q%{SZe(K{{VBC<`^^r5=)rVPs|FMI(=NPP* eU!XB|$v)SATB!H`*4nJ za0`PlBg3pY5_5-e1i zU;mc*{t`E48Ajz01_!}a3<(@l83bCg7)}dnG3mIj;M%~m(CC0r%PWSL99#@5IkXru zIlLG&IkFfo3yLr^>bP0l+XkK5*cTU diff --git a/app/open-iconic/png/file.png b/app/open-iconic/png/file.png deleted file mode 100755 index fda62ccaa79ad6b39947d6df6b6b49b39d2e21cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5QX(b%+aeu263rCK zvXmRQ>}rot5%5tvI{U!WRJA=7vl7qkeJ=8u|96$k{s-cvQ6JbU&OhJ(rK?5%OCN81 z;$&{2ynfF4$x??n$p2YqT%S3^`Q4vu3&0 z-1}Y!Yj0S3q(^e}oAP_JTg_klkVm}oTIab~iJSu2G*he95e3ua)gJ2pXn*l1BXfbH u2~S+F-=X5&4bLXqv{v_?q#i4SF{+^(O^pJdG5X3;LqX_!dFFmD3k(#*YT%`_dK8MpI_I zEFnKfe}He=j5`Iu8pZ?czsxvQ09+1%;>`G&)8{w<-S~U%vk~Np^hfn4M)8~hgp)-uLwS?s#9>)+0*_b=zQ>yJ1%r(ys7PEsFpr3S5BCPQcWv)Cb;OyJ^AafY*Qk^)%p9z}}Xk_FCO>+Ajb&ar8DUd-hn}A-K;ru&VsMiB->Yi#r5(0VYENfVhAO@T|44Fdrd}O{!=Szkvub2zE9W2K@*ph=i*mh=w34DMA#ZXkj9v0ZC$zOU7bu zJumLfytDhx&I50^^S;05cDb2n?;u2U|LlN_NT=u zrf;-O%mD*wal-YQwgCey0>_dP1?nB01`MzO^reK7st5SV{{{>&4eUxrCRB}l_^ig$ zp~-X`w}B>bE*YIi`+y&~4H)2ADnOrZ;)l=baw5jAIsyDbZeS`6X1;aXF+z4lL(Dh162z)GhU5Pnl)l4fb2B za_s;f6@bmFRmYrY$?k>{yaC=j=8R(R(3mFtC16X@z+=ZO^<;Ml_@W4J@PE3h$!<~^ zeiIn<%v4KuHFO`H?6L4kE!owT;kQ~Jic4zAZV-FBH4Quz%vDQv*OlRyfy08iYRT@2 zvVkGNOx0w!s0cqH8HjSSTUCN@AbZ!Up6oUh;1_@c0{AG&?rTZ-@5m2jQIg%O67au) zi$eHl$?idk##e>#QIp+B!KTu@8$H?e6Mhbw2lfi!D@%5bfM!kLtN>m!*)@H`h60-1 z6~KdTvU5e#zj`icv<4g$^wLgtpCtxr*jwdlbWhMHMzVV$F#vGO)98Yrhjy|v$d2cL z-RhrqX|e(A@vM)L>-0 z)8ceW^Lo#Gb7sD=Uien`oSFCexc8iy^PUU&bqc8RFisTB^f1OU-~mtqJOh4s81tV} z888SK;3ZHQ*G?QgB58mD`heQFcJy_YKMgRzD9{wuk+SwNu>ol{$26s>-4t$s0gguW zrKST+-2ekL#OE=>qmtp)n=51+0FrnQy=9|!|)fFV5;x#j@R2?uY00Sh0|a)&m;!W-bdg^zk* z7&r-(dLgq=6XD?v$%B+Espk&WB)?6K23)lCq?S9(1>T|qZ-5<^zSMGuzb6V=L%;${ zUn;r78tk9#`KUI5H-O{+Psup+)o;z&x03<2t9w2z`a4RQ}q(*>MLVrPXhjR38 zdj>c!^cOsLs1F2Ms5*gpLVv+?hiieM$A9&u4?t9MhgV7sI3$DzrQG35Kw#{quY69zcj%FrDkIrSN+#$-zRuUo9o`7N ziMOBUgyU=H4o>eObqFR{DI8lfcQC*ep+6wmjPzOz{!uutcJ5$+y+V(_RbyfHrf^K{ z+`#}FgdQiTF=KG6jm9r&=MIMCNmu4eV8sr&4zv{c{AB zmgj5d4ry(2CN7{RCSMb7Se~nyJEZm49d&Bek}Q1ENnTi(!q;5*8H#Ha$!SR5BRcjzZsV{CDO_zAlL Vu8^&ig!upf002ovPDHLkV1jGbwWa_7 diff --git a/app/open-iconic/png/fire.png b/app/open-iconic/png/fire.png deleted file mode 100755 index 4f84ba46354b664dcbdef0f2252c12c2252b9275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY56^R-j7-a<%ThZh R>jMpE@O1TaS?83{1OO}?Hl_do diff --git a/app/open-iconic/png/flag-2x.png b/app/open-iconic/png/flag-2x.png deleted file mode 100755 index 0b26970f671ad6a0db3d2ec52dadb7da6f691e89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5j0>_uOEaS)idNwPC^nvDv3*B?$e$ zC?eE6`=aTDBnRnTmpu#@2uB)QHvV9XZIICqd0@;io%O|zS&fZbGF;eod3bov9Fb@+ jWj(}jRI~630~;HIc#m~bK=vaapnVLUu6{1-oD!M4nJ za0`PlBg3pYARV2aE{-7{oyjQ)2|vy^F!Xrjq!h+9Oq{@^ro^+5w#p|V2KrFF};2lmX& z&YT;?1Rf{H?3i;+>`!_^!iuzn1$$N;V2_fJkeG3DV?%;qFHc)tp>5W|6|7U385YaW VU_1Vii3#W^22WQ%mvv4FO#nm(NfiJ9 diff --git a/app/open-iconic/png/flag-4x.png b/app/open-iconic/png/flag-4x.png deleted file mode 100755 index 14020132816e77d8673d5630b8029515180bbe6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J5PZ!6Kh}O5)4sta)2ps#k|KVje#|MrtBwX7SUMT#Cu$y@Ml}PzA((3ZJe2nT9X8%M?(`){|VPRMfyM^MHYU4+GN%#hyNqjEz92GkCiC KxvXq~pZ}#YN7?MJ@tK7nk`9^}~JJ z-{hv3&vSdv`~G~)rnCFzhaL-aSg=>?Q{|hg%#D9td5dxu&1BwE+)%dl(ca=ev)9h< zy%l!7S9gu?eTQj`yQeg+Vfwa`Ig&+2g*lR0W+`(d(;Ta3hWr+ni$84U+3|%pU$Q{; z$O<$GAr|e#1AGc?UM6I55N=Sdrq;EHRyjqo$sF@+3yyq*=lW zy5cEeRtgNCFEKJkOyT1=u&Km>A#B0#sHfMrIsD~!n6~}GMjg3lE|w0~>>1A)-pVYP i3w9#kg>#IzY8kFh-^S3xBc%-t1qM%7KbLh*2~7YysDkML diff --git a/app/open-iconic/png/flag-8x.png b/app/open-iconic/png/flag-8x.png deleted file mode 100755 index d8fa7f46d97ad071aea53baa38335d8e8361245e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 481 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC&7LlfAr*7p&a(ApF%)q<|LWIwmV-_LEZmM81ax$CTn{>J0CEx? z1y~$E-2b_CW*u@6(U-$x#3I%FN&&os~bbhXF_rkrWhzN|`DxB$`+rm)F hV2bK{f4nJ za0`PlBg3pY50;eRdc+{#R xw0vc%uq*Gk>8vllCTV{b?~~E_x$8%`#N;@>_DwSXyn!Y$c)I$ztaD0e0st-cE#LqE diff --git a/app/open-iconic/png/flash-2x.png b/app/open-iconic/png/flash-2x.png deleted file mode 100755 index 3b7e0d1231008c5f1529144e50e1abd9bb34ba7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5P-c4^` z%t*POF)_>9YQ^#+Wo&G0ZQ4_Atn*y=)?BiHJ;~OPZOelTG45-)zi3|MVLowhg=(lV oGxH&7(4nJ za0`PlBg3pYARSXZT^vI^I^RyR=4((8V0~_J%xV3BgMUoqdWoZ2hEq zdx8NEzk;1u!Saoq)$+-D1>4tl9{qHiJ?X~{I}w+C(IU;0HRL52TC;1>27 z0bBF~w&ep^5`x?2cm7`1_x0ms$B<&#A;70mc?sx122WQ%mvv4FO#rd(QpNxP diff --git a/app/open-iconic/png/flash-4x.png b/app/open-iconic/png/flash-4x.png deleted file mode 100755 index 53c14b9087e101349d62cfae90f4891e7b9fb69b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IUPZ!6Kh}O3kH}WzW3bZm#?6JHGtVJP_N;e5aXd*`adAcUm$JWJET^-7r4jb^p$y z1Gy@E1yY^M*UWr)ORD{ogTe~DWM4f+wf|v diff --git a/app/open-iconic/png/flash-6x.png b/app/open-iconic/png/flash-6x.png deleted file mode 100755 index 7001b2ef9785e216d9aae7e01bec2a7e58ae3ba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H~PZ!6KjK;UqHu4@a5Mj-iXc1st^WnOaz$Jqj>JA(i4R}MuL>wMH z`0?A*?&WpM`Ei0L`WgEhxs7Ygr5hiz&zO8$!EN>X_KUB6CvN#wC$V;)Jcw(kGrwx# zg8wUitxR9~B$w@HfR|j<-?04>*;=dTd-WI8Hb@`(8s2gJy}&yD0@oe?gg*YNZh6fd zBd~72!=8V94}USFYpt(W|9?Ja&%Ptfey2V$M5q4rI43DOy}icRYMNO8lNl3d*F2do zx%2elFOs2({Fl>0dTUft-R4ey?0@Xs3a?5D^Tk24| n&U^UD#TieU!hYj{%72!n`xV34nJ za0`PlBg3pY5)2HC0iG_7Ar*7pPWSaa_4oa#%T{CfVDSU7=ig1!7rtSR=y%_CsN+|l{j2nOUn^3ydsfJQ zU0nAp5{vNOypI#K5)Xc7p3xqn=XRz4SK$4ZXPmXfm0!KScK?)W^Y#0u1Rwrl$mh7e z-(k-`Mj&%N$8~%6J^y46ePxUjSXbXx@i)5VHM5O!%zu%OzsxzVvsXCn_{TZr81L5t0nnFkF% zbEEg>iG@Q{m{eg8L8mUX8SF)_jt9muJ~T|0!n@tSV2;KRD&n1oP(1 zr^5ATA6)ntoA<|znX~doC7aQw&iBR>CbzGb^f<*Fv$6Q6f6wjX?296~-GKql;OXk; Jvd$@?2>?<}!0!M6 diff --git a/app/open-iconic/png/flash.png b/app/open-iconic/png/flash.png deleted file mode 100755 index 151b591fb382156eecbff2ae69d80fb870d3c507..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY55)yv!FWuP09Kibj4nJ za0`PlBg3pY54nJ za0`PlBg3pYARV5bE{-7{oo^>O@-YbTuq?l0d)#>Mj1P>Qf@S=c!C z&Z|eJOv&pOrQTcb!E;gEQ=yUNKF6tpf8I1QxO|JB+<1kdHigh diff --git a/app/open-iconic/png/folder-6x.png b/app/open-iconic/png/folder-6x.png deleted file mode 100755 index e2f6dbf3487873ae5cf7d3ba9bbbd48679c2b4cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w$r;B4qM&sKX2RWGx85j=s+HK)Hy&>>p`b0Ui2exY*cy*RrPspF7 zD&WNSA*IhSbKdqhJ+A3m2f`Y14c?0d<@{se+8{bX<^S646V@_BGj3zbVZ8wqNzewW zfD6mdK II;Vst0C0^;X#fBK diff --git a/app/open-iconic/png/folder-8x.png b/app/open-iconic/png/folder-8x.png deleted file mode 100755 index 6f2acc446221b23b571e6b2872647b9e019a6a4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5`<3$KTO!e4ca0d{Y&Bz_x~+ hL%R0ffztgyc|HF(7}(q>-2n6zgQu&X%Q~loCIEW;Y8L4nJ za0`PlBg3pY54nJ za0`PlBg3pY572(;K=X!v;aa)po655s-G%31qaIpiGV?@U^% z!|P|1X>7bZ_ZF*1qtuI*r5Svj0Svkq7F{66mYDt=%t-5ENg>*XQ;1pV#BJdaZ5M6hVv@VGT!zx8PAeu10>-&=p@t64wb h+0$yuJvr?mw{nC#_l!xOdV&67@O1TaS?83{1OVZeZh8O! diff --git a/app/open-iconic/png/fork-3x.png b/app/open-iconic/png/fork-3x.png deleted file mode 100755 index dac801b9a91c599781e8f33b2fdeb6a61643686a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmV;L0cHM)P)?A zZ=jM=QSaf$N&Ko*`?o@Z78Q>m7EAoG3B>8nPSW_o5O(+3d6&)XfKv)gfC5-m-!YKj z*8n&Io`EkQ2QrOMfhkaW;?A=v0d5rj)@L$N;5stFXB~M8V?!?Z+~5mourfA$cjSMX za14A%M!4H9%!ao8dpX&fP5bz=TI~W4Tf2~$_8a5ZHm8tU0DH#> z+ctS^V6|VXotqi~Px$YD#%89ud5TgixhgA61ub+=>*9H0olv!S?JqGi}#DnTtI;znMANJ!b}f zlmzlX5oiQf1aiSUmlD7la0L}?MIIg)2A zJm6oKSp%F!aFqgMz?OmE#Jwf~~N$+)+RfuT6|4~2{`v4P50WJJp7m$r`z~6r$0jwB&o`GfH z$r0-l_>v|LD~)}uDgx8J26rh1+**?V?gu^nR4x?+$vc*dqX1hM4BJH<1vC`}ybn6L zhpyXcJEN$8n!;Z*KZ*;`%yb%Gv7|HIJ^s`ai!#8YC3y{4h%0$V6TmM1rPK=S2H3$e b)Ag%wCk!^2Xv`lq00000NkvXXu0mjf-2v9J diff --git a/app/open-iconic/png/fork-6x.png b/app/open-iconic/png/fork-6x.png deleted file mode 100755 index 75b40f87d2c40996b0f9891a40c687cba5de810d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 779 zcmV+m1N8ifP)X{YEqnm@>H%-H25?ltKLC7I@aKU2zVKdU@a;+X%)~Zj z@a;)#DS{{Xy*7F6sYe2%5&V%N_;3Wg)dmIraRYwttC|8Ai!$_(#JFt0za(`|6aR#! z1pbr(|5YA5!R_}eB>>*Ql_5py z0~Q1Li@+WaJ^+W&)hi9)m@gct0Sn6DPbv6-D|a7yz(;YjrqwRsr3b%`o3&sa6yQf< zz_|5tTHv2W@$HZn-*UhhjZF9!U&%`KKY>7P%DKLz1yz;6g`Df}EN_yxOT=gcaE1Ky z_bn}OZ9ov$aK27A`Z~W0p)|&MQDzFQT|(Ov%izmSU>?~1uO={0{MWs*1jY%oC@W21 z2Dl5H#Gow6+lBTOjJpn8#g*S0HGv<>F)I0%(+_~noeU&I{pe0*pMbrUM4F)<+-{(K zpJ#EiR;d!4Z4tUCAD18UpBf^5XBj9x>J?eJ)1rIaX<4|_uS<`5MP<0t9hKFA#_FK2 zR*K;KDr9<+(kR8oJ(k?*j!QC`d|R#bsN0kP6B$AIwii^m23p!pn0x#U*jYimnW~{n zVgdQbMkVUQIm1Q4PvD&9RjCv>58MYn@;m4cz&+eAqg7)`{sMf+oV&AR6;A*F002ov JPDHLkV1jxYUfBQu diff --git a/app/open-iconic/png/fork-8x.png b/app/open-iconic/png/fork-8x.png deleted file mode 100755 index 4fdd7616288085c659c6f85c59c2e92e1cc0a793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1042 zcmV+t1nv8YP)lC|Q4~N=CdRF>al|jgRX`1}4p<6I`StS_;05pyxC*@XjFXnhz;=)S zCeWrWo)0tu{lK6n`hn{}rJ{c-Z~^!(@OJ~}`Lj5|)B&9WadC72yA}MKfYucL7GPtj zydj0SIF1GQ_aobN!^IC^Us`!xfVenzrSNYhEcwE(K{zhvOQD3w>Cv-O7Bij@NYETGT8-;3K>BNE}x`A9I)q{L(Us0GFt z_$z>&zKbHfa76`ed6QHQ+%fRqPT*$&x(`F0$Ugm;Ww;|#%isHJ z%tUBD4)0AW2M#IvkEHMea8yCwkX8|_?kle4V{u$J+fM0ar6L(75o6q zz&%e(zL&i~BQRS_4palT1nxL)gDCX{SnK(HOBR#x9Ya=(2cCJ{_d+G5xC6?7HMm;BYR|O~ zHDo?~pYk4D`FREI4l=aHKN0_TA6yM%0d~C!ztMU^(~c{aNf(lLqC-VHFvl|KLh?>_ zsHio~xQM)yEso>1>HbaL3CGcit6F7F-iZ$a%_OTaim`Yttw9&?9C!d+#_;8hZviF= z$LRo0;L7XmK{ImYu#Uhnf|&-KLtZMsj(o97o^7P-(|eDsA)=%?NZ4z#KHRPGsH6s+ zzu5i2mW<~fOeOA*m)5b>hM+^Ml(>fe+1;3F1_8{&rcdw(x-Uyiu0lC+~pqdC(I0;$F|8EGZo%_#cxW9rdcfCCxNT@8&sy_1>GTA72S zYg_HX?V^8z<-mR9$=}7OPcLs)0cUWH3SIn3xC?j+oCa3rHai7=0^KKWh&fhbr~m)} M07*qoM6N<$f&%d37ytkO diff --git a/app/open-iconic/png/fork.png b/app/open-iconic/png/fork.png deleted file mode 100755 index 2d8d1a70e830166310d907a59d6091f48d047382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5z&M4G zm(e>--@)wtDuY`GuL!R(5}EX>%Jk8iu;VL}&iypm4nJ za0`PlBg3pYARX_2vK$INxJGMHG|XSDc6-}A0#DEP0z zI5Dsy%;B(claP&2hNv9pv2ueV_FK9e6)tIhoTbaD`$6iy5Z6A1i#ELLRh0XlZSTE! zajmIp#k0mO9A*A?BRywh<&-IT(5}9DHVooP;cb= z()HF;;e*x(?~P$h&DRf|ixBZ!e&WA^$UB`t+5W?KedjWj_m!?X@bc(4CYCTye$Ug6 z|1W*n&v-Afi-}*_klA$gFXN5UK?*94+&6@_|4?5N{3Q3t%7PFDCjVOQHqMyFeEEi5 V@`}HX@`1d{;OXk;vd$@?2>=amW@P{X diff --git a/app/open-iconic/png/fullscreen-enter-6x.png b/app/open-iconic/png/fullscreen-enter-6x.png deleted file mode 100755 index 0bbb5e1ffa6a3222c8a2b840bfd90d0540ccc71c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6HBT4Ekc`H+GotyL3`AJn@6NFPtaEnmOL0y^ky}ObYpaC*-KtL0 zS;Y9@X+>v)5AS`ab%)+C?s4#4Y4(k`kbCQtF2)Czky?`; z8fu81v`-ORYBbB(x8*LoxLjiKY29L{%~R(6y|n&$OKNPD+oNJX4?FK_)ossqq_5uM zzR2Xb?b4*x_7fFvGFwc#akrYgfxUuB{6XB#fBT~Te_(jkn_=B~So;;rG@DEy!-czH zqe~lugjWh@!$g;53=$qSM{mD8)A70g(v}qrCan!x58Ffn)L#fN88!I{erVtq{?NoP e_@SkKFJs1&iI4nJ za0`PlBg3pY5)2HCO`a}}Ar*7p&Wg@sG8ACZewcJer`9CTZQq1|BguPT%WY4N`m{Vc zxK(_Q5X1FGZgyMRT;?;>2JrqEvy#YEAi2G;FYbqD9p?M zx9#%ebr}^etmnvmaXsw(|KSmr4-X{$e3~3^OXq)ecd3Y97Wb9EKchW=;)iwh6-VkA->c-j z?CW@;pO~HQ<6_S_d$*t8qGK@)`VaOL|Noiy-@m`n%~i&l(^vZ?%blW!H#{@E7BOf{ znV`kcrJ};!z{L5I>3~im8)L#0gKh=`&mVvM3l?#lPtEA!xSwlacc@ynukXWt{v&Qz z_6WGTT{+;+B~bdIkjX{2W(q?fzr34nJ za0`PlBg3pY5K!X@OUHx3vIVCg!05v-*egFUf diff --git a/app/open-iconic/png/fullscreen-exit-2x.png b/app/open-iconic/png/fullscreen-exit-2x.png deleted file mode 100755 index 5d1f046cc234e6a222465e74b8dcef14c7e2c5ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5O%>INtG-*vinuw>zU sqr+D>6v;1U5Hp5D!VDISS_PKLhGLqVfz~p3y85}Sb4q9e0E8n!Z2$lO diff --git a/app/open-iconic/png/fullscreen-exit-3x.png b/app/open-iconic/png/fullscreen-exit-3x.png deleted file mode 100755 index 3a5ca7b157575c1f4225edc441e6b8548086afa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQf^E{-7{oo6RI@*Pm%V0nA~<@q0x)fcCkDD7~#oy@8d+~GnBwq(apNoh^Srmz WcgF@f1*8Mr#Ng@b=d#Wzp$Pz>!cuSm diff --git a/app/open-iconic/png/fullscreen-exit-4x.png b/app/open-iconic/png/fullscreen-exit-4x.png deleted file mode 100755 index fb4971391b073ffc502cdac3020b66576ea966db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I+PZ!6Kh}NgmPV==W2(Y;CulZB7*MW&8QO=enS^bVxtmyQ+Q&;dU zSMFV=Ew%gdM4sn%GI|p=ek*>M=yIE1G()v2)RHJ>m#~C(vp@7DV5&ld}=b0vL3}RwCe|T2j)p`a)HtR2T%!TWK P&S&s+^>bP0l+XkKuryqX diff --git a/app/open-iconic/png/fullscreen-exit-6x.png b/app/open-iconic/png/fullscreen-exit-6x.png deleted file mode 100755 index 9b57007fa0c4efae5f24628a166f712d59d2d885..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6DNh&2kc`H+({J-ND+stO|NH6X^zHgtJ&chF`CI0;nBTBe7wUDe zymKwbB#me4zU`*W8_pM=jjM{AGw1QN;+H)~O8dOmEnO_M)bg3;)IN_Z&t@zSyQ5ra zept1fLAUc-z@(R9fwrJnSi>|yh7y%S&MIORQQ|J`5kI&# zGHq#LXf4oWwcwcL)ZleNkxA@B9#hx{J*H_No-y&iX1d|EhbLWrW7VcF4cmnZnzsuS zw6+VCNZ7DBUOwQ=F1c*HNbOCSK1IU%|k@(s7WIcIW zz}A$~@K78cio-*3cqk4J#o?hiJQRnA;_#3R|N33PAg@;-=x8CsP@)8EBOy}2780Tb z*h^R;z*@p80k#r)0n~ZNUc!~(>bPew;p$*D-nEx7GE@!s?Iny3)Jey-0@Tr=gC1*m zm^V&Ox~$=0?l?W@vxbNH4nJ za0`PlBg3pY5vxGYv}FDR$H-W-Q)wxn1{q>U8gY&pFR?{=ApJ zXyE{N_z3Hvjb=&w4;nbe@E;oldA%(8CKq^!C5(q}r$BU7Bq=Iy6$CCqJs;D~_naNR zhFYtn#Zw$%Rhr8{%;X@FpCY*oH9X=3GeI`QK55#+D6zNU}VG*NY^Vr6F_%AV5WUogh#deB6(_UF} m9!=?nb)|vz(ZO!M=M3LHMSS$)<@8_x0000LS6-H@1p-Gh z@vJHK^JF4<3x5;l!+Ce}%w}gqZ*KIZ|w9zN$XlPsqN9mAY^%_U#mE=u`;ICMN%y zFsTD|69(pD1^5K+;XQt2N#%EN1@q=Yyt71in^~AHvHVW}+;3+Gc_8IEQ`0+b|;RctSX?`Tkw1+U}%q zpQoJjc(sRRp0_dKK2Le{J3>SE6cN=bgc`zc%W)jUuFU^U7@{TI#-}oZe^iVFw%2h6 Q0RR9107*qoM6N<$g5kvWBme*a diff --git a/app/open-iconic/png/globe-4x.png b/app/open-iconic/png/globe-4x.png deleted file mode 100755 index 4191eb7160ee9203580cd7fda129417c42a85169..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 761 zcmVky33wK8#oNfK+tSderZwiRs<0LjFgcC73F}wrUN=&>KVyAND zdE!5@TR4^?%)yHi0}T^}J277Qwx3PL6ybJ-c=|a0#>A);!2zr*5txhnxKq&o1`~wH zZ!O`OhB3I3{y1B8wD$_Rpb8sOb3WiWE@Zd{Wsc%Zf#~JL+>{!^4XhPnW}mPlgoO1h z!+lDsvna_Nix7r3yuv*!#bU#OyCcIrAlxEbbA-FG4BH|N5RNL%buRh7C`V^AVJos7 z>zfd6U}uKw7Y+*VMONno+|23dZc@Arw{rN3+6{P@)A2kZi^ZV`@kU}YSkM`J{+lDk zhwwdX;D?Y%dW55?i^;+}(UgI=nU5U_>8c0=E1M7>!s}L{l1XDp^4l9>;AzCzG#<4I zk3$+;#TO6{aJ~rx{jkOVTk~6ZT&`n#O|mxZ!NVNBqPB_fz~7@ z)lQj#2NA-f<)`L8j4hhfDdguO15av-uP#{3OH8ktJg>yWXB+wrGig=h`s%Dai*_M;t8Pct&FNBd=5^31R80dB!UMuR|L>}05tH2} rVvT?Qo;RxHk9cJG@A)MmyH?^4cEroOg97(T00000NkvXXu0mjf04`aV diff --git a/app/open-iconic/png/globe-6x.png b/app/open-iconic/png/globe-6x.png deleted file mode 100755 index db3bf0b140473944dbd3a425e0e6e14212d52a4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1147 zcmV->1cdvEP)sxdf?kZE3ld!*f>Jc0$j1mI4W%L^q3EF?=q3^bQBe>{1U~m5fF| zjF(L3^svs!GiT2Co&8;oe^_wf+k375+LyJ~-un!w2McivuEz+jz-(O7{631m@gojm zH$K20HQ6tPdDw(6&?qT;u@Q4GB=N=AhLaVDcghKD#iD)^pN1_>V|5Yllre0^P~GH5 z@O2-Fcgj~-S{L~>ViR5{@+}#~>Z;_|<6NS_qjoebsL_*rv-GL!@9EM zA51i|8~0**qTU(!BvE%u3Olhz?@>C96$SOqz^;PiTQjjL)yRnSHUD;#R4QI8LB1u& zG2F|*G{vLMH<+5}z|IN|H1MS!A$Cg%rQ;$ir(j4dySKy=EaSvuS;`kHm!zIcB;ScE zajc8Jqu7p98TQ6RRGWlt31rXUBfN)~aYsq=Exg~Rdq37XAI;Y1@OZIP(L8Cj&H9Rj z+p$D!%+t6Z10CN7#9(#faY9D{xG8~r1NYTLegJ!#I^WD`w@mD@Zd@K}Z+V05UwWrl!VGjAznA2=`byMoXBN;Z&;__yj1^70j-8kkG z8z;+wex8_S<=EXJ>Z!vyZ5pD4=^1@eV|-EE)x&Ozyfi3EhhB#2#zo5Kk9LgEdzwD3 z!B8h&?_o1l4#8gu4VTqOenU;<8#qE_*Io_Zsfqk`iS|me5&o6eRM*E<9e*fjXkjq$M;}+?dTV5mUtB;UIn&F?n`H2bNUq-wj6x z#dTjdEN}ZgE@r9ONPDC=J&4HT*83{Zm*I2EHNlqwjRyvJR}|$iaPK{P2?AdgMF5reG>B0 zQpF!M4%9&YW|42QY#bA>pGjCP{Sl%eVt851!z;4ye;OituPmx~T>%F^biVvf#V}qF zw{yMpKTwo>yA!E1@u#@|UyG|ue6g7>rhf&V5o%BYC*b(Zjxuu$C3*ZE>UCdz}%4BHRP6<6GQBymI@pn);acc+L_tcp?|WHbCQ|$ueE3PUTd$tCWC*>0Tu$+0(HP# zU=~mTlohTy1)KzWfM0=b;5%R!a5x1UogxD?0jF-CIbc2TGxko$ z4aPd;?U^vB1U3Kz_;Wlg{Xh#c=;sVsU=47B^c)Y%U%+Z0@a*dt)B#^x817nj0rR|i zT!IIIzdbu-A_KrmkA9N{UYP)nCP^zAQ$jVYlmYJocdIH6;WV%t=mfq;B1I1{h|J>( zpaxigguB~-*@j#I9{|gc{K6V#z;^VX#95#NcmSAgz`FqGGT<%BCyXRo#>fI&HHl9H zZvpcycr(CeP2Tb3JuD-H?ws#Oo}4XS)8vhl7fp>=Wk}c#Of@A19x~*OlNGu~)L|Fu z4ggo`k{0lV1#grL0JW+HWO0+^d~V`BupBtzfIlo>qPQNcaYVSoZ~!P6+6cS^^f|I8 z4?LPgT#1|9{uFSt#Q>C|isW$k5AchEUB^h+Np8?|bUgV6d3r8!Zv@w8$O3l(l542c zAD)XM$)Ufc?F8;ep7!;?OjjOL$IR3Y=zH&n9H(tLj^@L|IBd8G6XNZnp#zCZ8BKP7a; z*p)}>3bn}e*pYB;sZ>ou4lPtL$Bi#WNGgs@Lk?2T0_7Td8z&(PiVB)E6uU$-Y6Z{p z4RqHB$Q)BaHL~)iiE`jokNW2aNN7>TDo=();dP`|=nFLfM^Rri29bp(4Lqq~m#G{E z{ldr79-S`Y4w7?v7cz(e(eL<;|J6vT+_&?2q<|Yc0RJKtng&KE7Z3aL9@ysD=`jNk zHwF4a#;rpJY>#87i)e7@oQeztNM}YA${Afjc>%by@Ozq#rx9rOpfe690_2D)4&lPX zr$9aO=D3DUIo$+30n(EbhnrF`q=+LaaseC+DA^T7;Px~uDWD@oE`aU;*+j&lk#s6Q z06!v8AT8_#iMvUwq4yCh0n4H+aaxz9`uUBd_!#1*)4XE!S_7!i+mMEBl^yb*$3Z&%xv85gp97P`FtqRw+ zAnVvDR3IlWF6P%_D_6{MkAiKzz=cr?S`-wh$ZzNsCtaaU!M11P6y$KX7k|d3X9`g1 zYxo0&j1}S7pjOy179i~?rUUSi z4S5L7NUNI;e>)C#uw_W&vB?1JMrw$Y4Y_9nk0WoAF84OzJVV|wC_|beOy7i)NW1-G z$fjk+I2<|Tp!PoGyniop+H1ns?$Y@pf`VbT3u94+kzAn{wJ@eL=e>SIw1RZM5L14nJ za0`PlBg3pY59Xrd!VyaiK+VScc zr;JTg_EIqxR@s`PY)t)6R9obqSu8lpT&-gJxzG4m#G_`ZOo5X!+A&I7j+!2d%K0;~ z{hNz%&#vV63lC_#n=bLiO){yC)o;a-TUKp;h6kn0&+NL@B0DSL>dg29Omg0j+m2rW PI)=g1)z4*}Q$iB}nQ=>n diff --git a/app/open-iconic/png/graph-2x.png b/app/open-iconic/png/graph-2x.png deleted file mode 100755 index 32a75cd8ad62059eeaa7724390bc864d0a010663..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARVhbT^vI^I^SM(%)O0)Q=&E?$v z!%=T(?X9(2SpSPS2tQ!jzz`HJo?oN+VP9Xd`W}`%uivMc<3I2G#BxRM$1&#n(#+fB zew>rgxb6P<7FYHy{a=#X|E&#;{GlbJuUz<6MQwr8{VO^#_Y^nrE%G-N)93lKdv|Dd#d?iwYi@9PWOlZXUx2qmlLsP-kFzb70ib+t12yI3gm&VX7F_Nb6Mw< G&;$VJpJE6A diff --git a/app/open-iconic/png/graph-4x.png b/app/open-iconic/png/graph-4x.png deleted file mode 100755 index d4b876b7fa552db0ceb6dc8a4541709d5d2b4b90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I3PZ!6Kh}O5)1G$?F1P*-MUmMxk!KKu6p{J_j#X=>mKkHKYqk3lS zPPq5&(ZNQ8^8G7k2Xjbk7I5d(C3Ea);Ie2x=FXe*Oi{#c+k^Rc_@;c+EGXP!Z~9U4 zZFn4GtD0SZr@qO@tpN!uJJX#OPF2g(&J#PM^LFmTb+@Ae?8QuDW(5RQJ-ieYbad(T z4lTRR&fR8xTqg?8SLol_mO5*v;kmQBkDcvjjee(7d*?F9Ok N!PC{xWt~$(69CJQfK>nh diff --git a/app/open-iconic/png/graph-6x.png b/app/open-iconic/png/graph-6x.png deleted file mode 100755 index c104689a552e9b0c11a1a1ea0625607048a87cb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 455 zcmV;&0XY7NP)(gJKg<_uzPfbG|~fJfDLWPD%k`+ zfFny$3uJeoz+? zE#mAG{>d)^r=qOMkc9CEgu~6@M zE#Z%afN{X<*M^rIKu2-F&ETb1pR}Ulr4Jobca8UiuZ+6n-~l{I(E3L3Y@I-*Hy(D6D@qz5UHtV4Qov+Uhg8gfnt0o!QTX|S#HApySS7d zKeNY>x)rSLSi{f2SHkgku`#Qp3%t{gzsK-oxUGpN4C8(3nn-FU|GSAK{}u5~ypbT@ xr~6$wIXO9T)1kQUlTEVsyiaaGJGlYvd;#~C?8U;{4AKAq002ovPDHLkV1mU4#^V40 diff --git a/app/open-iconic/png/graph-8x.png b/app/open-iconic/png/graph-8x.png deleted file mode 100755 index 1de13604f055c75ad595675a6f0561b2f731a933..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 615 zcmV-t0+{`YP)&YgKUAJ4tN=j_|Pdk<8b25<+A z`wrrRCh!7$0r$X|-#Ei%5_qL2FY5*v@fm7ZOz~G<)+JE$7tKA>z#D3LS!dqTIcA2z z^0JOSWpu_Y@J>E?SqEN{I$#ccd0D%me=D|tD`3>H|D(VxLua0zfXOTW1&E<1E|4}6 z%P#<*L@K{X#PUl-EWb>|@++8&dzbH823RFv`EAP}YXmI6Wf^E)(I1TbrXr9|u#JrV z(#z)wFEaYGhF5xdowuz}^s7EL!N{9@VTr!}ZG-;O$lLr>33@-3!OGiSq}Y~lZkWNc zB2YB)wl^k0%iG?P1}$&nl(u4nJ za0`PlBg3pY54nJ za0`PlBg3pY50;ALiOyJ*0`;2SOfvi<4{ QUZ7eAPgg&ebxsLQ0QvPDUH||9 diff --git a/app/open-iconic/png/grid-four-up-3x.png b/app/open-iconic/png/grid-four-up-3x.png deleted file mode 100755 index 7ef3ff334b52bf85421ccdc80728cf77445a8532..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARWe@E{-7{oyjQ)2|vy^F!Xrjtm-f}ydZJmPE(+RfPqoZvPFRoni9UQ jiyMjzW_7tSK4oBdCL$mjDqmX;)Xw1P>gTe~DWM4f@0}%2 diff --git a/app/open-iconic/png/grid-four-up-4x.png b/app/open-iconic/png/grid-four-up-4x.png deleted file mode 100755 index 49ce0a02f658e232094fef05f08692258dc0cf58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{fr;B4qMC;ot3k4Yz1eg!D{Htc;o#(jWb=|!=UX#zfsk#&XU%8*N m;TYc^IfgO^h8v8G8yKVt1!QMgS>FfhXYh3Ob6Mw<&;$TuK_}w? diff --git a/app/open-iconic/png/grid-four-up-6x.png b/app/open-iconic/png/grid-four-up-6x.png deleted file mode 100755 index b1045c6cfb534fe4784d04e24573d16e26a59003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}x0r;B4qM&sLS8wC$2@US?Z{QEt}Jb`IZ`^CHy8aq4Quc~?-uYa$9 zSH0Nr>jD$h7!tOvJG|}eyT4!mH#C?qGHkx-l*x37h2cyZ_fk#|VFrWS><=mgbeHOj R`vVPU@O1TaS?83{1OV4zH-Z2F diff --git a/app/open-iconic/png/grid-four-up-8x.png b/app/open-iconic/png/grid-four-up-8x.png deleted file mode 100755 index a05adb4e4a9fe79f74dd545034432ffb86572c86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY54nJ za0`PlBg3pY5PZ!4!i{9jvgoGdG8@MDEngl-b;Sp(SG*5WIsC+m>hsQ>umz9l; YfkTZ`_~?htO+Y;ip00i_>zopr0P8Xz2mk;8 diff --git a/app/open-iconic/png/grid-three-up-3x.png b/app/open-iconic/png/grid-three-up-3x.png deleted file mode 100755 index c3f70a2fde864e4186093d75d0247ae4aa408427..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQ*2E{-7{oyjQ)2|vy^$QmeZJQ;Sl#aa34ffcOG`3E%=I3y(9jBl-A kUEJ_2!DMl7l!GM$L+~L^`LJf&1wj1_p00i_>zopr02%Qn0ssI2 diff --git a/app/open-iconic/png/grid-three-up-4x.png b/app/open-iconic/png/grid-three-up-4x.png deleted file mode 100755 index c5ec4f0ed4468419c896e2bc87d87d6f9b8c631c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{rr;B4qMC;qDihK+TJS+#b|Nl3xU@=`Vqttg+T8#F|GdpiRTm5^n rnpysB&HTzu z&u`jP$uOEiAwzleW94kl6;Q~qV|M=4nJ za0`PlBg3pY5p4lq>pyE5U%exyA#iovt*<$w7yZ)Z0lJXE)78&qol`;+0N_PZkpKVy diff --git a/app/open-iconic/png/grid-three-up.png b/app/open-iconic/png/grid-three-up.png deleted file mode 100755 index 3269e87fd885862e01eee3349a717926e5ad5f83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5PZ!4!i{9jvgoGdG8)OX@ecZSz`Ow0d83tJgG!haTmTbE?#o_|c Z)Sr1QqAoHG8-RKkJYD@<);T3K0RWj~BkTYG diff --git a/app/open-iconic/png/grid-two-up-3x.png b/app/open-iconic/png/grid-two-up-3x.png deleted file mode 100755 index 4e4328d5300586cf7271ea2a89a5fb9343fe1676..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARWe@E{-7{oyjQ)2|vy|NEkd4P+u{X@{an^LB{Ts5?BytP diff --git a/app/open-iconic/png/grid-two-up-6x.png b/app/open-iconic/png/grid-two-up-6x.png deleted file mode 100755 index d18258773f04dc4dbe15848fa4565f91ac826e88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wrr;B4qM&sKX8#xa!a4mdKI;Vst0IpUu9{>OV diff --git a/app/open-iconic/png/grid-two-up-8x.png b/app/open-iconic/png/grid-two-up-8x.png deleted file mode 100755 index 1a38f276628ed6c55c594ee527955f9ea90dab18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5BM{vYn6 dO5xLai`m?kC03zGG6U!^22WQ%mvv4FO#lO(Nx=XB diff --git a/app/open-iconic/png/grid-two-up.png b/app/open-iconic/png/grid-two-up.png deleted file mode 100755 index a89d2e474561d8da5340b07cdbb3aed950472b39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5<{9 diff --git a/app/open-iconic/png/hard-drive-2x.png b/app/open-iconic/png/hard-drive-2x.png deleted file mode 100755 index e18e6ff83b52161250d9357008d605ae56c66dac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5=-K#F-fo9A^GwD)7*NXZ492SelF{r5}E)AjX@v) diff --git a/app/open-iconic/png/hard-drive-3x.png b/app/open-iconic/png/hard-drive-3x.png deleted file mode 100755 index 7245511587ff021e87aa047b8c029348db5135c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQf^E{-7{oo}alay1z6xX#~vz2NCf5tj1{%|kD)y?jV)%YxZ%0Uw|n;tlYyR@mQ@e#G1$K_|G^uVWWZ_cetCh}oe$a^r&I>w|d5>Z>c;ANjV z&pSP>N6i!V^m3(`zK$}9ZCqOYEP0LgBYjbi+6BT)r#fob=N#^p)@UhDJJqYS6zF&c MPgg&ebxsLQ09^!MwEzGB diff --git a/app/open-iconic/png/hard-drive-6x.png b/app/open-iconic/png/hard-drive-6x.png deleted file mode 100755 index 64a34816036a5b7e15923566ac9d6e5814a872dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6E>9Q7kc`H+H+{X1I0!gA%vV~$ef%Rw+zIIyQH39j9`Sw=(z9uZ zHkUi>_-AJC3#H9mwg*poXicoTF#DC-74Fc0lEb$9*!Rh;N!(;*z^1k|;cB^9y)T!` zWTuNt985F?P?^CGO|3fPH$-d?e7Nqo%dVo^+jjO#Z%zI3)w6i-1F7ohe+??0ZKwG3 zHXhl%>+@>HwXrgfSRNl2c?L&Nz&|)>#MV^hi5s#SKXC&_H%JsRjq%!VA z>b;_W2^mb6o%A;QvMPD6`0^^ErZY!5=)o2N>(`$at`Pbaa{UjF`;H*4nJ za0`PlBg3pY5)2HC-JULvAr*7p&bIYCY#`A#U!qj8l~ZM1Llu*oL}L*jU-J>hh@A|! z3}@B^Sg0aacd7-Q_!V72c)(O0x zp(#3Xqv($G7o*s-pRf}x2J9KV%O{)Su;VY(8@Edy-I&*LwAX$6%H@^fKFB p5h`BBWoq?ci?SfA@B_Om54n#8v}_lu{053E22WQ%mvv4FO#lHTyCDDo diff --git a/app/open-iconic/png/hard-drive.png b/app/open-iconic/png/hard-drive.png deleted file mode 100755 index 9c4b77baab419247b500bbe4fca51882a2d6eee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5o9%e02j)~P>UzF+r>Z;i&i zkd%biC)~cwGUs~6Z|<02QEua@v){ZY{7|8~)xxejjB);4noDnJ$pcMf@O1TaS?83{ F1OTYxFns_3 diff --git a/app/open-iconic/png/header-2x.png b/app/open-iconic/png/header-2x.png deleted file mode 100755 index ba67f61019985f3595472d8d2f810e1f421e2cd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARTp{E{-7{oo}bU=4w#jaoazYU+3!Y+x)^QYjTy?+Spn2-P_BVCL}nA z?mKy3rbzrSvq%|(_@^)4R`Y(D|4*q4sbO$PkPW%{T3B0ssqdjL&+k8Z$k=r0+0Fp9 z|8a}1C2JY|7pj$Nc;Eh9*XXa1g2MiJrhyVmpse!o-|w1dZ6}i?1e7nyvd26TO;P-E z`H;yXMvISvn+k*L3flhnu>>g4f!q^U6)` z?A{d;e0b{nd(1);4rHwOIPa_8uJ;WrI<^<8gu-6#1ByE632>WkPTseyhQ;nqzKQj= k=!=VM9Nsr==jJG6Y?`h1CXqLY6X-$)Pgg&ebxsLQ0Ql@zZU6uP diff --git a/app/open-iconic/png/header-6x.png b/app/open-iconic/png/header-6x.png deleted file mode 100755 index 411d22f0bcfd885a7dfd1f2aff3e9fa960df86b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IrPZ!6KjK;S!5Arn`2(Yq04t>G?Y9`Bv-yfH;TS`V>+O#9=zDkV8 zx7=mCx>MM8Bs&Z5+@JmLpvE0u&I;wmd}RjVg2y|n_UukeVA$34r)=fi@K4nbwj6BM zyqIu9Xpe!~r|RY!r$vq@Pwc;>`f0P9-L{_&HOyXDpCn9*|Ld&7n6L7nmu1h&xCapd z$zNMjoxU0?fW&-HYHj)cx4nJ za0`PlBg3pY5)2HCDxNNmAr*7p&OYdM*g=9#{n1LZeUs(1x7t-}?(36NQi}W5{>JEH z4YRH2CthcTg*oaEnm79NzQ6i+_rb@r)fsabXR~Zz%@H~vc04F1;!5e$fwSs2*R#ZR zKeksrr;}dw@5(=yfBGBpkxXwCaNGtmrYx;H}@>dZs5E(pO{an^LB{Ts5`GS{O diff --git a/app/open-iconic/png/header.png b/app/open-iconic/png/header.png deleted file mode 100755 index cdf6d0e4412a98118fe1290a0bf3cdb123228064..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5{NSkxaEx1_U^Tyy(N~;nK5M_y8>Ll`_={an^LB{Ts5mmDXg diff --git a/app/open-iconic/png/headphones-2x.png b/app/open-iconic/png/headphones-2x.png deleted file mode 100755 index 2389741a21a2985934b7b4957e403db53b0d15f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY51`in;uNu z@-Q&Fr*m@2#WOXRuZunFY81+7h`YwB(J*z=_AShE2eK3IHoO&*k^UfiqJhPu(e{JL zdoGtK$IJuSNAEMNP2r1jR8D)gBS~-O=Cp4~YJE*1Msw5r_`mvv>3w0C!zKCu#`Bci wNm>C94lr*~`{DIJu)ye>JO8qO2LF?J!)mpkbV)CJ33M!jr>mdKI;Vst0B|o|QUCw| diff --git a/app/open-iconic/png/headphones-3x.png b/app/open-iconic/png/headphones-3x.png deleted file mode 100755 index 1b16dd2ec5cf2f644bd28bef9b921f9001fde18c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARV7QT^vI^I^Rz8Z7M zO>&NoTLM_pN8 z3s)d^_7V|9L>)$f|`lra8Suh=eY z-uXoI1e<7KVpJ_`;q;Rbg*!1L-S&H|<>0R4L3%q1%|th1K3{;p5D9URm)w+|_B>A> zVk6LaHtcLB_N4c`3=*6LTD#$*MufN+obQ(mFoHrO_82-=S2j!>n?sJ2-z&ut}8OExY}vtLahW5 zQu+`oLhnHH6*aZ|DeFHo3ioIfE6tNXCiIo=7Vk1P^GrKc8n~5?X420dx zfBrLbW-^=2VUH3p3rqmxz!*?$-+Kd|fLq`UI07Cm#x^DZmVk5MQ=_$jQ(&R3;e;~b zi0T-RYS+M2H;os79Sg>Pw=E!_wfSM-Dg*Q1?E)Cg()>+^<~vJj$hP?c$ws~gtO3)& z2w_R&+n;BEb>KdM&Lx)1DX!-4fH@$SKq~;|frl8)iY@cym_Sva-#~W&*p1Ony*mY{ zx60MD0e}sK{x!*FRb)vaUQHwXi(N&W`82|3f@lr1vXK}-UK1y#q9sA_lW@V>W>JXM zB0N`VvmyxANLiNx0rD&?t2#+c2-gqVqPA%Phr+!{sgo*!apC%LQbz_z+L9L~FGNr0 zh>^8qj0!QIO~gI~u`ExF1tI3U)Iqfvr8>`I0UO74_B3P*pMYz80={Ld@)ig8dtvqQ8aRz9iX=o_#cb-PvaACjZeTeJ^|PG z1YGkk5@>3Czn+zm4z&CPz`jO@JxwzvX!|J;z744(pSxdyO}g+Fu?PKlJRXmNFRDL7 Ua%pG9m;e9(07*qoM6N<$f)iZt5dZ)H diff --git a/app/open-iconic/png/headphones-8x.png b/app/open-iconic/png/headphones-8x.png deleted file mode 100755 index 00bd9f62bb3f4bb3ff6eed06dbd2e3191165a928..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 802 zcmV+-1Ks?IP)M^WCu#L4L;mEU=3DREsoz*w_W0p^l`|G66h6nRV6p==cFV1ZshLGG-3=fWO8^ z$9v#xh{jA<0=k52J{=w4N`U?{SqAnA-+Vguf$QG8Jc4D^N-foVItB=Yutfe(eg}9C z+yX8D4PbIO8pGFa120gEU7p%|z-6x;A7GAr-}yFh1DML8F@-w9KIhQs0B5W^GhhPq z)xHPZ1F9B!HQ)izH`Lt1^C|MNp^-Ll-l1+2_++Sk-=Xe5%wo35*+y-HU2__tHOF`Ww zZJV$cC^gi5gDg+)T#3zSgc8(wJ~THqo(8Bj!+B-<~8#l4Qlv8r+vnc~2uU=|ZF+$1;2+z#mANywftCL%`iBg%*syr7E3ExDDfWYh4q=`P)ZxT`6IjFSq2wO$l5#YklKMCKp;j6F gM4nJ za0`PlBg3pY5VcjmvjRZ_>jrGnm|^T8fuy z&U;q-qv%M}oxEd=ZD|z`dbIO)JkXn9$Xa{ISZY=ME3-hW^S$9*FRx@vY4nJ za0`PlBg3pY5mu5eD94nJ za0`PlBg3pYARVtfT^vI^I`3Y&>wDNifaQVyGj+|z8Gb8Rm$ImMH5D~DaPX_B1~7Uk z9Be+X5wR_@{WG`n*~{n7zIi*Z?|;uphqvp0CC5DATVHXUYx>G-M@+7U{qT5mW%|k= zHxII(DgUy(qUY7}i0>WQdW9{L^A`PTHksyn{zcZAk4?sN_%B4W?OItmd7b<<{}ArE ztX56tBDbdBTV?OVzNo|OQ?Jw34I4M;6__R+FuiK?{;0V4)3vW67gq({?s<0JA~SCJ z8Iem_^R$;-|Fd3kcE`_sip^)*+uo$g@!tILvp1dhWYRs+O=mOj@kk!6F<&B6^niPl X{<-BGT<5HSzGm=r^>bP0l+XkKyMK!j diff --git a/app/open-iconic/png/heart-4x.png b/app/open-iconic/png/heart-4x.png deleted file mode 100755 index 6915f4ae0ded153ad163ac3950bc5d0b50b85d30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 395 zcmV;60d)R}P)Jt+pITa{Qbb05 z>Fhd!3c`{Oq*6PN{t$W`Mrt3n!4Rk0J2xS^;rTLl?YbFz-tnJ5o<=-{a)KT{FvSnP z(8p;GzKchUF^gv$U+b;|JGjFfi;S7a_p~$k`y70472m;V4Y)kd*iZ2XcrCyWmUs^Z z;AE~-d_RD{N#O2=*OoOi9O0}C-@+9x6i*`-U*bHFU%+QT`()lk8xqRDH$Z{I^ zDO%VIv11KFG91$75acCrd{$ z9Aa35{6+NdSedFztd&0@?kEP)0h7bDno{ zGII{=th3I4mrgJ{D}M_Q@DlIw14A6+H6CHR0>6)kI2tpD80Fw^;t;1};H(+oIW8~2 z-@;RzMeuLo^BmyG`HG!6_&fL##ozb)XIy56*qy;Yh~(d{2rn;k<1hR>8Q4?#SMV*< z0wbK@Vu|0!_dvd98R2Ojm-sIt`F+JdJ@*2qinq;nB)^Bd=*pj-V&9*SGR21+rn(#i!s!B6Hluo2D%)D zq89n661B>w>}3#dOg^P*iALp9mMzf=`IJRVv`Ri@&wTfZR?4URt3<2iQ>K+z3Hg-C o5-TO2l1i+ke9EpBmaiqh0Mg)1G;UnxS^xk507*qoM6N<$f|H8=`~Uy| diff --git a/app/open-iconic/png/heart-8x.png b/app/open-iconic/png/heart-8x.png deleted file mode 100755 index 9b7f1403f80ec3a2fa58eb989407797d2368363a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmV;)0yh1LP)E2DuYnEVX>wbU z%mO!nHQ*9(8aS5R_q+dD;{RBbxC1;$B%_qG4?IFj%F8L>A+R^0e?6~125u!!mR3AI zUxB;8bO!$va2xny;a>t?dzO z`VRwJ4&^$}fkOfMx#vNyb2BvmS>T(;1?(Xow4wM}_bAu7ABumDeBbq1XBXLBn)+j8 zdpU!DW`S!+31`x^{eB0UM5-p zN*gyP!l6u;e;>*Ma&+wSWY%i>$kAIWmMd05A2^pbeAP4nJ za0`PlBg3pY5^CSpJQDKtY9{B>PaRbUE^qB!xOYqE?%i2uW<(e9FYGb3+a3D&a!$nJpG*rr%Ie-d RWC${y!PC{xWt~$(69AHwIsgCw diff --git a/app/open-iconic/png/home-2x.png b/app/open-iconic/png/home-2x.png deleted file mode 100755 index 2dd1d3df4947703e4d20d51e80b4a620de1b17f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY52(Yq0=JdWe&8KH-X5fux)`DZ)DlCQJj~hLo z9eAEAcfeTe#-gwt;i)V#0*mzC?M-5=5%a4`nA)_mNK)r+qvPr|l?;=^B0saFP2S3J y>9>|d!@J}cZoe7#7Nm8Re(k?y|L}Xmx0r)Xh7T87{xbtw&fw|l=d#Wzp$P!x8b4nJ za0`PlBg3pYARRM2T^vI^I^RxmzIjixiuGXWwbIEVlDE#Z zh$zM*af(j`=;B?UFOA`n5&%mg(K7J9zSk mUtDxgRq5~W5b-Nhp0od8&t1SW;aVZkjSQZyelF{r5}E++Qd!dg diff --git a/app/open-iconic/png/home-4x.png b/app/open-iconic/png/home-4x.png deleted file mode 100755 index 946cd1ad9676516bbae5453b78aada0d97ecc361..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IkPZ!6Kh}O4L4EdN8MO@||%i7!ddZJE%{<3?S*O_lfROei8^PR9@ zeyZba`;#Ur29wP>C#+|)urxQmcQS~(~TcUM!%S!QPnx6Ct^xBAGycG=P3EMk-3|-E7z0xg?wDg%Gc7Z7>VQQiJxAGsezV!c@+W-=9SX#vx*?Q2q Ul;_SFpeGnSUHx3vIVCg!03^6(&j0`b diff --git a/app/open-iconic/png/home-6x.png b/app/open-iconic/png/home-6x.png deleted file mode 100755 index 9c9b84a22e33afe3fecd1f32039f7bea1263ff61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp64o?@ykc`H+)4aJ38Hl*{D{1T!wy*Bm#WwxXo>$Y>tXsl&wNbM* zU{=_qJss~4EN#B@Ev|~KvEoeQp)|RV)`1a>svkCKHZILr%qX#7k!JkzP2V>y4Lhd$ zZkdAf(wNj5&9}yp2^rzXrgPm`w*K~oaLIVT14_AHAD;SAq`WYw?fsOOi?8UVeGE9& zp&=SIbBUMaBMsr$l_5asXWUDJv>%_AjrgvcKOykgboLGJwdQpj?Tg6>)G|-~rLmP! z;$z@5k2ZCec5MUJv~Ryy_!jrE$7x3KF4+3oqO|+M3x>>+1`{g>DOrVHz6ohUA7W#l puQF?zv$gIYKZ;y{i0jY%d*3d#E(xqJI}Hpd22WQ%mvv4FO#sCcjphIV diff --git a/app/open-iconic/png/home-8x.png b/app/open-iconic/png/home-8x.png deleted file mode 100755 index 711088214695f5ecc000296722d8c8cffbdd701e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCS)MMAAr*7p&N%IR*g>LYzk*7@ixzkP(~DWX9?C5cjWSqy#8QaQ z!fBJzd#fAPuT$+Zr!-GZ`FHWm(FMu8IaX_1?NshC@NRg2h2eUTyCkQ>>GvPmx8B{H zWf`)sz9L>)YmUqQPll#<%U3BB?D=H4^+0Xi?#mOSerl;3Zu=DKt5gv6G+6E9g!erk zeL{cEh-+MJqrTL*^l9?1B?~-Ro~^9;IQc~APbKw7g$ zQ~hTic^h(^{nVNoAL|Dn_1pEAelnbE(z!I$ZkevKnqWlQ)8t!>{?6^!gMQAqXKB=V zOH2N;*be51kHJ61#eQ5;oXGz`Xvd4%I>z&>TjXz?f3C~jY(DR4QJ@x|L#{(FbAWWf zV}>hiS1cH|GMb_a%}M{!Kc$?{`OGi7NB7MSFs|TTQOJ4nJ za0`PlBg3pY5QM(S9Sbx z>Jd3VsWh1r4?CCkNv}H}v3KLLj-qPGB@2yhwm5R_K3LE7Qi7NHPV}E=Kr(^b diff --git a/app/open-iconic/png/image-2x.png b/app/open-iconic/png/image-2x.png deleted file mode 100755 index 3a1b005fa1b6edad515e80de26166a0faab3347b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5$e*WFKFd~@|jh0ElfA}f^o9av{F882aRIbrlbklDxY eY3|ngM~prq5l3tbek=i6#Ng@b=d#Wzp$Py%NI%a2 diff --git a/app/open-iconic/png/image-3x.png b/app/open-iconic/png/image-3x.png deleted file mode 100755 index 25f704f977204626e605ad94c641a38b45c2dcc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARX17E{-7{oo}yPpSJr+F{#{%JhipY-64v1Vndzopr0OUeS9{>OV diff --git a/app/open-iconic/png/image-4x.png b/app/open-iconic/png/image-4x.png deleted file mode 100755 index 91aa7a3b251dd70b2039ab7de0d978e42f65b6d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H%PZ!6Kh}O5)E^-}E;9$LQ`$qfs=WkOF-inzP)i?1$cgaTqTM-5o zi)+tz)-W<8sHY`L&cD(c4A!g(%NgE?G|Xk%(9G1Ay=T*vdOkO; z{pTNei&Vanf47oR=FrZP&ZD0e|4VHM$?LrEO`kFCsTju+dA5vG_Z2SGNi^_vIWTNC zWZodKjDhWtj6iPzql?lVhCq&R2bM#!4|+KmE0hi~#B~HTuq(+V^e$is6L`s>p`^;- zxP&!Ba3!OZOVt5krgTe~DWM4f D01Itm diff --git a/app/open-iconic/png/image-8x.png b/app/open-iconic/png/image-8x.png deleted file mode 100755 index 9b455b52d1c559ee63ccb197a19d6e710de56381..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCdY&$hAr*7p-rC4_$bhHip~%MvwZ#!H!j^WvePVuc?v=HV&dryQ zu<+8Hzo{_p3xgHY0`?1n47Lq@3@;c+aVNP(3;5yK>LB>J<&?E+1j?+wAltSzu?+_{L{io=}zd)Ixia{3Sw;cWttRnOK V6rL+Ax&jPN22WQ%mvv4FO#qE7kZu3~ diff --git a/app/open-iconic/png/image.png b/app/open-iconic/png/image.png deleted file mode 100755 index b46dffb8f28a363663586a381130c02a2dfde529..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5;9&LVe6s!Tn@K!nClfL?ObWF`6E+?H6`88X9+=-6da<%6g0KzQ64iu|JDm SR!#+)&fw|l=d#Wzp$Pyf9XG!K diff --git a/app/open-iconic/png/inbox-3x.png b/app/open-iconic/png/inbox-3x.png deleted file mode 100755 index 66b00a7fdd5bed2413f555b49fe30cdf7a38c98e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARS4bE{-7{oo}Z)ay1z6u&6&`|5F(MW}%(JJr}VYZ4-7w?rM#t#sW;H z3G8M`LA)OnEEv31Y*?KmpXN;7as5$Ey^E&D!J5YVQE>%bdum&<+*P=)o9S0ilDqTy g@XyW#Y@hmt!*X@+OkUgm5NI2Nr>mdKI;Vst0Do6HQ~&?~ diff --git a/app/open-iconic/png/inbox-4x.png b/app/open-iconic/png/inbox-4x.png deleted file mode 100755 index 58cb8104b7394bd9e6a67828452f570285494916..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w+r;B4qMC;pY2e}#yc$hEv{P|G3%AD0cX?H~+)3#G5_#{P+@ts|4 zpuv#CFl)uPqS%!5z&7cG10oGm_e?!Fb9=u2{02rgiG&75o)33!zv}-t^-DEx%2(Ed zhay|eZ}2Ed&0}&AocZC|);kQ$%NS%1{n^Ycb2}&hQj&W;&~^q-S3j3^P6*Ne*B`~0WBEnrU(c2IBdW0=dZ>nY>;bLF>lwbzyYI<@(aumDutim`<0 z1CTM&t n{D0CSxWW4wWWIE`yyw3zb$k9po{Gyr=Q4P@`njxgN@xNAxRYHb diff --git a/app/open-iconic/png/inbox-8x.png b/app/open-iconic/png/inbox-8x.png deleted file mode 100755 index 5caf5e6c2ac28e4892cc9ca9ff804b9c8b9f7210..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 369 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC!k#XUAr*7p&N|3>$U(sMzuVd)OgV*I8#tpk*f>6RbmTa=#^|v1 zoB9pgH|(i=qiQgzWLn8&6aKPyll0!&{&8%+^ktQyjmZz04PwO!yqQFIX@j z3Hf5Y0^-76-&RtT$^mOi;>>0uAa=jM<2&tG+joIO3z z;>{$FFMhH1y_+W5yKE|cm3mch(E;4nJ za0`PlBg3pY54nJ za0`PlBg3pY5X@f` zN=owC6}IwNi*pT6x8|_hR=tlcs?T;Dt9vM))Z+Ti$8g12#|Ntl?FzfN zYu109Zqe*{Ky;VIq3jzx@hjyo9_DLHOg{Q0Z{sJkxUS6L9MOMyKNihhv{LL=@4l-q zuI9fF=DB##@ZKT2Nk_TPzevA4dxN#bfAu5fb5u^;l=^Qjw`zU`$DGwnceTUp4(Qf} g#9N+x(EEXX?nc+zlkSssfSzISboFyt=akR{0I!jBX#fBK diff --git a/app/open-iconic/png/infinity-3x.png b/app/open-iconic/png/infinity-3x.png deleted file mode 100755 index 8b0284fcb17193712752252379eacdf46dd3ef51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk;P)K)J-eJK@`XF4|c9+N#25Z zH;M==#m1T>Vl8Fig;*#HrIdx_DQvl6>0yIw;bAfVTVwkFFAK~2t69vM?>TcibIwp# zUH_>rtl|>yc*8zM3it+0-~g4(=K?F}NZ~=;OGYON;CWr-XPUjl8{Pd zDCIc7Y|aJK1#C;iyfqd;sha-C5xVP#PNN$~a~x(AmuNDFAD5J9Au>D)4^=`RHj|)- zIEwb4SQi?ilqL8aozFoV$~hUP>sT1Z9-(D_sl7B#a#3%ZXh?R;(YAr1M9}H1^1S}L434*8y_96%pO$=x!SX}WH3uAHiz{%b{ zk9%9s52l%&@9fUb**Uao)v8smPGb(s_=6vKjmy~DfZvI$c#D;gV;OgFstVkOXIQPU zF3y(l>u?c2YjQkI6*7(wHDJ+hpi|(7akmeC0i(qOJnjR|?Lj!iFy;s3!Bk@L1rB2q z#xRZViMY9v%DXs^&Dem0c%Fzm0M{euOAP7N1U@yWY!Q1C{7}eUjGYmHqVs41&b6!N z5FfFlfewtL~GI(Rq$f4_J=W3qlUg=eg7QwO*E;NOMYS)*}0sR6q<6N3ev zlb)DGn-2w->ZGiOxs|4jb?J{cb>h-Lsw P00000NkvXXu0mjfZ1~{l diff --git a/app/open-iconic/png/infinity-6x.png b/app/open-iconic/png/infinity-6x.png deleted file mode 100755 index 70dc65663d33adc4da4d412a8d52ddc49468e221..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 784 zcmV+r1MmEaP)5)``jXd=FZRN@y96;DS+6!8T; z`{?On_R7s>&8)Td-k0--=W5OTpLtm`vu2UWWHOmdCXdVuHq;@#S4A- zXJH3^$F&asO`O4Dtms9&8W%BDBW_|Bh8y^2U@z|0%<(tgts|a}UusIb<4?R&BgaBq z>M_U9?KYM&EW8%Ih>N%*JyIXyexEsxV5m%fxKD8rPw;Vxe;Zl@%JF@-{7pO?kbDZ0 z*xcdYil+ngKgF`n4xCODz9KBrS22Rw*nqz(l1$(O;kBt6`Eyt&>`Eh;kKMw~6svQx zX#A2yq2uiamobF>6(joq4-?N@_!841Ip(w*8ms?09Edy|!`z6tlMQ&BND_;O!VFdM z62>ErZ{d%~!>?<|3*K+oiAQ+5fq!qrGb+)$1q~7qW@55N<6BtU(7h<)8Y8~IW;9F! zpVjEVjvl--Bd&?k1ECLMi?Nfb0p}dpE3{F)y}l)^nID^@w?)91DSCI=1 zVPXE%qxdZ5B^qBaU-kMai)X?QhFW*;cT|7x7cq{V5~EVWbbKYuSe+afu&ROof0pA1 z;leX6>?}`k8NXqR@SV~tFJe262^XirKic=ixMYU_ O0000lzGMP*!lgVWMZw!@a zdo^yy23&(toZIp7JHE#kn83k$!=$6L5qIEbT!|H!!(aFX-(f#K!4Gwb-iOJKP^wK~ z8CZ{bc{ zh7p{NTks~PO9XKU=Lu{6n-br(@jAvk+9RDrBG#0W~YS2wu048 zvV#6Z#P?3(7oi#4G=O-OneVr!2hd+Hei3>QE>388RJdNIaF&pi)YbW}?GWmNDXb6* zq(%Ow_0%RlN(f*I*F}WaDVN#p#iu3OPl_jGH;Cr}bHY)3l1+&LoWMImRb@4n3T3Wa zg;_6C!)pm;^=0B4aj&(7wY#ySy|fd{-FR1eO1`0g;EB?-xg%EW{aX<;)2D*h1$g72K8r!m!(1;Z)gy92_>u; z%QRD;oW-LF`Up3u<24Dlg>$^@!^rdMdl>oK0BQZT!n0Bp;e!UdM0FWg{heT+cpY(3 zhJ@o~e@W3pLNTI_3~(3^D}PGt6ROwI4yJO2`Oo8*3hNbqGyi$KRl;u>#+`Z|ze?Cp z=Y-SiXQ!UW_u!|7V#s7NnM@{=$z(E_OeXUm=U*%@khft;b=Cj?002ovPDHLkV1j&r B>E!?b diff --git a/app/open-iconic/png/infinity.png b/app/open-iconic/png/infinity.png deleted file mode 100755 index db25fbe372e9d2c664a6bfe3cf20473c2572e869..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY50W z?z2xj+{-MSHfP5Mt|*>D*M7dOPrMw3?F&2C-n?bF?3u^5n*R@2lavK4L!X`e4m6m- M)78&qol`;+0A;l@)&Kwi diff --git a/app/open-iconic/png/info-2x.png b/app/open-iconic/png/info-2x.png deleted file mode 100755 index 36c3cf812ee46f1b0714a7adab8124925ab2b53d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5k diff --git a/app/open-iconic/png/info-3x.png b/app/open-iconic/png/info-3x.png deleted file mode 100755 index 10e7fc514257d1a4319b0b5a46bd5cdf92f01f26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387 zcmV-}0et?6P)J z5Ui}UwM${;a|l*8S|~O`AiZ|!1+lT$&QhC*af7F0l4AkRM|fui=P{s?WY61aor-+Oxipnw z%rdH|poI$)4mGcK@M5rIp0OPxd;{P9wqy^VST72=4g&9SgonVpDhhZD!YZk^5_qp! zLS`qtTO8pn1e*DMkaCq~~%zjaU)P{!Su@LS2Y6;>I? hc#@n+Q!?|3;XeQ>VuM1uF1`Q&002ovPDHLkV1h=unrZ+5 diff --git a/app/open-iconic/png/info-4x.png b/app/open-iconic/png/info-4x.png deleted file mode 100755 index f3be15ccb589349af515dda54fb815901198131a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmV;#0XzPQP)DY*6qA@%?5tK%NvXYsf(p3^UWmmoIG&i@S?6Nm4+FcLo%8)Wmoo!? zv;lO1Aus@rfy7g8EBG@o7VRmPiS7?@-P$n>3^NS$^E%IXFfexM?8CrmM(o5x{#+%f z1t*995m=95K$~cz=DZKIV#5EAN4Jw?DJ|oJC|k~T?@!&drnPzq1M|SG1-ys4%mmRI uaFYXH4h7dLqfWz1)CF~fn)5mZ{`?b-zN{&L^B;@=00002}HKIo@P63<1FCn_XNj19+MoE`X zq5~XOa!jR3wtN!zl^j!P<353PCC5~HxKCim_s=WAG?j=kfz5*Y0&ym=;?Z}xFpGbn zidpBg>i;DrT}Hutq&lR_PpH{BQpK$E>zLJM2Y3N2P~yxVaDW3NKm)T}ZUOti9`FHJ z0xs*RWmCtzh*?YIDln?>vwu_3%Zand+3#XDf~DpWa`ta1dO2|f_<~&frO*B? z44PEo+#}FCdp&E4K6?*DON5F%#W-fC_FmF;c9>SN@wR{H|4#_zIj; z@U?OkQ};gd7gbDCI1jwSt!zq@`C%%Ur|}qbSFndEulJbMCddo>8-Pu5+GS@4TL1t6 M07*qoM6N<$g1XHy*Z=?k diff --git a/app/open-iconic/png/info-8x.png b/app/open-iconic/png/info-8x.png deleted file mode 100755 index afd7f83a502b664698c8bf208a54431a69ace532..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 918 zcmV;H18Mw;P)8{Q+UL>O)$Ui)>kKf?P!X5ACvRNFY&2(FX-V1*X!f)@FqSAyGj_1wp0ey|tKo zK`uGx-giFE>%|Ao>gCM+opWa9otbwoq>oPE3NQuCjDrrc-w1e+E*B?(q0!Ed5Q$q*IUV~X+mxA6P zWGFuYmsFGnq6X8QOAUU6^#*(TiK~i<8hDS-UgMB>Kv0sS8XaX1Qw%{v)tDv=FU1-~#dlI7Ea=P=hVNZ|v2d2R3U749!*K zv42BNU0}9jHaWK7bC~nPisU+S_3x{x3rq{<08~oAZY_bK89)yHfttF&tVcdF%VF*e zRwRAM)xWEzE&>zC)px%2nO1fpSO1=xx(J*@PQV^DbrE=oJ@{vO(&8|UJpsqnltn_? z_%!KBi?bb;_Vm9j&l<2NZ_ZU*j0AiYo_ATE?Gt=w%G9F5IQA+|Vm^`-vkr4T&gT2X zRa}f7AkFe^z;nz;l6p+H?*?7~t%C2Ev$_bhBCi9I*aEOEVjNC9#(x5aqekFJ8}cW# za_k4@Y;jp}7Jmsi7FoMDF5(`1Uv$-;IfGfiB)(}Fp|2Mb; sI122=oEsGO1v8i{G-JRm0$!B(2RY((!_sntg8%>k07*qoM6N<$g6IRDBme*a diff --git a/app/open-iconic/png/info.png b/app/open-iconic/png/info.png deleted file mode 100755 index 552fa18529309f7587e2e3efa086fba7e2325112..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5b diff --git a/app/open-iconic/png/italic-2x.png b/app/open-iconic/png/italic-2x.png deleted file mode 100755 index 36615811aaf955da4d294409eb414e0d01c9737e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5ynNR+5_AiOZzV#w^<$;IC&+fjGU~>P3@hzSO+|L9{*$h}5<{QR0RUWcre$o7M znxXj)_5-HOFV-B+HfpfvTfeQYa^;68>qFWV3ykX52wj`s{ZsSGo?g+uc)o~l$})Qx Y0%lmSf0lZp0(2CEr>mdKI;Vst0C#{?F#rGn diff --git a/app/open-iconic/png/italic-3x.png b/app/open-iconic/png/italic-3x.png deleted file mode 100755 index 53580fa8b870bc847c33602fb01449ebcc3118a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARX>^vI^I^Rxp;@ZO^CrU#uNUp!d(Rkm=iUtDc2B_0}h z@`zVmnJkBj{X^dq4*Q%>yML=YX{)}O<%CA6`44yPw)Ed}<_k6&yl8byXN>3A!M;t5 zZEeH+#!9U{On!$F=5w*%018eMW7E2`nAJw?-MK>vT;{7ZV^+R-xQ_LX&Yk9l*)7q= zCIXxDZ!(H6sEJ-}R>gZoE3kfLO;6I1RHyWq1>Y9F@%_)Y{9?r}#i+}w+Kv6QWg{2 z)|9L>$LYuqp*ikdmEu89oX@q+QRB0;d*tJF=l7BqKR!K)XsqA#@Tq&ooQ5E7J61WT z#;Ia+zI}=>;6JnFf%5~M1N>114Xq5{9o9xBs2|XGSjyTzF@G&fwy{ij^k9jj`DjZSYDd9dn}=z+k7_q&@cA8_^9U0b?6x1l;ApXW{zH&0Z>Dj(H{ l{_Wgr>V3bhkNn2uZ>n%*LGvvGCZLxXJYD@<);T3K0RVTMa9;ob diff --git a/app/open-iconic/png/italic-6x.png b/app/open-iconic/png/italic-6x.png deleted file mode 100755 index 2d933d7cd5d332b2b9695a0700c4201f15ec8197..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 403 zcmV;E0c`$>P)tG4L2F9ramR^OffIVZIdqUB2Qsn&t&JxW;N)%TEAfJg zy4z@}I<)z@f3vTec`~LzuBi$Mpm3-|pXl&mQ-k058VA x|1c(mKg#Xs7k!^t^w$9^)o-(U0cxr*;0Jy0iyS4=dmaD)002ovPDHLkV1gLjtp5N2 diff --git a/app/open-iconic/png/italic-8x.png b/app/open-iconic/png/italic-8x.png deleted file mode 100755 index d6d3d22f00c802dec256e351e592e51792c68645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 443 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCv7RoDAr*7p&ery0Nfcnqu82Ib$dE&Zuh;3(4wh-$2^;4$PAFhK zBx=FnsA$-rA|aQglQ`*Z{_g2t!aY~dy}NS1`O2P|jTZNt?nkH`j+bAT5~-sd=djhm z6i&GFNz9j3`pkG{)6viv;rIi-yS8>nKHe`LdmwPzjxOUz?e$5IK9xg=Y# z{Rsbm&NnIDs{@X_H@h3vqE)AU^O2Uw$7;4~n~#QSJSv}#n*sn0}-{EO{8nPO*z{D;62ka*gI)(2R-w%on22WQ%mvv4FO#tSjzN7#E diff --git a/app/open-iconic/png/italic.png b/app/open-iconic/png/italic.png deleted file mode 100755 index 30120f8a426deb859c987e3bbf722b552fc8a2d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5YwHh~{AJ^e zV-t9$+I0F(YHVzLC=%jmWai1d;)(l;&;o|y6s;+7hYlS0AR5W2%*^-xpajF$8NBx- TwJ&)Ajc4$5^>bP0l+XkKDR4DB diff --git a/app/open-iconic/png/justify-center-2x.png b/app/open-iconic/png/justify-center-2x.png deleted file mode 100755 index c504dd4d09ebd149b2dd3e74deb2e9cee1569b26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARVTjE{-7{oyjQ)2|vy|I3IBFKKwH2poRj6grr;WMU4d_Jz@mY(2+#Gmp~?ir>mdKI;Vst06GaKG5`Po diff --git a/app/open-iconic/png/justify-center-4x.png b/app/open-iconic/png/justify-center-4x.png deleted file mode 100755 index 29aa793d76d7fdca9462eb10a3bd3fbfbe3337d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380|0r;B4qMC;otihK+T0?Y?>|Nl465PGw;Nw#vC>2-$Li>~r)Z(tF) t(|DiT<6Q&m5}Ulsy9-jU?LWYDiBbMFi&T+$sVC4F22WQ%mvv4FO#p{7E1duU diff --git a/app/open-iconic/png/justify-center-6x.png b/app/open-iconic/png/justify-center-6x.png deleted file mode 100755 index 4357395471c3429b90d10f1bc729953147109866..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380|Ar;B4qM&sLS8wC$2@US?Z{QEseDq)Vm9?7@MRCaZ|Usd%w$^TbF zFw-R#hBMbvxl=hkgc%HG>rPQq@MSoV^Y`Po?Y&#}e*IPN;4q7!;ilMzWEL&&)47v@ PMl*Q2`njxgN@xNA=cYEJ diff --git a/app/open-iconic/png/justify-center-8x.png b/app/open-iconic/png/justify-center-8x.png deleted file mode 100755 index ed7e6300abdeb7da5e391d786167b78f8b7d497a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5gTe~DWM4fJxxVB diff --git a/app/open-iconic/png/justify-center.png b/app/open-iconic/png/justify-center.png deleted file mode 100755 index ac753f3ba6809c4b923ff385641b91618bc85c0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY54nJ za0`PlBg3pYARWe@E{-7{oyjQ)2|vy|I3IBFKKwH2poRj6grr;WMU4d_J!~OCWEJ|pUXO@geCy!R3)YW diff --git a/app/open-iconic/png/justify-left-4x.png b/app/open-iconic/png/justify-left-4x.png deleted file mode 100755 index 75d2d640986cda6cf8388eca66959fbfc3d4ba6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{br;B4qMC;ot3mFd>@Emd2`TPByJb{SjI~N-|ek`ww{*qIt$FNGx rx}cij1|#E#<9ugc7XIa8Il!*}nnmi_|Mp`*GZ;Kw{an^LB{Ts5x>zn1 diff --git a/app/open-iconic/png/justify-left-6x.png b/app/open-iconic/png/justify-left-6x.png deleted file mode 100755 index 87136844619e09e17003a3cacf645becfe891a31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{lr;B4qM&sLShC&SnJj{+W|Nob~cOamnr~I|Z&Qr5g%K6H++JBhZ zV8+O>+c#&S9%C*OL)qrmTP#~R8E(AokIuMfWA~4bBSV;B!)@jh$t+s$G|n>t&1LX( L^>bP0l+XkKwTLm! diff --git a/app/open-iconic/png/justify-left-8x.png b/app/open-iconic/png/justify-left-8x.png deleted file mode 100755 index bfeac17cc9d4eb4bb734daaeb5a306c8c6de1801..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5gTe~ HDWM4fwwV|x diff --git a/app/open-iconic/png/justify-right-2x.png b/app/open-iconic/png/justify-right-2x.png deleted file mode 100755 index 61c31fd310e2e208145819d8c88dd0fd83963be7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARWe@E{-7{oyjQ)2|vy|I3IBFKKwH2poRj6grr;WMU4d_JbP0l+XkKWj-m$ diff --git a/app/open-iconic/png/justify-right-6x.png b/app/open-iconic/png/justify-right-6x.png deleted file mode 100755 index 6b72189f051cd30454dd2bdbe321dcbfae456c7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{lr;B4qM&sLS8+i{H@Gv`S{eC~^%>=#l$Ik!3XEq{&b z0$+v$dBV{vyd7pUG~CTuXvUb!#85U{Jil)1+`j$HOt)AV-h5-2AkCsF&)oM6XfA`N LtDnm{r-UW|<4nJ za0`PlBg3pY5~7^H|lKc?0{;=izogKU5?1T!!M{A6hIV6oix S;_*VD4nJ za0`PlBg3pY5mdK II;Vst0M)}88~^|S diff --git a/app/open-iconic/png/key-2x.png b/app/open-iconic/png/key-2x.png deleted file mode 100755 index 006575ac80d6d295fb3885a62f10ca099c4c643b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5kY3F1|+ q!=@k6X4f{JHgoE(tBOxA)N_ZG9ZUSGlHv(+JA4nJ za0`PlBg3pYARW&=T^vI^I^Rw?%hlu{(rSNtYsC2r=Z!rTw~DpgTQI+TRZWLdRX5Lc zN4-O0eu|H7lseridGNsC`=`05dH77G^ZsyPQ90mT`~5)3)m~G!a}HsTg$;~apwq}qQ<$zlRtt%+JW);CXo$n?@rB&n#BCR z;oB9?9lo6V816A0DBC-2^Hk-=|I=1Xxx;*eDcnI`f+2aqhN`?JALQPp?_+JNKhvwz zseEB7hmK4^Z{*MVnGt)7I}aRFzEFN9E$qFQ(gGW%W{$>Ymj`bIC9Koduf3<=+3>zg zbOv+!bDX))AW%)}qlHMP5VK7*c^2dg;ek`{OF5*FvV5gpo| ib^XzeVGBf8Op@n#*>Wst!d6f~GI+ZBxvX=G`P)?&OGI!jW>X|=Hkr-Y85j14ze#4! ze*a|m%xqGa)e^7=6oEXD1=8MkU%)%?3OoZ(z>i_RvC04y;1h7CbQdTCYvyr>RRTIp z4?gM^aBQ3!mfvp1@0rj?khR?hf5p}1E27GS<{6O2lx6k}@VRn|#>+@BO+K$isF0d%X4!~gm zteX}3ZOH)55CI0igoA38E1q|OYbGzsixm82 zNcdUp#2MZN_TvoS0T$v4?*eCWhHnC^Vc~U-%u)F$&hWK3!`}m;jz9kaz7`h#!ZLW1 z8SZ(T@EugE4Bc&_hOeVu?0->bo;K=i-ISW2jlmL&gHv7#h^Z6yJ0D+yp*NdVhQ0@&6cZIvWJp*00000NkvXX Hu0mjf->B^H diff --git a/app/open-iconic/png/key-8x.png b/app/open-iconic/png/key-8x.png deleted file mode 100755 index 36186059622fc0b673fa8a0b231e5d17c5170065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 806 zcmV+>1KIqEP){XrZspW{sk*hwDS*WVO9&RG>S-wVv!=VDvrh3Z5H;- zH|IK&ofqC>8P0dU=bbaNXLhGSIn@Nt0c~IgXaSSJf&TF=;5+aUcmuowUIYJvcj{PE zz%uX+$O`%^a2GfpylV$K0;~eRDGomD9`Fb_9F)L9bHGpR!H4|=xDt?~uqJ@VxCbBh zLtu9xCb9MdFYpgP@N-~a5Hf)#fR}`WANUz1SqUMQ{U|>Oz^Bz5_7HD@1=QYPPv0%z zDzGLPf7v_b2pz@lZodu80}ag_4WI+0nmU`nA*WVCm2*upxm zX+q+b#oW_5wa+#!ic8hD9RJy3?5CXLvmpYQ2{4DL&V&fSW(fnFuo!zX=lH1*0Zdws zpY=G_wl|S%f8~7rz-sRNp88Q`;4gA0zgLxMPb%O-(SI|hFQ;L0?Ttva;)!nor z6Y7_s5s9}^D?xWTG*M?>0-vFFir)1>*o@R&)DCYN*xUDM;5zx&{IH*R044PXaBy7VGvLxV!#iF2 zRfB&D>>6iyXMc`X4SofOXZ}VBfTZ5Q@eQvk@F{Q)$6s|-fL}*#Z=LV(V#B{jz3=m< z|G9_yC8vveo?k*e)p>cai4C9mfRd^V@X-QDgw5^9020GScSHb*qoykvK;j9Y5&)r)pb{HUIzs07*qoM6N<$f_eyF{{R30 diff --git a/app/open-iconic/png/key.png b/app/open-iconic/png/key.png deleted file mode 100755 index ad1c93387a2353fa76a0696e1b877ec936ddf911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5R zOlCPv3%VLwdx)5103Zwk+sa{rE(`U)%~YAFa#X QAg3{Sy85}Sb4q9e0GJLoPXGV_ diff --git a/app/open-iconic/png/laptop-2x.png b/app/open-iconic/png/laptop-2x.png deleted file mode 100755 index c13f0d2e2a7409faccc7ee0b27e19184a586532e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5;8Q5z^AFQy~Z6LDk$ zW0$Ls%B?O&H{OO8i*+xY`+3*A%6P@Jh(Q>r$dl{K{AEXqUNJD-3lerHaX-ofG@8NF L)z4*}Q$iB}FG?>t diff --git a/app/open-iconic/png/laptop-3x.png b/app/open-iconic/png/laptop-3x.png deleted file mode 100755 index c5594462dc851c0721b95964a2c5410e1d63681a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARUFCE{-7{oo}Z&ay2LjxXusGwf6hIM!Cd)tE;Zkl?}&SpEWxc9Q*&Y z*{OHNq(|Bh;-|1ayOJB5pfAqObG$2Nmej`+k=y-wp3V9>BRX)Fqw$Z1M#WDKOvQ?M x=l`iMI?nN1K91`;qq4z5`RS};sb{5bGOX2?k&t)Eo(i;_!PC{xWt~$(69A!-L?i$J diff --git a/app/open-iconic/png/laptop-4x.png b/app/open-iconic/png/laptop-4x.png deleted file mode 100755 index 3f52cb8e417cb761af0536fca340068ea1c361db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w?r;B4qMC;qBhFlE>0xarT%KJ`*|6o37|C?DeZgS=B*d?9HL7S(wf6pvwLi1=yOnyNl)ND6U@Z-=;8b8@2*Y=Rd~SUqqMkw z=~DaF*N}M52uC0S;j2BfZ~Q(%vWR< zJYz6rUlHo^kGbk|q~WHT{EzAnKq627h)&Y@$HFFfVMY57r)XyHgr)OTF3Kfvt!Whg oWo|fs9ovlwKVF?YqcdN6MpyN^<6nyHf&OCfboFyt=akR{00?St>i_@% diff --git a/app/open-iconic/png/laptop-8x.png b/app/open-iconic/png/laptop-8x.png deleted file mode 100755 index 823d26848904a282a40b45d6aa4a910b576ec319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCGM+AuAr*7p-ZJz%>>%OtP@FlmZ<5}`2P`oSi!Uj1t(wqWz}zC# z$rK#%Qb6a%x!W5)d)B90Z+=`V;@Z~H(V~;xfqlbL2I~f0)*FmDAPwHg zO133D`TweQzTvSoKWE)%M3MIUXuTlo?E40g0i`_ar)*pGzCqo(HG_QvQ{2bzopr06Zv=YXATM diff --git a/app/open-iconic/png/laptop.png b/app/open-iconic/png/laptop.png deleted file mode 100755 index 5873d71877efb16a464cced014316f3afbfc3445..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY52?;;?+w2v!fAqUvu4e-RH77UWkOLiQHp;uE l`egL|>|e%sbYTP|!!~u^(;mAmmH-W4@O1TaS?83{1OT@=C8GcU diff --git a/app/open-iconic/png/layers-2x.png b/app/open-iconic/png/layers-2x.png deleted file mode 100755 index 6c56a678225a852b0279342ee579c3e7476d4d1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5oQg3DMf z9OHNUaqLv77yB{8aYoG2+z-|EKBWPM6XtH=mCLtbmo>jI0ptJ%Pgg&ebxsLQ0BpT0 A4nJ za0`PlBg3pYARQr|E{-7{oyjQ)2|vy|NF}Ja8VYx|P3Cdam8js3(74h+hiT)obqnQP z7K;h6=q&qp@Hjix8| Q0?lXeboFyt=akR{0QvJTX8-^I diff --git a/app/open-iconic/png/layers-4x.png b/app/open-iconic/png/layers-4x.png deleted file mode 100755 index 6187756fe6dd2ed3d1309572dab1843bce196621..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}xCr;B4qMC;pWj(iLP0?gij{-2&>*`aYQu_|4?_l(!1ReMyP7nrr* zW(2A|)oSg&-p5w(9+1rtkn-+xZ^=B4e1?Xpu@C-9F6RWYuJcX!a3G&S{a(Y<&JS!1 Y8J`T;93MGsN&{)|boFyt=akR{07xl0e*gdg diff --git a/app/open-iconic/png/layers-6x.png b/app/open-iconic/png/layers-6x.png deleted file mode 100755 index c530518664eb74fa94ba20197eed630d5f47d319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w;r;B4qM&sKX7daaYc-S89zw|f!8ta#ZNmXp`q!$#isJ!(kT6S%P z&7T!EHSEk8Y!`SINIDodm>tZwf1BXFJNP%J1dyA?aF$^f{9$(9&z`!@jS8U{~SKbLh* G2~7ZZ7EC+< diff --git a/app/open-iconic/png/layers-8x.png b/app/open-iconic/png/layers-8x.png deleted file mode 100755 index 04f2ba5f802332147ef2a26187cfb463697f8e1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5vrvLx| diff --git a/app/open-iconic/png/lightbulb-2x.png b/app/open-iconic/png/lightbulb-2x.png deleted file mode 100755 index 66391ba00fb37401d7c1074936955c6ee98df45b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5#_!+CAex-}_?6 Vr54MD&H-J-;OXk;vd$@?2>|=}QG);g diff --git a/app/open-iconic/png/lightbulb-3x.png b/app/open-iconic/png/lightbulb-3x.png deleted file mode 100755 index 17addc1840db19ec7370e620d97a29450297b26c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARU)HT^vI^I^SL~%wh@@X?>_ab@m1iaTCwPsihp6n}rnxb(kYvxi(JU zGRb#|u;SiU#~e5HRz8*HQ`N?m3X_FRUZShi?4aM!o69AJ)9I&joo&zbp@*S0tR#ok`^ z+?LV2kVW^@$2PxE10KEx?){4c)f4Ji;(o02bGW}PRPvhj|2Y|pp0PY%+&$$(wa(wT vH_H!P7Fe|L@7tGuLmkB9Re$&#G5yPCZ#->gsgI;I(02@;u6{1-oD!My0WpRGu&2 zc3`IbEhhB}x9z+i7}9SwJr7+j6;q%H0@d;gbJqk*+__CPTmnZR-zdWrk_~1oI zPO`1Qo(U^|)IUh&XZh~1UacU6|I5|O%*=we8xu!%2GeRd5f;RYI^^{ z>GwB!3oe<|tY@%^-tTx@^Y>+gnVMn_mCde!dBn^7$mBSc zHsWO-XEB|ii})5EVUWSMqO15boXy}{(TmUE_(6g*RGinb#Onq37jJPgl>8FDMHG)- zaJLeR2QRq$iN%8#++~asibpB9yNU;FtXPrj5yhhw+!a#vdx{5l7+SmyUBpLt zkBb?6E4qk}@d1}I_*M+?RD1CN-mHd@>2hq1LtHrE z`?ThP#XtSuIGr)P1F;rc&J;Upangsv=002ovPDHLkV1mau^uz!F diff --git a/app/open-iconic/png/lightbulb-8x.png b/app/open-iconic/png/lightbulb-8x.png deleted file mode 100755 index 010c74458f2ed59f18ec64f8be4e5d67683b70fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 691 zcmV;k0!;mhP)Z74q}w^Z%0L#2d3= zRWKH1#a*g4HRWkn+~uo9SxJ1wT^7|F3lS=w0bhU%+QmbW5dQ-#14GK)gOCzm0WK?d z4UOX$j1+M$bw96c};-+VX@g_I76mLxQv%=#R1+2tfqMsF( zOBT@z8FuogF)2TTIbIHB`^hxkiNh?~v>ZZx^MrFdha&jaRL6tEI^ zN%H_dt@5OK0BIi3ar1yWu*wOX2V}rY;EKP7K2qYlz?5?LAf&|K19z3X2O%Z?5x7tO z>U9Mdfi=R#U48&hfwP(tzMKa>BO_kSJK(gQiXTsiBkwXBvwV-h8g~TNIF8#f7ngVd zvB_dCF7W_f3#?(eelUZ;C*r*SyTBxA*nI7Lh6P5OS}p!00Wv5or1~G zGm%In5(#;_ViP0H8S+0^9#C$#_ZxTxj9QeHrU%%@Z`*qaOz2mZWrnc5|DJYX>ErNp z;PtnFeu*Mwk$wO*;q{^;{Q!0Xuiqp8QtVnPz!rY*|1V%nzp^}iz$4%r<-h$mfvXl} Z{{m|6ygf`(iX#93002ovPDHLkV1g5$Ew%sv diff --git a/app/open-iconic/png/lightbulb.png b/app/open-iconic/png/lightbulb.png deleted file mode 100755 index dc7633a96cd33f7f7aff279917fe4674400e09b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5PZ}0Ufw(t zZn-YlcqBgJ;i>B7$NPoT_B2f{IMAZb#daro!i2)3g519(a&}xrd8~PX%*y*94>jZDa6s^>bP0l+XkKz92t$ diff --git a/app/open-iconic/png/link-broken-2x.png b/app/open-iconic/png/link-broken-2x.png deleted file mode 100755 index 6af40b0292145b0a0390e7e89dfed27632e263cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5!8xw_+pTv|@`GW!)rL$3aI4E_2c{JayI* zUW0?xfA$@e+g2c3+^^c~Ym?lTxVpS2zox7=@RC{Ghl$#L8!j^Qn<(pCdbD!GoaJ&q zoHieMEVJiWCF8o5*C`JpbNsGy`ft=Z!2EDdz9!Fi!F_KUvSlACghz0i%YHvFSL)l7 z^&gaM)P8*WzOeVzv#OTpH%ap4vx47F;ko6Vb3ABA-;o5B#VbE_hY8MkZ1D1=)E}nB Xf#I$nE_faWdYi%1)z4*}Q$iB}7=4AZ diff --git a/app/open-iconic/png/link-broken-3x.png b/app/open-iconic/png/link-broken-3x.png deleted file mode 100755 index c9f7969cc0f5df654d44dd77e6e8fc75faa23ae0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 463 zcmV;=0WkiFP) ztl#?n*niI2lt(AXSoC2Tn>fsK1Ml-%*QhcW#m*f~m_P8WsljvXR=|t=iHB9tn870) z1mDlFgdy}}4ktlixSO$MISB;gPwaZ zn00%&zpI2pm`H?Aq3w2SSIUG>@h2CpCBVZQ6uqVe{8u3S)BwJRu{!V*ylem;uM3~* z0-vr6f6@RBM|I%6_|^a}hjwJ+BMOIi0lb|6Cp*Zu7^xC{4h-fK;I*UJ$161-ij=53 zDrRJt;NzX1Yw_XO3Y*u1!a@Z8S~i*s&19;A_nnT_P&PjeGH@;w6Iko4D+vl z-`UWhr6Pv0T>;+`zlyaDij^$mtL$ex#uwQZmNj=ZxB(;;!=g-mwXXmG002ovPDHLk FV1fmE#8v1r;P)8RrI;BQPtMNF z?i`W_-ePy&_x(S6&Ya73)a!5Xxl@yW0@rW`hw|^%@g7g{wE=URfpUz}Ebe0%sVU+& z9^|=64RrCQ0vyI$%%w807pr5yi+I=+SY==uYmuB!xP<+A&LVn2&L5m=Yv6q3`D#8Y zp=KgxAGbAdJpU!-xsAaKoep|^Yij_mppPdwPyr`f!oNzrhBf)g)xk!|z}D0b8(5Sr z*+SoU5qm`C)Fg!@jRZ%M(%3l`KIa%O*bs~sQDChW!J9q ziFUHBfxAJ%K>VQSVkOe>Vp{`8ZC{21T);jY#ASSrH0#N(-K`A3otmOptc++D8i)cz zO^crcqvCZ%;jkw$Q0N%$;R}A^hiv|rWbaFz#xn2^G3i>Lzld%9 P00000NkvXXu0mjff|LQ= diff --git a/app/open-iconic/png/link-broken-6x.png b/app/open-iconic/png/link-broken-6x.png deleted file mode 100755 index 8075f864cea8019e3f2c6f07f2be23a79360d242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 876 zcmV-y1C#uTP)Cr2u~1&f>9o z1$bx#Pzrx;h@G^JmkM{YYp@$XX8OH7ivTxGf&W_m zm%IWWC;F}kx87a@Jf1oJD=g&z&I$2D!eejW0d};6AM4?S&-;A`xENnd9Cx%KJmDtKDyA4N{_Y;+Ic_ zJ#*x$r3D;P_#n&a7CeGm+cPG$fKR0Fdhe7P-{-$2@mp<4Bbo+(0#}z9@51Sb;T^4! z|J5}33ip;6r{F8>YfC*+9r!0pjC1gnaGPtZI`B`I7*B&ggp1m-&kz1HT;7iT0(?}n zfM1W#Gh>|B@PzWZbNC%*13#EDP7(Z8{GBoF3Vy8R#5hIpYvrdfx`u~mBjY?*YW7mZ ztWS7CeZL!r@u^T87HO?e9L3-d>j%D5Js=MMoAMX%nQ4G+iG42!AHzD#tusv-Ok-%ogahs*j5Fc=LI zQU-Ng1Agxab%4e()N-yZc=2FLK56Z@|$;A*6yur3=rZAauoY?8hN$8AfZ zZ)g7jcs0}Um{4F{FDyha2=hVvrJvxHFqipMX3S0l4DoA2!(6Mg9GVJ{1=Pi5f}bj)&SYW7z4c?yjEMZ2ZDIHTB;6y{_u6>Z%@5pHAfZNQM}&7PsS8T#fZO zje{}gHWL}*M`@}6Ej)$a5@PhT-|-AaYvd87 zi2{t{g9P8H_6aVom`jx01-J~e34Y7k9ImO5Pn4Vmn8fY`pH=NgTv|zG0l5k=i9HGa z>e}bRn=R~xsf=S+#OGf)KgC&-1$Zf;eOd8cHi{32 z=~e~DIoTJv{uAyH?q*rO67S}BrZ{S{2efgtPrLo9-T7W_j^wr@#YvL|fCq%}*xTmd zQu1|a;g5pcj-)JAQ$!Sz6610_B+S>p6<%k*)QsC@mlChM)kthzv8ox>{~6Q4kzv0D zn&uXqU2uK(YA?Xn$n`GBa=U5ucyDnltE_@bU3^ zJgE4=(m^jQ9h>w7WJb;yc)qBUk}t#Q%y-IfAB&@8J3z0sBx^{N@}%%ZT5WBVZp^y!cto zZAG0H;xEY&bQ%5^pP0w06MvC2Sp1~$b@+@F4{s*skxl%Vl_P!xec2s63k|2wgvAn|jdVyWHi!ufgrY zdBJQvZRLvZWkPsJXXksx;^z!sd}G|GSo|Vx8(MY^(-Ov45$_03;#EmY{42@JgGgkU ze5SbjpF6zNnx`e4)au8AaKK>I(&#DbQ&@+GaUFif8~8e*-GXoquqxwAKKe4FcnF+R zBY2lhg6Lk~C-7)O+l7MsQY<=ecst_Yo+OF=Y3qLy^aM6U+BaH&7QT!m@JQr(5p8^^ z{|W6i!r7pqG9^9{nyTQpjUOVuJ9sVPr|}`s5)LdDIoT_Gno6ZDO?*e#RW73O0>HBg zj^?DT!0wZN0D3`qN*6JZ0<6QK1ZRuF)Od@q@i8h)lr{(lpNrlor`mpLo2LUQ06bPR zP#N1R{qSO}0NIwuBY3xjh&tl0ERom13P2bNsT&YgY)(1x47dP)=rS(+W_B==NUzNcKQHG< zuF(RNImNYB_4nJ za0`PlBg3pY5zopr03)G5bN~PV diff --git a/app/open-iconic/png/link-intact-2x.png b/app/open-iconic/png/link-intact-2x.png deleted file mode 100755 index b157e9b7c13d6f49dc8904f4b7678929041881d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC44y8IAr`&8m-l)(I|{Ttd@c~ox^<(VORxP#0i7$-ADs4RIl2gl zgm?tJKWNmkbn2qH8nccZ3hF$1bHbcn^*8Ld&%Cj&G2ZPwOKQhKcMIJ$>YJv0Y^^J? zityG9aOY2-ahS)?dE)92@r}zqcHg_w;vId%L45lU$&;ZISjCfX9hsZ7-+x7GP1+47 z?Y8o#f4_a~P?P&0m6L8^Ci5suvPL3@Z;ESy`0dmWjx0{1>Zt{bS@s?0*85Hda_NV|;_UM=eL-t(CEd4w0^e}?bg{=UV5!JB{q#Ng@b=d#Wzp$P!h;)-kl diff --git a/app/open-iconic/png/link-intact-3x.png b/app/open-iconic/png/link-intact-3x.png deleted file mode 100755 index 430c1b66c9c9a4471aebf2078f9d94518ae0725f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 496 zcmVnz6wu%G`Um%T*LDB>QUQ*cj0O|weJ<_DJREP=(!Aq4uQfi|`1W8EZB_Oew9rn06 zv-g~R7AzQ;HUDoeYptQZox~D)_=c}|jR)uq!39(JgrkJN$HXuK?`q)3{=pC@`B*^q zaUW-J8uzdhi7d4hxQu7G*=KGp66m!RsIv}!7Xmvc23$Ov5i?Ra$Pu`M7ud$3aL22d zNyN|LR59MD17E;P=`1_#z|Np`B6y0000JP)LuVHC&l&zW&flO|C! z$%Sw+_ybHKNt6qT@^ax`xgCE1k|cxt1ta&|pfgROhN2{E{Z}{_ zOTet<)pal-U?R4FJS*XAoq&(AdZ1kqbJodK7{oRV2(|x=JGhJwIk_9qQ+J+h2fP!H zWM8WFvqivVVT2aF-|I5qR}yj4Se*y&!Dt)s8Eh&5pBqGZ@UfJ{w>XXc zH9vwE!VI{mvB|RFRXP2a1+QXBN_7#8@Jo5B|0{S&VxZKl4>vl2m!)@m z8hkI_;}cF|J9gBb-*o~fT#2He{dG!gmX8*J4`^PaTGf22Abdpgo{(z8iNx_1aM&%( z{4DS@>?r~!G}3*I<8wXk<>W2GK5W5qe8*Fv-q(epRM_75tNxqx?w&VG?gL%_Lcq(q za|N4oa{5FTc}imwJ&?Xs_6m#V3?5@?ECH+VGa+I^SgZT73QyTiK*esDIId#e6*Z`G+&r$)4^32el*xEL!iievZ=+wmTb zw8U4a3A}`9%=NL~@Ep!=g*2gCa8Q5n#kLx8yykLi}r;a_)<})AN+^i&a0?3_^mjj8vFn7Neu&j zH9qOlM{Dq%uJzJ7ah$9jep3bbm3URe|3C4TNH^v+f~!PDZl($No5Utj_RGIe;P*4W z7iZy|4X_ma8mBgzvUC1$24Fw<2g<<1^A+LYPzCtkMdhxP&gwRhYIs{FJW-q~1HV(O zjncZOpy55;!R2ZNUetRXEwp`jL~+F~TW=P0Fjca>i}1KO>>OXz=3cywJDp1SDr<-I z08)qOLA4C$i(2QZ8rn-LRkl0aRA+UoD7F31)Qd*(Q{wrU-c{p&jYbvMRtCMwInQ8G zt2S+tUc|r1D}P^#&$~V+@wys9;~-k4I8WIn!eWuu;@gDZW6j~F^=txS-j3iIaRoFf zrpnEDO=O)ZpB=-+kH1iK3sT0m50$>F_401cbL_Suv;VCPstsaB1cg?$9zPfyemAaf zfj6l!JS`S*Kk#4ilm>I1UP@luEYO&kRyW{EoFkz3<12C4c~@Lkx1zrQAIFl2o(q=P)z^1Mi(xOMqRlv!G-g}Aud>$XwayMBx*z@fFhF` zG(e{T+ab{a-7Zd-VAJ*9eXriDu5S4!C$*?o_nhz5ty|}wb6=0~!xUVJ%W)3oVLy(+ z-`I_B@e#hl(Ab1oJtyG_^a)WZ_5&WpiDM9NWi;>*2BZrgX?t-WdO93?+sqMDxvcP! z_C98HR6!do#1_?wZ`vlD+Cd$qScE;Q7vHpvnB6foC3sJL;+wWwtS?>1R2)!T(7_U) zdALKG3UR!&;Md}QoG)?!Vp?C1S4D1+H^y%wkLWtS)H>)s+>$WHVtk)5PSc*QIQB}o z%IM$V04^vn&KztWWt_upkH{{&j^z%evV-_oe5*xSEdS?lL;K;@$8@nSw8Ki-H{jVe z$M1SBk$nR`7`xCqLj!+meFL_4WkOIPgZL%m{h1T}29UE8oai@TGEU2Qe_(Q_A{k}| z&cs~tAG`oN@txSM4OQ&#QXHG{{`QLf9YF(E<9Q))Q0oP$AFts$)fF&a$?#X}-{4d{ zAWBnZc5Lf#dz&#VmA_G{B@wz2Kjt`2wUs4fm?x%pM^oYB@M4bBGPb;69CJnCBX8Vi zN~vtYDPo&iwfG@CS0Ij5@xSBbl3I_T7h4mYmbDiW<46@hgcarG{+H9SEzxONyE7q< zBH};6q&77FOBwNfqVD(du)QmLvHIGfs!uD5h~K87N>EYpt8j(Z|L?tcN|dUGL~Za5 z(G|*~i1-~M32U1o;&+N#T`E&VUtmVUwME6BRUnR*6cN8(eT|5&7ypg=8W2atC&qD9 zd=*Z+Mf^PfWAO{6H9E$H_$gwmoXSnoyTz4>?^V6{3&kOY{h}!H8LrK^eyK>FQetRJ z{K(8~Ha-=7`aIT&YR{gW>lWd2oG{9J8%5`5mzW*BSSAiZrSh|AsckLrnNjJH-k&cr z?cYfpvy4?X?TN!gbu4(lCXQRweo|3xPaGiHo8Yv}YQHaG+@iK#{9G#Iu>_}O|LWdO z7`uqQDQ&ZqOhf#ZvYc*~zcp>e*{YcZeYmY;44Ev;aeM$v+VrtVtoCJu58z46Y%_+I zoBiUTxhm?$)Ir`+vLWUA=$B!`VPovZT@}PzIX&_ZGW6rT0%KmJ_3^ZJ4?fhw z3i-33A2;WW(-7Zs)^k2Pbm22RGsF~4$<5c`UXel0#~EUwd|dvijHb=+h^m6zq5U0O ziVez6zQ&Zd)PDn3cT7zQri%h*UE+7Du!dI`v+#xL#cwbU9$RZNO&n0DO8hD{7BuSQ zRxxeM3g0Cb*Ky4>Jfhf1uq}9S__JM2(S&3Pt{Hw^;Ly|A`$RUm79WZV^0?q1RBwyg TVkshs00000NkvXXu0mjf(LP?1 diff --git a/app/open-iconic/png/link-intact.png b/app/open-iconic/png/link-intact.png deleted file mode 100755 index 35e35a2444e36852940ff74b69eec12aa5684d9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5rQ!<22WQ%mvv4F FO#r;4nJ za0`PlBg3pY5<39QJlxHc{CLc#vuuf5Bd*}mNt{%q1HX$~}v!PC{xWt~$(695?x BFjxQp diff --git a/app/open-iconic/png/list-3x.png b/app/open-iconic/png/list-3x.png deleted file mode 100755 index 80428941eb78d1ceeb4f7d8f6847e5cf173fde58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARS?zE{-7{oo}xgay1wTupGGP^zp4$)31oNTRfA!csq)i-5+%AP2=pj zabdTWm(SEgx4)F#Y&@Q&qgkUTD3SNGt~>1FqV2vn3{!q5>E627vH!*OMXnEL3a^@+ VQm1y>d=}6K22WQ%mvv4FO#ndJJ=OpK diff --git a/app/open-iconic/png/list-4x.png b/app/open-iconic/png/list-4x.png deleted file mode 100755 index 649bb807f60c8494d88d032c37ff67d4d46d2a26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}xMr;B4qMC;orj$91}JS^<;E7tz|pOY=Wuw9AmjHzn@dlg6Zi)m9B zBO19x6h1!Vu?sPta*=h}?$(_-7M=e-$klfd}`oumz%(TWdBZvf*Q|bN&k)Ofz~p3y85}Sb4q9e0QNdUDF6Tf diff --git a/app/open-iconic/png/list-6x.png b/app/open-iconic/png/list-6x.png deleted file mode 100755 index 5df8c4d3cd3ea34de9f1b2738e6a133c58e8b3d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J9PZ!6KjK;S&Hu5zY2ps!puTx_9YO(f&4X;0Q{$R2yF*tZ@X=l0W zef^zF6L)0addAJbDAC9|qfzd~kGD_PNCN1-gnQNanE2g11jln$X67S9|qvfpc zI=|lDFRgh|@cbVhn+EQwu}Ol0(WjiIZSB^%5@8;gBp#{3z&zi(X6Ytx9i=2~2H_7Z zVM$v!X1-rL|Lpqo5-%OTtvnY5%KvT1EMoPW$#~~Ny(0gVRu`8p4erQkn4nJ za0`PlBg3pY5)2HClAbP(Ar*7p-ZTA;r__3Us6F{@poq>l`mSq3rwB!_KrKEc_RX*XxGsXZ}3h@3&-$=}Z3ns@grw{Eg?u_xGjCC39HUL$$mtFT3N?^j>;;|Ux~#b?MKP&B@yZ`&aHQoX)7 zb*FHFG{=Id`mc|`) u`3>``IK4x548I!;S$>0LRB*~nkuOWMUHF8*_Y5%P7(8A5T-G@yGywpxqLiBe diff --git a/app/open-iconic/png/list-rich-2x.png b/app/open-iconic/png/list-rich-2x.png deleted file mode 100755 index 0b7e985cd03b36f1edee739931177e2efb0895e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARR8AE{-7{oyjQ)2|vy|NEj$>>Z`wllo#{(w}qQnFl7N-h20vWwbrx+Qs=CNrT-f}(*G>^g4)z4*}Q$iB}^}{F$ diff --git a/app/open-iconic/png/list-rich-4x.png b/app/open-iconic/png/list-rich-4x.png deleted file mode 100755 index adf25e7e77d19bd637512c06a9035fd90d0fc44f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{lr;B4qMC;pWhFlB=97oPw`d`0u?&~rQ3zM5NQxufMC-vDVUCsM{ zc$G-;>Y4*dS2(pq%j&1Je^m76!ev|7_-sTFzZSa~V8c L{an^LB{Ts50n0KP diff --git a/app/open-iconic/png/list-rich-6x.png b/app/open-iconic/png/list-rich-6x.png deleted file mode 100755 index f0cd2e89a9bfdad4ce77b0b5382a69baa8e6414d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wxr;B4qM&sKX2RRuOc^D2p+3(!iz$SC%o%JK+zw0bzP|FvSMvmhvkXzkwM)LNFa66a;b81A>E5)5F&(Ku;aSCs nvlva7GtRXFHSkPWvR$`_o6Y~kfddzSb~1Rn`njxgN@xNAFLFWh diff --git a/app/open-iconic/png/list-rich-8x.png b/app/open-iconic/png/list-rich-8x.png deleted file mode 100755 index f60c173d30f687a7ed16050c7fa3cf1ea1eabb31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5sQewi;|ENQsLVC9g_AiH300pEiA z%IoTxr5xBZpsGD5shpbij{VMBWOX0*JA7we0yPUHQ+CL5!EeSOpvh2m3Z9c(eljk3 X%$C0C@jX7Ea~V8c{an^LB{Ts5@Vi^% diff --git a/app/open-iconic/png/list-rich.png b/app/open-iconic/png/list-rich.png deleted file mode 100755 index 3ee3e90a02e54ac08bc794659fbab4ce9ddf06ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5M)Ub)M`5f@@VBFRDgK^hf=7($ym#4D{ U_ml|50+lm(y85}Sb4q9e07uXsW&i*H diff --git a/app/open-iconic/png/list.png b/app/open-iconic/png/list.png deleted file mode 100755 index e0045ab18ed0b0a1dd5d3f03ddc8f67f25366241..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5nV%9`onOt+)A}*T32MNz(Oq1m_F`j=Ftf9}Y2lXFlL4nJ za0`PlBg3pYARTKxT^vI^I=4;$+;!x zG*ct{>%IAn?7yZidB+r%&@VRUV6{~_q&hi8u5uXDMpRZrzs5`(`vzM7Y{=zcm0z(#Vpu-tFUHx3v IIVCg!0KSM{6951J diff --git a/app/open-iconic/png/location-4x.png b/app/open-iconic/png/location-4x.png deleted file mode 100755 index 668df11c73fc07c7baba60cb47cdd98706aab7c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H&PZ!6Kh}NT1t+@^x2(TXC;Vmz(wDZV49lKdU%l+otwHI`GBp7V_ zdNWp6XT`>6yyq7*)+rb6ZeZR}!5+~(z2Y5{pZ4AZ&%U`Q1pk)V&{?Y&ad)4{nzVT4 zu#NeQ<~O%Dt$w@pz|n8B9w=3F7fjnLYH_-bMXyl(LDjTv1@jKXd^*Tm!H_SrdpnnK z)B~wR7vlp}MNTZ*7Juqj<$YuLE?lvpWx3@lM;oRy)*l`)w*QqnqRo(#%`vaw#x;d| zjMq$A@+)SAG+&7`Fk_q1(0EAP-}r!d1>^i%+;uvg+Ecynp6LPlk-^i|&t;ucLK6Vs CWpx7p diff --git a/app/open-iconic/png/location-6x.png b/app/open-iconic/png/location-6x.png deleted file mode 100755 index e3b8472755f9e7797097bf4e60261405941732a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 413 zcmV;O0b>4%P))Qh{;7stfi>Wenw-Rrj$?^@qN zyi0v6ar64t;%4=Gh?~^!Dc-bxZ}DdJy~GdK_Y^-=e+2QW`lE0E)gqS4#) z38W(zyaPAjn*jAk8z#4u_ZUW&16U7}d&xi3Y8Z9)UZi%2?BKdcB5-|x4+7VpDP1GE zSgw!=Tp!BTNIr_&>{+AiCAWt};QFw=M%m4*fVDM}pVod7f$PKTHIk!KG0$t1U2Q5z z1g;N{Ym|Le>Y3L_Ru7!5E}pmoCl3B;Si^dNU*HS)v3lSSn`Evs9p#G100000NkvXX Hu0mjfiq^13 diff --git a/app/open-iconic/png/location-8x.png b/app/open-iconic/png/location-8x.png deleted file mode 100755 index 0acb8d7c628b1721fb3921384b40f1a4e71a1e96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 519 zcmV+i0{H!jP)0FRp`c+P=6CzDfJyG4RdV7t6pmV_z%>--LbfJb2gk#X9hA?F$?5?(7RY z@UH9&d+;vo3m@?2?F(PzbD(K0G&rno-m}LP~002ov JPDHLkV1gDA=Bxk! diff --git a/app/open-iconic/png/location.png b/app/open-iconic/png/location.png deleted file mode 100755 index 0dc9027aa3ffa44f62acaf198815d8585d47e148..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY54nJ za0`PlBg3pYARW^@T^vI^I^SNfFX8{jGruTlnU)AC%*OXVVy>TsnX4};NWsezBt5|=aGxiUd8A+2x$kd$jz>7_mIn4;0dhN-j>|uD&E_sSz|bR~#UPastn_D}fX-{Ns!c1s zIp(iADH>-O|C@OQBm0|%;EKu5EuJuBOf6XcV-8c{NyZ09FH{|@7Q2_u*AT~Zwaz|M zf6w~-!{LGq$w~f`>SY-NLf97Eb-%YEfp|!=E zL|MXh1AlmiM83b(vMzXG{vzoKlFYda_@;a=<(R|R-&p(H_2l&p|IKO>%r}(tOGs3! z*UWo!%+i$QSj*G>H`wR(^i1acajr0zC*M7#q^D=~l4We$kA0|eaXWlMLeT>+1ipgdC6-{ouyBCy+58 gli4EhsQxo!)q_$qT0)v&o)78&qol`;+06pHE!2kdN diff --git a/app/open-iconic/png/lock-locked-8x.png b/app/open-iconic/png/lock-locked-8x.png deleted file mode 100755 index 335f006b5c101f9c755329c53c172c36e7ec1815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 532 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC+dN$yLn`LHoo?&p>?qQ@KSG6(Gf%NCV`)Su_l7NEE*HGYl_sfb z6iQF~<`{UVajt#D%p*!>QBPP^64K7hJ=0lXza#WS4q#`7m$GCy~4eqb&cx`4GtK)$Ai?SN*$$v1a>njeOvgU;(egNv!~hnNN+=R?UCJ^W$;_V-|DP z9)_)qrg06o8fML~HYwphZ!K*6@3-s&))l-fJ~CZlyMn4nO5Y*Zp;vr?*@9!-0n!1F k2`PJE(f8P*Z}B5;*=o5Nkv5+X0;83|)78&qol`;+09Vk{ZvX%Q diff --git a/app/open-iconic/png/lock-locked.png b/app/open-iconic/png/lock-locked.png deleted file mode 100755 index fef8198a36b42c41d05ce65c4106a57a0194549e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY54nJ za0`PlBg3pYARUuET^vI^I^SM2#|NghnRQ=Zq?gYM7pvsmTdG)m~dnw zr-qZPZ!6Kh}O504fzfk@VLtBCWsezBt5|=aG_Qli9!Te_k;Elh=}^Y$*=h84OeZ{A4a* zzr%F>fX2t2(ZQ_04p&RxaG49XvDwbPJ_w!3S#N*@S4`e>PW_gpX zX||h4op9*CZ?{_FmOIr8|7|!U@`A~C!JPHU511$4quc(+5+Hu;!uP;hf+VTEzhu};I}IajVcIBT&- z#xVK*jE_>w0}Xv)qDX j%vUNJq)-$<1!wuIhp%)vS4nJ za0`PlBg3pY5)2HChdo^!Ln`LHoqpEK$x)(BK6-_~CEXbjs~3fqFzQCL3tn0EPUVod z#v8M!ZPORM;JfwJdG!^sZ5vy;6rc3eJ>KJXpLw&@k6$(KCHvF4o-Ag1!?^o^*aogO zJnL&2{0}G>Fvl?8?a3=%%4gE(zd(NHt^=w8!avj&^O!W~KVp}Uw|yX^ky>URoV;Of zx@=92EyLA0%n>(O;yld%WY{uGOFo~`DfPkY*Ted00cTCmY?r@J&ak#WSLpI?-$h%_g>Ua0rQB!Tbk@FEHJhQi`K-!1 zo}0dp%hMmuJz2go??fDb%6`dBlLdeM)|T4j-S}pnqI5%(sRHxg1ErUFH0LqaOX)l4 zE;z;=z`f!l(-o$yJq%kL(1eoCU0V40$0FmxWA*!)vB;An^pmY@vFwVq>uR?E<2x diff --git a/app/open-iconic/png/lock-unlocked.png b/app/open-iconic/png/lock-unlocked.png deleted file mode 100755 index 27195e0e46ef84019a587f3bcbe86ebd1730ac0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5iw%B@N{UE0*xQ9E7gFFWUZC4<8A4SDyjsH@Znntt?`U_6v(>~*;CdkN4T44$rj JF6*2UngFI8N<{zw diff --git a/app/open-iconic/png/loop-3x.png b/app/open-iconic/png/loop-3x.png deleted file mode 100755 index c9f3a41957d1c87023ae395eced901deb21594b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARUW6T^vI^I^RyQ*1tx)TSaGi;bs9x%JS-od0h;f!kQS0B~vqld1|v)EI!E$`d` zxoZj41^0_In0Ru0CTbnnuA+XG<C@o^Au;jE!6*%vj>g4s z&fAe-T_SR|Wq*)nHScB*ZzJiYZXXXh_2)nO`gg8Q(VF!@4>EYV`njxgN@xNAVb^#O diff --git a/app/open-iconic/png/loop-6x.png b/app/open-iconic/png/loop-6x.png deleted file mode 100755 index 18b0420c5708c6c5b3744ab0f38b08fab82a36bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 401 zcmV;C0dD?@P)J1Wnj#Vt&4=eW2K3PYd+8yz&;fVgC_Ttp zy8n6tPIi=abU`&3Qz{H#PN}H?i diff --git a/app/open-iconic/png/loop-8x.png b/app/open-iconic/png/loop-8x.png deleted file mode 100755 index 4a551d80a836a64ac599d1a83d99da837cb480b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCD?D8sLn`LHofYfFY$(!d-{tW#DCeN+OmXui9bZn`?Pe7;U)ZX* zBtZVvj|p5aE$lgs=RQ&U-u(Nr>bl03SG`AMBAD$td8$v|x**VL z`C;OLg5azBJ=O?IWWBn@oYr>sk8NsDs7V| z?##9FKC<(V&X2U);`oXs8baRN-k8E@rThM}!zPBk)81z*gfirx-flWU$6>2 z3O7D=Ez$rY=g5ThGlHKhvF}y=mKAx(v#^Ab=i5Q&Q-PHxjQ@1>-$o{iFvgq~S8sTD z=hIP+3u!-fQ!U$!-0Ys>%2yyD%lPCMw3S_O;TEV1`VC$jx57@{8tMwIH_QB@JTIq7s@g#p`5 ze&@v(L_3ovR4E!+u|4nJ za0`PlBg3pY5^-n{uk{|#o|3yh1yV;IU4xQ;#D(~S|7PTmUxWFo& zz3|w-c`@g@cd(an3JWKi+ZKH4NYq=C+V{5TAMd>t<>o?jYV4JPPG<0Q^>bP0l+XkK DA;(_t diff --git a/app/open-iconic/png/loop-circular-3x.png b/app/open-iconic/png/loop-circular-3x.png deleted file mode 100755 index 09195f0456f364a3431dad21bcf93660d6fd1f49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARWIwT^vI^I^Rw*pDF^-h6Q6Ph zbt=R;2rwY}xkZq~=v_*V!l+Iy)cv3(-1*6)Aq zvjvuNeP+@47~dvz-Y!d#L-$Hz)tS47Sr-|C7uJ{C_xyQzh6 mX3_E4&$PsNbiVX=>2KAjzN9zx(nVk}FnGH9xvX{g zmXjD`0;q;T|vpeu0y)#u)+M4&jRw@EQ3)07)_MDRgXzUj1s-P)$&vQ@?@zPW%a3P$> z8RBK%eFX&PVI`agiQ=;FKJ(7QUO2|CT8WMj|2GfG0SR0G}eyTUC&Di0ce-fM=2C0NhpuWj&n^9)KTFzcS1 e%2jJ=Ip+^;V%$8nMfubK0000 z6ax3Y?_IyU+yzQXN=nAbgrZg**aX&q6<`^d2c{K0)bW5V;0pK>T48AdUF6_}9Y6&* zCOvo|2T%pBu@7IU0aSr|vV||q04mtcd=EGP)`1#sJCGkW71C<{0cfGOEjNIVs5M;0 znwZ0%05h&8F=l~IOurL7%Y}z|tK4@Cn?#V{6XX@!N)U_Byf(hU&(9-xDTwvZEgSf) zduaff*F)VP*3wEH@xSh+mT5ig3L-sp4}p+e_fiXNMb89*1GU&8zTjhOzK!s$(0N@k zd|KT*t%o)k2s0k@h5%fPzoreBbW?)h9cung#)Wwv6 z4Z-I|>flAcU0^SV;a=2Ni>C10+9P1}b^n70JPKYrwjx7$rCYKscnyH1EJEssDhuX- zC&BL`kDxDzeW7^Gi*ai3%YASR62t N002ovPDHLkV1kNW4|V_m diff --git a/app/open-iconic/png/loop-circular-8x.png b/app/open-iconic/png/loop-circular-8x.png deleted file mode 100755 index c25224d565d32d83cb8abec7b933efce984bfea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 832 zcmV-G1Hb%k7RCt{2n!jpPK@^8SbuqdivL+^# zML-0T!X^+~!78nVAcR~~SR`rmA#5V}3K!Dk5iEre3|c2B<_)55;$qc!hv>9`4d4Li z*Nll{4%h}d)F(c16VL!&0YA}8e4-{`9{7k^;uA9gE5Ips$&dX6tO0+pPkyW?U=8Tu zmi*XGzzXIo-v)MobzljY#(xix6(cC~nClN<`wp-LTn=TX zLK8L7)k$xL5PFIJs^1G?;2iQH9&+CzbLcfW2dFkU7Fms#%%{+HjZk&vV3J=o9?+Hw^!B-ildtsY3Pw1>bIR}lj;!H?H^Fsl)K)i$^V z(!Tdz51tBvPYK`Tl<4kzul3-q5Ol{OAyaa}OOSf-P6)VeosJoq;3HT)I2M8}IV7cv z?Y{R?555b*rX7=$aNYOL^`I*R3Vp4e3;NFWAh?;qPBf1Lj=(eP3l)@bbnq;7D3cOPa_RG*4^-M}OI{ z1=1JAr)#`TRVEdaGMT9bLPa|IVljJofA>8m0}` z;OGI*qPzBpOY&XDJbAEB{u^Wb*jKShexC>hFBT?=w^8SOj9;BZLnrYwRD0{a!@CI7 zRrfvA(dgyHW*Ci7feq-Q&ix;#JG{@p2jD%bxk)4vi9{li2*O`ydRW{aOKwI00000< KMNUMnLSTY|@p^Xv diff --git a/app/open-iconic/png/loop-circular.png b/app/open-iconic/png/loop-circular.png deleted file mode 100755 index 887fefb68d5de1ad91f7b18ad5feaeaebd7a5585..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5SiB(0#Lab;3j5HCsO=JQCa@nJ6me zBW$O5xMhBp!Q(${p+7q0oC~^j=VX*c79JG+*A{T-qeHi;_4EzNTDCPV5#s7kcQMYt W$!o}+_3bp!3I4nJ za0`PlBg3pY5S8R5u06X?zS3&TN)PZYiZf? z<@@x8M=7fOtO2QFcUL%{60})9-^!y@tWcK6A^z18MzI9DZ$h(b>&i1{&zbW;Lf{3% z<2l9-(!LxWy^F5txwvmVs@XLCZ^(hgPZTSA>wa=aChsZRz}RzE?ML4nJ za0`PlBg3pYARQY#T^vI^I`2+1%URIiSk z(zx0&X6>>ESs(LR9DaCwz9`UpLvc-EZ1;|xpL<_VQL|_GpMQ}lJtHt`l1kfQpxYTd MUHx3vIVCg!0Ge!J?EnA( diff --git a/app/open-iconic/png/loop-square-4x.png b/app/open-iconic/png/loop-square-4x.png deleted file mode 100755 index 7d0797b19b13421a1c9ad3753453f5c1ddd4e724..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IZPZ!6Kh}O5$PxBsD5O8Tf(Y|Hk72)fXgq-}>sb?PEXUVQE)Rby} zYzDW#)2H;tM9BkX9+92t?vD=5_I`TKWmkiv;NvF(V%LJt8ed=ykkgo3EPU2@g0KNo z#T-qQCtMGhAN<{|m)hIa!QT{bZ8fLEuQ;_!`#$3t#{)bM(nJKdPt;DiJ>{3nQl|9+ z6H>}kn%1`c`K@t1?vZ{mE9)}GO0^#u&RxfhXSzA0zFL&J_`u;AuAh%79>~j?#Xl)X zjKM#rIr7o;D<{SKcfERfZFYxM0m(_% zJB6?MceOOA{43jcb&K*|j4B356maFeN2!?&n-p8bOKuSD; z_iAfVxwPo4^#}A=zA&uY$$auC=Kn?4Wuwnj<9i|dhn+wO6=uW`|3 zRk1(jeecZF1g3(+)``Mj-CsSDJ6#q!{cr4@&ehA@_&4FVdQ&MBb@0CPH-@&Et; diff --git a/app/open-iconic/png/loop-square-8x.png b/app/open-iconic/png/loop-square-8x.png deleted file mode 100755 index 44e07bac9f51db56ce4dfee22593ecbfe9383cf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 506 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCb39!fLn`LHopsTd*-*emy@UT&LzRc_lmlO&KZBGG6)jTvtj=HF3~&@ReF1wm^+HfIFbre??$S zI&;C>;A!(2GaI5BX2Io;ZQ>7D|2a0Yj%^8J7GqWvuLV=ZJH-?>IfgyV6~C)&xvqOH z-gsA}HdU-lDCvN3!)M=%#trUah3blIbLuo}l0@%cG+#Zl?(oI{1to#{b9Q0IXCJ+P z@O!mKh(aDKZ}n`=<2thLEJ?WvQL{52tO?fF67Zg$lx-ZlOZTC1u)?n9^G{a^=PLv? zoiB|Qyit~seQNbPS&Nre4vN7&4%@v=bW%7jI9t`sEOd%prYgQmP4`m(|CKyAcid2`MZ+jZCLo^X`xO*C$1bT}Sewpn7s>t(u+^^F!6Fn(w{@3=E! ze@f-MaOtNj=gU5uthklI^tAK`d8Z3g15clCfCmRSxDMZ7?bP0l+XkKz`MbJ diff --git a/app/open-iconic/png/loop-square.png b/app/open-iconic/png/loop-square.png deleted file mode 100755 index 6f987a7725bd0aaa2812f74dd6b566faebcfcd45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5=EGSU%+hvVCs+n@-{44$rjF6*2UngH9^C)WS~ diff --git a/app/open-iconic/png/magnifying-glass-2x.png b/app/open-iconic/png/magnifying-glass-2x.png deleted file mode 100755 index f4fa62826eaff3b10de04885cdf7e9b47e857161..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5p6gmFUUwM*E1JC;fDw;O!N;?<2sO>CY{_Ie; zkEd_mo{m|I_O#kd8m7n0Ir_#jt?zO8?yb@F`_k8bv*KCZr)Krykud*`Ba7^}^ooBu zJ}3OmRMGT_6}`M?lB8Z|s4s}0Q1$8Q<4JtyC;5q8axi9Edx^35uFJdBS8rO1mog<7 z7rhTo7q|5ZVK~F`;PLIi)d5qqxNrM2_9sr)VwiULUr)f{+&j{u4C;xuR~E~izj&?A z^W(&WdUM2@quIKz9MV!VY&DIMymyMHeX)Z7vGqkCQ!F%`o)t7&?>RYthjRS3wm&Q!0>qxc$fR|W+&LqI#PiVQUL zx9hLznh)gCkm3oR1&zmPawCwpD;nGl8Xwc-b|5cTG`JEp_S0lCn(d0>a9aPraVjB3 zbjK6U;9Nz6OW~f3`?0}hASWssG{e0Wi4m-Z=eddo55oOTnw)UbyPv2HDPG5+la(_{|Mxh?HSDHLt`~^cdU5IPx}IfnUw4DXb}iyouhOLAX*}ui zSt~r(WH%$JlOs5kNewSciu@?xUk@@!a1#%)hArJceh2UI2$MLEcLgT@j3Sf&f-I9( iPEIA07eV|p#*YBo#mEF@05OFC0000^@R9J<*)=!8{VHn5p&%F~?G9rwH zEKsvkQc5x@4TEF`OOeKst+kZwq)1s!O*YmxmPm@RQ}Sn_CZbFX#<%Y{p6~!8Bgs5$@nFeig`BNIe+EYy2)aCULF~ zw;=UnqJzS5Jj2#*ix1)J0*a^OJC1f!yw)VyIF4fzmP?j-1BNkH_r$n4j1(>2-{hB% zVO@dvzB*(ceB15l!P5}<6DNz(XEZ9g3Gqy{JeZ?7;i-1Ht$Ot4aV^kJ*rWe>7EbFwBkPV+jCnaXZWn z>0q9hyz|}an8xdOzEwaKk3+z$4w{LKhUGUkH5_RbxJB|1#g(`w>4Mv-SF&~UImHV@ z3^t*ku7m8unv8#~(}+Z9)i%wFOCIVId)5Mc7Hi!lEmp3uT3nu+R_|8W9o;Uz;Y zV{vA5(s}2;ci-GM?Z9t`@Y&-MP#G0`9kPC- z0M8!1z$(}9Yk@BXfX|F1u+1fWGCNC%N5ku>6AHr!J`b@~F&qLaqT|g`HB#xkSaxehG4wTd3;5-h z(WpV-u5zzMGm0V2h?nl=2^2>6mFp`^Mm=~>+cKwU!L&hPd1o@x-u`%$q>5@3mQj3Y50=a*^)iSlj#5$31<<77o+oPz*}hI!1u(+}k)^7X>*Gj?%~1^aq!=xB zL1ZZ{=6lT`hMe1Y$$5_&KuyZ^9?c+zH0@q;)}LBvt8)FR$*2YIw|T=e zr8t=+ntnK=oxmR@cBhS_0T zYzgYL40vvEHi^7c<#~X|fm7I>c3UM;i~LzJIeZHoz^+1-A!WJG0z7mQs|hx}-;oov zy+FgXgvx>X^u11GJ%<6$D+#}u@ET(TJBcnx61Bjy2w@76L>W?@v=Up)BpQPz0rH)= z?GWG*Fp#H@hc*dhlmN~X?xp+*Tw&_(WFyj0g-)U*Oa^Jif%Q!N=w6DPDpVrvXfh4g z2fRR@csIER2KC4f@R~eWimrOX&%}SDuu1$^vQ6SgaWKuYN#a5pX(y%d>6^bkTtNMXLzLl6;>;CmDikp}e^Ne|US^dJ%zWMzNokA;n; zVyWp&{%aa-df3+xnK^r(bN0D&?F;+q9M<}+b?@G1pS{-Uk)KJp4mV*T7T{u>-yT!i z_Z`C?Y{&Q5g3TCgKvU!NVg)v02%{CpNqmgenAOn;Dl!{uaX|H;#~Z_V9rHUDO$nxB z9gfH!_*nmnH__LT$P!qNUo{{2nPUiR(9?W~V>1n}6bS6pcwd-$9c3=I)fAp{?7~%z zMtm9zu(QEns*Xdrxo&W=`LqBZ;lh%3NAV3d;Y<98{Wy$+I8RvA=Hpr{!xCW+QHH;8 zds}06<|_Zo@4_>)VY97b3v%=HvakJoiJUD_sR5KHSiE5WV!Gf`Kq9pkzL zC&zGO9VZo8Chec_MpXy1rS0wSt?D2HD+_d;8YeNYit)7x#$Tu745N8s|#I+7G7~`J=$VNOsA2nWH!X z|A;)kTSB>NJd!dvfyDInD2`7nVqmnCoX&G1;hw@6TZ*&TjnDtnNzr$-=wd7Zy%Kj* z6GVUH`jE&v))EdBi|ESYWSh$)*LTJYw1oP65!a-unE)0=u74LZ&`P*zS+bnYb4%oU zY@-COSNtqJh^f^zHpWc+tyue#6ho85yE^X4t33;kDAs&HiBj9!5o4P(3eQEXa<#sU zvAZM2Ms>Ch5aSMUy`|Q!DMIzO$lx~RtG7)s8Q&__`hyBbc+W?Sj^e4>^6T@gxXx8o z49^mFg++!(B%HD|$kMikB8|VOQKe2Pj_gyh@=}xe;?s0gXvV0l?_6n35j*QRslY(KK;q2`8N>k}g&*_$*0yDbdLYo)%W-+_Z$V|KUU}S(7kTI1Ej7^fhj);%FR} zVrvQijU=HTKbLg21@{X*MrE0b`-EL*j=-}dVV-y;cC0ZZ)Eid|>%^HS%RRWLeQizq z-joiI2}{C21_3AAi5V0xX?0x^`juM~x_MMiLN8wIf&g-i{kXbH5(sZ%16>eA-LV_9 ztGwO)gja>C%OcI67L5pp8@Z3@XUNdtISbE8+oP8qNANN(6F$1y-hhwcx(PVN6rma6 zEune2j-U^OQ>lHg}0oqnjaYn~w{L+JhZJYyDPyA~a%- zN1xCWkW}{mzmof(a8{Bt31=<2l5kd2Hwn8tFF8MTlJMvR=xu~P;V8UJ@bBub?$_G% w<8x`jzoR=Ezq8XT9MO%pGu07*qoM6N<$g36v`H~;_u diff --git a/app/open-iconic/png/magnifying-glass.png b/app/open-iconic/png/magnifying-glass.png deleted file mode 100755 index f048de140a4d4eea370f769ab319e202e648cf3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5x5?2ynD*?RGz;SZ8}?j@n23s za86Y6Lgq(1Hf%QTX7eyvke$i4p=4nJ za0`PlBg3pYARSLVT^vI^I^RyQBb4>xu!jDo+%gX zeX_aG=F*3a7s{u7VKIL4Q+?O_qf=O7A7~xWcUZoHAwh$KjjuwF@xZBFX)B9ab6TWN zsAe#`-?jhnhk@~zT!B8L1OJUzwz{lq8h3jy(E0Gc{BPj54zKn1qXKZ*|_#P2x?};nlxJY&F1fnoFN{^@!96d&-58HeVVq4Wv@T`fsf&va)nfI^7 zyf(hT7{d4>vCDE=#c}0x7yk1ev3e2F`$6Pm+TS@}5n>bAknPdxIb_rfihzc<=#{`rYHhW%FT+&xMS zlRMI*<;@u{9MA6jApVqZ$teZ{Jw^jP!8mD#yz-X&Ecasff4RlrtfTbLbyaF<=4RQ` z>t0@?kEP)EttOFkg=JR+58f5{fTbdt+aIJ(lfCRI)QN?{| zfMx;nd2ILsaM^{n72{vP5ikv;Kr0)wS;I-T73e7P4<)%RMeeIlpSA!!MgEi|H&x`S zDq{`c(n3FqaoO=(btLaQ+*c|W09E;SBxAdlYdFcah0YZDpNO7Mff?W!(JHdsQ=dL< z0hTp$Ok*h|0Ki=V^S2J>y#q7~0IZb(0N~2O{H3G$kpRpBT?_NwY))wa0QM~a_7rQF zZsj8Z0B9SSZ%gLQ12>45n(OoA1t3Mdm{jY$WI4l{1fB~T_XYs4i1=8M^?hBEzv{`n zHvoVw{s)Q9&bXaE2J diff --git a/app/open-iconic/png/map-8x.png b/app/open-iconic/png/map-8x.png deleted file mode 100755 index 3b5040c81425539f595db1190e698e92c1b07c52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 796 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2GX`#fD7Ln`LHowYw(#8Kq9y}0g??yxMuj!9eoiEjL2e#^yogK*E% z*4C!_)*BiuB2B-xlf~H~z(D;-%V(W5{&T7M&)&W{V{`T_d)(x^-}ips zH*;>SxhMAv<6}M<;tPDu9CkD0ZeqN}nlYL8f}X?dzfILq7gu+5m!6aSEjj@#l+#eg zcq@f@3-<*#BX*NSu^H^o8YUl@_~?0jWB-Bd1lAuiJNdM0-G3M`?_sE7`YZQ=$Kv7L zM%ncGg}f0gbzCK^G?PsC0y%T(OOXx;axdD@+A z%HOAN@#enxz2Pp~&UK%Usohd?lGyNYhh6&4vQra(FHO^pGpS{nXZ6W?2JiYaiD%56 zqTdOhpV!v8k6nku#0n_bTd6$f_}!ZM2JwB1qzyc87*+_x_9Xgt?&B4nJ za0`PlBg3pY5$IyPg|l-4~RqSqF`cJG~xc*Z-eYV9OxgZKhz6cJxRP2nR%Vb>VYVrJm%kexY4{o%kc`(Ng|18KB? z0WbmPz!LZbUV$-il+h=#2Rs4anR*0vt>y>7hr&G6JJ7d`T$-1_5Ga7Qufq40QAlOSF+|z-=Vd)Q#30U0xp4V-@ej{egMmr VsTKMd*82be002ovPDHLkV1n)qvL*lk diff --git a/app/open-iconic/png/map-marker-4x.png b/app/open-iconic/png/map-marker-4x.png deleted file mode 100755 index a0e781930735e00694dbd9bc223a5628d3041fd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 572 zcmV-C0>k}@P)646K`Bvb`ySlqcud+wjk%x!(iNjj7H zzVGzT%$bwG3=Xgi%mb6apqhUM?tnAk2)H-YZHW|c3e+Dg2-P6UYLI2wp<1sR`~oFlv&(Nr3sB z0e?0ii6dRIga5Q=4a_~{ghn0Bo3Vv|&!awj7!r!xs8y7Ux&nyvV!WrwruYT+#oU4p zu|jj!X$x}?6GH1jhx9E-$ruUr2(2%l9Pdg}qiWrZ_FqGU!odhn$SnJ?~ zKyt5iNNY6jTN(RnC`+@}Y7Q_AyoLyx#0xNFlK{B?G;RWUTXS&t^dg4& zId)gL2@Y;YV`~0}+gY^*Vf|rLthLMB!=ZusLA%WXdVw1a^J}%XBNzdmBFvxEnvP-` zw@a4hpTJb7%{?s9+&R~Q#s4z*u+fk}!B(U@Mgk>ZK>gma75M`gQYp+XX|#<10000< KMNUMnLSTZEH}}i{ diff --git a/app/open-iconic/png/map-marker-6x.png b/app/open-iconic/png/map-marker-6x.png deleted file mode 100755 index c171b74315e457a28fb628b36ed835c28e6d31ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 839 zcmV-N1GxN&P)-mswZxn|ckW|Ce{dn3WPay6GdK4!GcEX2H&6olfF58YusZ(k2QUr11)c&AflnTD zTPqI?0WX0lWt#vF11mD8jx_*$)Bu{c_rU%v!3)5c2k`oK4QLMyzaDrK0DiH(2G)gy z{}2#iJ zh&>zSdTwjlEf_|qKdf&Z)a2V@V|Yw3o5F0gNvj<4$aGY9kfc5#ejBJ+A?j5F?xbYV z7SJQaADI$aNb;6gw3?yuS~;&xH7HQyL5H5#m;}@jkMj$fUi3)vB}= z_%0X@y7T_0vXE;ASZQl|MKGdt%==k}tBghW-;dfs$XUnY4||H2nMKz~BArGM@b)DYZ- zTHCb6pG&CjA`O-GZI{mi0PYzk_R;S8h6mUT{K^3SC$K3*0RU$*DByG`cu@C=CIiAx zlEL$WUSKW&{2cOX)VqcQ6mT*tcz_n*fk*iJv1g|01imeD z!b+=C*cUL|1m1?aMS6Ij%W-G5qaF*T8Shs$g;b*=@R?-zX<$Q>7!$P}m_>%41-3Pf z&QK*9-70xpG0@(1!Pm%AY& Rqy7K@002ovPDHLkV1kUoZ>RtO diff --git a/app/open-iconic/png/map-marker-8x.png b/app/open-iconic/png/map-marker-8x.png deleted file mode 100755 index 0a516e3b888b32db7637fd4a11dfb8615cec0c4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1154 zcmV-|1bzF7P)V%rJv-NG@X0r`}@tAGmqcQ9YYxEfK@;XumGqBCIb`W@?PL0&<#8St^r-Z z>p=c_ArI^UZURwCy8-Nu>-uMy1#|-aqz}B!DZnydJ8%x@v8;QLfUiR%cJKUCOwiR98smX&z!M9dUZA0@$Q0zz zkM;w=AWLgxI?@d^JJfB$^dyb;L5I4(F$>+3xC>18pg$G3rO@vK zW_Zx2Qz70BO!FZgQ;V)AbhsAIBR~BC+;;oFu_V??^5rvTW^u+IK`_D$c%e9`@TbkC zptPlZO4tobCGx9q&6QZ4AQWNd`OxeTd>X=x8D+Cs5c-7OBF7cgn8i<$ZyTjb#wvtb zgz^iR0WviGz(wIRE2K&^4Iu5iFDdHqMVC-6<_t6qP%o6Fkf=@3|%mP|Y2x3n#3CvJbV8*5-pH8_HTq=k~nCxvR_9^_4 zHgVQS>F|DFv1`#1EW)I`l6<-ELs&{cM3^kiR3G9odE~Ai;px1v3V5XuzlEbrOc8m^ zv?l4l!()Qxh{AzFPiS(ey9nKrkAPzib^o9Sc&~J1060MTM`Qbt-}!=l049~8r(&tnGr3x!&U6@SHGk)#XYA_p{X3X+-E%v+2=a>}O z7t8OZViR^xCWLMB8gU6OIda^EUG^MnNfu&KPFV;44Kqt*Lc792-*()4lnGP;4@x){ z${xl(WXdv3;xu&dKk%^ONlO;5LVJ+NlvJWyr@ON2jKKTC^N>?iF02=rA1Eekw&1@3 zwg!tPC8zNh{F#7pq-Gqt>uk1mn{2YrshErT4UntgKO&z3jW|~0<|_RluqLqY&d^+E zlPu)*J1?9ieeh>9@Ygw2z!mI+zrqMu=er`0xks!GzMFsSw}KiP&?Qvg6X1srS+SDj zOV4nJ za0`PlBg3pY5>Y>+WGx6x&uLX)~jfcjGgj8`VPR8-gZ9 zEMV=9{5x4Q&FFVRS~quFfbh&xk#jd5HgHwXQDGA~IlbZ;ul|}pMyZz4nJ za0`PlBg3pY5{M+vo zONGoU@*c5@PQuD6+rqaHLBv`kefO&nGW1=w-Etx-RChUk@~v!PC{x JWt~$(696;vEvf(j diff --git a/app/open-iconic/png/media-pause-2x.png b/app/open-iconic/png/media-pause-2x.png deleted file mode 100755 index 19a7b0924d168d764ac7f9b1a14da5615bd1922f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARRiME{-7{oyiFjtSk)5QvdBIzUl}&@3N}fgLSc3Pn1E{!4(h&R|gY= XTPl-^UEA+xKz$6Ju6{1-oD!Ms$>#Ul~usr9C&-vG0%j m9pA1#UwMHVe#r3PzS-CBOddyGY|8?g&EV4nJ za0`PlBg3pY5a6!^Fx~K zj)U*cpFO|+I)jx%HiPT}(+0i^QV#4HybGAOuw7t`Vt&D}ma(Ma8oAO9DxN}5SwFpH VO334!D+F{FgQu&X%Q~loCIC99Na6qh diff --git a/app/open-iconic/png/media-pause.png b/app/open-iconic/png/media-pause.png deleted file mode 100755 index 107727875bd309ada4e2948c68bea534415269c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5TmNj{ppNZMhOn}kC2;{!|#`#;!RZ20}?EYL&-Pgg&ebxsLQ E0E(9_EC2ui diff --git a/app/open-iconic/png/media-play-3x.png b/app/open-iconic/png/media-play-3x.png deleted file mode 100755 index daf5cf2f2759a8bcbebe63e624b4db18861ccd86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARS4bE{-7{oo_D~avd<>aSpsV`RR+jk-Jp758fzBc_Gkv{l7AwaZXVSDAgr2W4amCRs$Q6Q$#uKd8_4dbQ_ itWO^9-S%PbZhqFi6Ph=r$XWw!WAJqKb6Mw<&;$VJW*6PTK4;UoCw%A&Z;GdC}aKul1Zt+1cl1 zl{SSl-6~C;u&j^oB7@Zu_63e^4J9XZ6nK+Z4=Bbl@CdQCC~7oFH?i$;GVAWydVbFV z88^l|4>c5IzA+^vYBR{qV_nkf-teV>-+?=u!M0|-&Yo}Q=QcHRD7by-u?0GW!PC{x JWt~$(69AQVLe~HQ diff --git a/app/open-iconic/png/media-play-6x.png b/app/open-iconic/png/media-play-6x.png deleted file mode 100755 index 41ffbb226d0ca43359969461910c0763698e1cad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383HxPZ!6KjK;SYytx_-cv>DlIB8Rr7iNBLnL^m?>kf4%>h^V%#9j~e zb$#M5N=@m#HPU?$vUOAhILBwAJ!?2Z4nJ za0`PlBg3pY5!iCMi$y@q|u+uEp^PC2_TpW;d4Phc-(NnrlSnNZo0&p561hiHOj$7Y7p4u7}} zY>$L8Ty~1#HIQ}DZ^%@rV&>s56hE**pq!b9-I0-p*^&8yz?TAE0|TnBIXmw=odi`bJ7PkmdEY8`WvFMJzeW~lb% ghnh>L1V!x@=TGyMz0>zS6zE|FPgg&ebxsLQ02W(vuK)l5 diff --git a/app/open-iconic/png/media-play.png b/app/open-iconic/png/media-play.png deleted file mode 100755 index 6f92016c4ea8ce752e0b5e0d1872bc3118eb640a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5G2#rZ9mL6+Z?B Y-OoI~-^@784%EWn>FVdQ&MBb@0J1$F>i_@% diff --git a/app/open-iconic/png/media-record-2x.png b/app/open-iconic/png/media-record-2x.png deleted file mode 100755 index 3e6faf45f010be49eda3a870a1e7f280e567ca31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5c!s5S@h7N zkX73^x$@t-@-z0=*i55%FVdQ&MBb@07NfQ+W-In diff --git a/app/open-iconic/png/media-record-3x.png b/app/open-iconic/png/media-record-3x.png deleted file mode 100755 index d353252fa76fe25ad91991719e1599f5771f9338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARTu+T^vI^I^SM#^kO!YIQsEEN0Yi>SG#~<=1W1FSl9j_?~hzr=2cDC zTyOiv_An=2IVt{l6aPIWoR&`tYA-jg< z!CdnlTA6W7{?3~wnZ>MX>NhvYwcGh!k^kho?%*aSyZ#=FOL4!0en>r^$Z)HD zwMt6wX$_mXDS{2>y=VPjV)$;0dCBjm>1SB@zN}bd$5^vqO_|n0|5reNGI+ZBxvX1R9J=Wmd$DcF%*Tr3ep!SUHQMP zPoXcNSbT_5!6y>`-eKNC*P`G;cWO7{&@M8OGK_d{Ojgc;v$=$PCz<4CAlI|&MLE6! zbb%Jo1m2SR9#{eqFa}nh@?BL2=0FVm-f;{}fvPWfANUb~(>?*8kHUuz;IzM8;e8Kq z>z)=~$8Fnh`3O`r0cIZI)?+EWf$X$v9g}f03K;>qH|me7kj#BIKq~;;sx29`#sBtO zZ_===R(uAE;x*}X244RcLVRnLvI6V_@^+E{%YXqEk^oV_0HV2TglR+<6zzB#Aizip z2h%c79^nU|qzM4#XTn#2juvh;@BsgEgQ(8z?CHvYk$kD um?yOjd;srBeTQi>5ikMP%6W4=vHk!m;UoJA-y%!^0000~D0C?~quQCAkeab(3lwX`u;wAF%4dW}xgNQ9!7gK?P2N7F}x&hM*%?#L(cd=pyY<@Rj`Un06rUKK{EPiI98!#0Zdl0eZ zT{mDVF!Uf|i`K%3sst)=X~K?00000NkvXXu0mjf6Ak6_ diff --git a/app/open-iconic/png/media-record-8x.png b/app/open-iconic/png/media-record-8x.png deleted file mode 100755 index 564042deffb1dd4987dbc783a7cbcbd7b4f723ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 786 zcmV+t1MU2YP)M8P!K<`zd;mSiA#TmpxcgUsko_>?u&?(xl%xB9Tb^uM9={KjXjxFbC9uXeo@?bxAuS+z+^-p&YT8T@oT(SA)WxWNS?&Z z0$&Jcyj!0!b4e*!2HM0kpDP2FBKSL&72uHg=5rkacY?d@!-^omSZW0J`WMUS_I$6A z5bbf8Mdz8fDFdzs^bMF-UCi0uRT~6;MXr{>q)m@PnV%x;BFC57z=YJ)35Nna2F^Of zYjGZU=)2KTs?qzo_J9$IG3f}nMKyXq=Nxd;XM=-mX|>e!Wq!N_W{T(t7_*s^JOT@X zm@+a1T(bp93NSZ#E^5r%0we_}&Az(;*4!lpnD&r}7BjX0NdbmEB%;M7TY%(Pe4i4Y z!3o(1&KwuuvK0O&krW^co<%rXwg5>1c0DAb#ZOy+qyXC<647GI79c6WriVnd_-YG~ z6u{f2LV-0Oja)&0W23qm+QDpxtHuZ5n=MGX4tO(IE-HAaZ}D4Nf?fzF)JLSfkVqmH?p z5X<~J5hpw;HOwdUkk@B2-~ka{b%QVgJjd^4nJ za0`PlBg3pY5V(>7&$juu zCIlXKPg!sD?%Yf6D~tgNGjq)!NZmR2@1)39R_kk#))fp5$A#j4M@?A4nJ za0`PlBg3pY5xZQYIX5NHcl#Nyze( ghM!vaJU<2ovulBZbA2P80WD+jboFyt=akR{0E!4nJ za0`PlBg3pYARVoqE{-7{oo}b^=4~+GVfCNV!{nW6GA&6YE5pGk&~Dq5@PnQ&--({@ zl=&fff+t6-p0(^j$PZ47yqm%Wzx|IITRYc8Uliu}*;#%x?!epYTGyBq_lIs2;rO|? z>nG>W;KXG@VoAzfzZ!l_(&fBpymgD4!6Eh|s}D^Q(6#QCZ3MFA&$aJlI4^Nv`4*#Z RZ-EYC@O1TaS?83{1OVGtPZR(E diff --git a/app/open-iconic/png/media-skip-backward-4x.png b/app/open-iconic/png/media-skip-backward-4x.png deleted file mode 100755 index 7024dc9df2710733dd06f26fcf620a256b739b41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H#PZ!6Kh}O5$tofP^1X$fQExC4Hk?Zv?6v@gE%4|MxV>g$6myOWV zJxM<#t>#)V8?5}JZos_yka9d4}mEi;?&DSDDD?~*^)QhsYcwf`aLRw)@_#h^ z2!3PeVz2D4`BK(S!EQnY&&7#n9#7V)aj4OG|A${%;&_5gv~6@g(9H~CJL|E1JY`fxK$)EME6uG|R;uCL{=v(5IOD1oa zyIn#xAi+R_r|*>Hj-9{OACR3P^Ow;kuIOmPng4!PXZ5)2{Z>g#_|<%V$zJx9e@mC_ zWn1!Z>k?ZanP8jwy5UUxtdiFaSK=p^oNl-xe?@hz?1Z1&)pTVi{ED75jmP7!WAvqX zW~2J`OT3wb>d!B^57f6H|I$y@uk$T9#JAWhZk0FqFPzSF`F6&#^iTCa7(csr`Xu}^ zn4ammkKI1upVMScpLk7U)05v{u%GD6NLAakc>c&*16m=d#Wzp$P!Kc!qTV diff --git a/app/open-iconic/png/media-skip-backward-8x.png b/app/open-iconic/png/media-skip-backward-8x.png deleted file mode 100755 index 4ac01d84fcfba20caeab8270e8d12b5c12404760..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 421 zcmV;W0b2fvP)S#p%*QhhWo z#Zj^*n?!0XaQvB>hyA)Fuj?%e4E8`#6h%=K#dt2j)z$w6+`fAE;x=m9eStK>!vkoxD68!Ed!+fplxz%2gv-rl3O}J>hGD{ zk^xeG&^NjN2FU!Ql6y5k>K~chvjI|nFgCgACG~$$0Pu4nJ za0`PlBg3pY54nJ za0`PlBg3pY53AomI$}45ui%@qJeaZN(y9YMOBp;}{an^LB{Ts5vHwRq diff --git a/app/open-iconic/png/media-skip-forward-3x.png b/app/open-iconic/png/media-skip-forward-3x.png deleted file mode 100755 index d3a45e752d2d5c40d3345dd4dfcbcd77a2c98630..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARXPFE{-7{oo_EX@;NvNxLlO?b}!V-JGRiG>+21LrkC?B&7A9(_FXHG z^`G_*&J67;p$!bNs{Xg`bMc7&k+itiV%zvio-v>4>VCF0oFVghpQr`wmEPgM;Mbx9 zrA#Ny^Jhy=-}htE`k5Eic2$Y@XW0LIcb50JPwvs*qRsc#OMIz2y5PGu+unG?7ymcs ZGb{W#)SqarU322WQ%mvv4FO#p{eRDb{g diff --git a/app/open-iconic/png/media-skip-forward-4x.png b/app/open-iconic/png/media-skip-forward-4x.png deleted file mode 100755 index 04eec0c560b1c4fa71e546fd9b1b9c0be031f7b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IAPZ!6Kh}O54Hu4@akZ^gZ?&X%Kd83Dib#cIKwnZ8Vk512h!t_7r z)O(S=EXR7AIW5Y*h&-9Vyume&eM7GH6?MqI(M~g>gTe~ HDWM4f?rLWk diff --git a/app/open-iconic/png/media-skip-forward-6x.png b/app/open-iconic/png/media-skip-forward-6x.png deleted file mode 100755 index 77967f2a30358d175f9296983cb652ade6138dce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IdPZ!6KjK;T@z4@9PL|iU*IZuDItR#JtMr7CHvPCT)CjJW%efeZ> z%gdE5+zv4@F?Vj7GwdjPqs%D5c*pAN#C_+b4=i@Bm-=DLyyN86e_0K4W8UWT8BAXN z_by{t(bjs43$tS0rt@x53IBbQdF#ombsrrvi?+s_226^18_xekE&TUcX7`gR*T}`q8!hbJI8BS-(sEaK825^JV4zC$g`DfB#vM zHh=z=H=ifZs;vv!eBM9n+fUE4cJ?c8K36xzE?Eb1edl+^W4{gDZe3ni3iLdKr>mdK II;Vst0QO;*-2eap diff --git a/app/open-iconic/png/media-skip-forward-8x.png b/app/open-iconic/png/media-skip-forward-8x.png deleted file mode 100755 index 562aaa571698f236155cc1998746846c3432a0e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC&YmugAr*7pUOCNs$Uwy9qM*0eLd_RE;;c(ka?Ml(n4YAc?|JfF zW&L@MSf(RK!C-3*=Yfrh@{$K+53CH7|M}C3VLIF2M2G)EJ3LqYJ;_iuDeM1hhBP4g zoFQydR(+YnTa~N-7BQMm4*A{9e#I;3?RvQYE6=U_GaXI>C7v-ZofPtWH~Smkpts_Z z8`M3w#^)TkrgF9JBV#sDM=0AG&!D&A(i=>G614|nCS}bxdJqpJ%@)*iK32JESL<-h z!gH&>_mior>`F-&V|8ms*GTFggaO}$!J63ts^k<(Z8-M4nJ za0`PlBg3pY5XRJ0Cukx|U?GJugspoM@*x4}ek3Y~T22WQ%mvv4FO#s@FESCTP diff --git a/app/open-iconic/png/media-step-backward-2x.png b/app/open-iconic/png/media-step-backward-2x.png deleted file mode 100755 index bc2018bd439df40373a274054a0fbed12e61836d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5aMG6;+P7m}7{*?YlZo%jUCn~fcOH9!;I1tl?< ksdlW{=wk&Knoc>UHx3vIVCg!0Ds6gr2qf` diff --git a/app/open-iconic/png/media-step-backward-3x.png b/app/open-iconic/png/media-step-backward-3x.png deleted file mode 100755 index c4012cc40fc5bf5ac47672c85774e09102044efe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARR59E{-7{oo}Ze8>X zgGQD*EsJ>1eR-;D#e%-x4*FQZL}y4Z47y*#T35NmsMrw zS(YU`ud=>-7A9OVE86wJ{5!6VdZ|+cO`NR`iZAEv+wr%>kagTe~DWM4f D#_n5N diff --git a/app/open-iconic/png/media-step-backward-6x.png b/app/open-iconic/png/media-step-backward-6x.png deleted file mode 100755 index d9a07fe177339f9b4ce48deb330a2e74cfdd9273..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 333 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J6PZ!6KjK;S!eYp-92)N0wvuS^R(fZ{~oBp`NOV=@}n&nP<_FQ@f z`(4&HcKr)}2McA=&F&vcHxYlZv(zE<0gp|?`Fk<0jnW^^&0Vb`P^39)wSvI&B(DTr zabc$DogUmzo+xQgnB6_cAydzYY3oi84w;jws~oyxmT_!3le)v4N?0cT9|%*9#f0-7KZYkh^)7l7PW) zN8w@>ZBE7&=e^t%63W&JO`bh<4a1YvsVRjcJ@LhcJV~cY( Zb)|n6R#p|T>jAya;OXk;vd$@?2>?xAdWrx5 diff --git a/app/open-iconic/png/media-step-backward-8x.png b/app/open-iconic/png/media-step-backward-8x.png deleted file mode 100755 index 7c8b248c774ef48c824411b7707b7b84b5667cb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 419 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCuAVNAAr*7p&a(A8>>$GC9x_Myd875gnHKyp%|ffDUJ!a}dpmpo z{fU>B-spK&{7}cl_p*s^@XYzm^6T$3@Shdm%vr&9uQ7kh^V2F1M1Leb{%OP^vGcuE zdBm-!bQ|xFjJI zF#Fr7Rh)YQOPK04e+$g1WVDn0Q(?^bAYCktiS62E195{5vs$GY6O6gTnb=a}JI=%y zatnGh7W~t3S;NY6YMx&bmpnV6-hv~t89hXg<5-Zl9HV22s4nJ za0`PlBg3pY54nJ za0`PlBg3pY5zUjise+{ipr9(Okb*II%oy?@yW7 nu(dcd^u|uThFPzfYO2MB8R9GRnbRf!tz__Y^>bP0l+XkKUaUU} diff --git a/app/open-iconic/png/media-step-forward-3x.png b/app/open-iconic/png/media-step-forward-3x.png deleted file mode 100755 index c5d71dcd8a7b3defef3e70b9bd8a4107476e11c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARVoqE{-7{oo^>>6l_osU@7m(aejSq))w_w3;CRTeHiZ7R~Y3z+w?m! zLLyLwA^YjuzZY{#7}X8FGwta;a8LL{*y^=X3$9*cxsXxJ=y5BCQ8o8nL&$CY1h34t z6#c1fVy^6SMOYI8@6BQmywS5iyf;X8UBe_k@rEUfITu_E^U)hFbFnH-$IkFA?KZ2q5~VJsU0{g#Cq({!smfonp*ut*BrP~;m>rVp}kZ`x}aybNW#%r zCW~%s(FdK@ybpS#`7(N=*>*^6XA$U(W|H`P|1)a=-;|(!R{@Ym89ZJ6T-G@yGywpV C3tj;L diff --git a/app/open-iconic/png/media-step-forward-6x.png b/app/open-iconic/png/media-step-forward-6x.png deleted file mode 100755 index 62e49f906ff2d94df3f1f3a95f01d3b39ed57157..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383ItPZ!6KjK;T@cJnqn2(&yDoOs*d>kZSJwt@Vm7F(2sO6I&b{5`2m zC1@J|UkAPErz7*3H%Q(2TV{7vyp~}PwalvnGZiZBr4m#Mx7_3(U2*H(Xm2!yL7Vi*ZG&C|AHK zEtv;%L|HdnNoiXB@8ZPinW|r$F0`02d_TEctwHucb4j>p!8uit1yj5^9CXF6H%yDU z!xU9q$o}H&QQia-aq)(kF+eL~fL6s+y$fP^6BG5`k9kSa&+>99g}JA%#&S6*PrsDW f5TiGJ^KJe)oC}gFHr!DK1^|PntDnm{r-UW|8Lofa diff --git a/app/open-iconic/png/media-step-forward-8x.png b/app/open-iconic/png/media-step-forward-8x.png deleted file mode 100755 index 9424d12e332d731d9385c844a1312680b79c7045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC!JaOTAr*7pPTt7tWXR*q@5aWz zD%UOd-eGhN6mbnqdB*r4M>eTF_ror^3dSAG7OUK@Cw4WI`7?xH{qfjG^uoEzIzB8F zvsz~|=x;U z>yRv_$kKC0si&bnUC_^A_r1s#(G3gp#TK$|xjoyJi}CG}$R$D>9#)IJWZ9Cvc>$Nj z7YU;!uh~uIK9=Y+n5)b^z+^}MIODDtXUEV&T39;p!noN7H#5U<22)?WOf~jkfM%SVfC#5-GH?MqTrx^+i Oa|TaWKbLh*2~7YHkEz%I diff --git a/app/open-iconic/png/media-step-forward.png b/app/open-iconic/png/media-step-forward.png deleted file mode 100755 index 12efd2e98963aec1e09b5b7c0e24803e7d5d55e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5gTe~DWM4fSHLH$ diff --git a/app/open-iconic/png/media-stop-2x.png b/app/open-iconic/png/media-stop-2x.png deleted file mode 100755 index c261089092d9a07cec2aef1aea64f8face21af98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5+JpnE{-77$U3lsvH5UABRj)3Z$=5>>?P-b PN*O#|{an^LB{Ts52^1bA diff --git a/app/open-iconic/png/media-stop-3x.png b/app/open-iconic/png/media-stop-3x.png deleted file mode 100755 index 1639e3028bbdebc72bbd8fcfb7bda91befd57bda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARStsE{-7{oyiFjtSk)5QvdC@o=sgesnO!#3f9G9Jy8Z(5C+pC28Ib& W8C7IWZyg5eV(@hJb6Mw<&;$TbOd($Y diff --git a/app/open-iconic/png/media-stop-4x.png b/app/open-iconic/png/media-stop-4x.png deleted file mode 100755 index 2f8803cd75d01feb2ba6fcfa5843df2bf4fcd48a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{fr;B4qMC;pg8wD8*IG7C&{j)yIv~#hN@0X?0+D`k+^`iIwIrDV0 dAy6p{tYn-ym(hUdg4Z;Vh^MQc%Q~loCIH(PBpCnz diff --git a/app/open-iconic/png/media-stop-6x.png b/app/open-iconic/png/media-stop-6x.png deleted file mode 100755 index 2d86e8edf296a0c406a5f99527304f42355640e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w*r;B4qM&sM_8+jWH7?=+p_-B2XNzkkDlk2-E^M8g6Ue}L*%c4nJ za0`PlBg3pY5*PoUFw+Ko>88~Y6>sho_DmCt+j zscUOo{hspBIja~;8m=)|Ib<`)E--E2yCCJjp253-c?;VG#wg|&3~R}j_MD`0iaEN3 WF=2bH4nJ za0`PlBg3pY5WP@ diff --git a/app/open-iconic/png/medical-cross-2x.png b/app/open-iconic/png/medical-cross-2x.png deleted file mode 100755 index 24193bef8c7b9eb320c32f3c30de0ca8bb72eba5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5EN5ha2a&lpb8c*nE(| fO(#iNSD%5w$beZ^HtVwzP$z?@tDnm{r-UW|^>iXq diff --git a/app/open-iconic/png/medical-cross-3x.png b/app/open-iconic/png/medical-cross-3x.png deleted file mode 100755 index 2cc073236580ad331cc2a269419d151b6bdc8e94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARShoE{-7{oyjQ&c>g_~c$iIMBd5{C433itSDG5PH%x5&a>YqV;+LaI r*1;95i^VRi)H%fJmc1pAyMvkGgaWf}PK|y8&=dwwS3j3^P6g>KxMm@Do0b=oY~^lt2RZ+ yoPGEfsM_e)_dQoX0}TKJjr(t`|1&W(>}TYD8_jHcdrEK>NZixa&t;ucLK6Tmw=KB< diff --git a/app/open-iconic/png/medical-cross-6x.png b/app/open-iconic/png/medical-cross-6x.png deleted file mode 100755 index 5c19a5a3cf674f33344db77e36c65de01a901db4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wxr;B4qM&sL?j$9220uF(1|CO)v6*t)A|KVO#qFr9g%;dX2ADrvj zS@h$E>CteOD=_%%#{ca%UwzkCSfGXlZrjqo>*mD0o({fH_?BtuCg#{jrjuNOb~1Rn L`njxgN@xNA8Tv%Z diff --git a/app/open-iconic/png/medical-cross-8x.png b/app/open-iconic/png/medical-cross-8x.png deleted file mode 100755 index 909b733fb0456923a68d56e7e512ffdbf8390159..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5Xg~8L+&t;ucLK6Vxt{|`g diff --git a/app/open-iconic/png/menu-2x.png b/app/open-iconic/png/menu-2x.png deleted file mode 100755 index 7104b65c560b57db9fd741936a602d3dff8c611e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5QZNU&&_HY|!rNK8oh i;nB%>n1QD`f`P$g7AwC>_yQTAW(H4JKbLh*2~7ZQ(jy=M diff --git a/app/open-iconic/png/menu-3x.png b/app/open-iconic/png/menu-3x.png deleted file mode 100755 index 0980e8e0bd4f4ece4b63c9cfd4708b218487c175..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARV@zE{-7{oyiFjtSk)5%*==DqoNMDcprY5bWlTrv0-9kqhr%GF`l-(t#Ng@b=d#Wzp$PzQ!lBvF)yp! y)1VSAaUh+23+pP@KV>dLq0tNWC)qmOZ(@#dV3pq7V0{T_7K5j&pUXO@geCwZmMgCS diff --git a/app/open-iconic/png/menu-6x.png b/app/open-iconic/png/menu-6x.png deleted file mode 100755 index 6b146ffc8298bd44e10a6fb793fddc1457fbc686..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wzr;B4qM&sM-j=T*4JT3?SvN--IZ&VVvczD^#o~GLEW{eqDp8LLa zbgs5d@N$^Vz|e5iZ_;wxq(ko4)E4B{9+>+ix1WJQ4nJ za0`PlBg3pY54nJ za0`PlBg3pY5mdKI;Vst0R8|Ns{jB1 diff --git a/app/open-iconic/png/microphone-2x.png b/app/open-iconic/png/microphone-2x.png deleted file mode 100755 index 7dc94c6d69b67a7151c30baacae2e32879a0f015..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5J2}rC?Gm*Q=eKM;;HtNvd$xehBZ1k5m*nJ{c7Lz;H_dtM^_S`NuA_dF zcOKDV+p$KX-J)Ah-09aA(p&q zBnI7$E?fkHPv8?}=Sq-hFc47`#FYdg50Jb-o+02uL4rs|V?t(BbkWmTG~F|IMxzG` zit1D6+`hN&B@JWP$2D$nfR~BAN!Z10A$A|r;BSe+WlCdTqQPyi{r!msJ)_KE;C~uy z$tGpH2dyPE@TncC;r5d zWpEVonUL?57{rVA+Wo3ea8<%bcDVUIZiM;})?2Iog*6O@?@OWYbCozO1Y#3&?Z_>> zl5Jt$x7exSYapMX)`mNUAA$c}!tI{GX=rN5wr3urvJtFd8Gi!r0@IzubJXxt_52s3 zj<>1eImYoNLHrvgyA_X^#d{nE(PMnXn}-M&@h%vwq&7XvbNyr(#0Q+KKH%Tjl#OrK oSZyO*jGbN#&bl!8r{a0P17Ajm{9eo`wEzGB07*qoM6N<$f-%*>h5!Hn diff --git a/app/open-iconic/png/microphone-4x.png b/app/open-iconic/png/microphone-4x.png deleted file mode 100755 index c0df974e2c93439ae8eb6efe1892ab66b1c78ffd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 zcmV-30?hr1P)&)_2gBNkV* zvxyI|5J3b%1kuV;P!PmM#Lh=!;UCa{AlTUoDk(){Vz<_=Ew zoy?0#xZr{fv*(<>);ed-V`zpGm_>gOZ*Zz1S8W`_az;Fj9*%E>f#*5mX}sJB1Kk1x z%XP^%H89X`lXI+rfmSiH2F427*4@BmEaE4wwxDquA2B!JF2yJRR`n9Lh4!^}KpGM6 zGHu<+mp21DGtc9gtm3)=yE4xck#8gy;Y!H2hJ2xbZ$9T;{Di$S17AYEH{>$~23~}` zgYB8Tt9Srl+UiAhC$t~Lcf*VC8}^63=R=>_GI6*bir!;$=yL#1BwKYJPjkdcW-H5e zw~B$?lJAr)yj`U*;GE%EI#jjzekfeQ*&5=9B?nKIW4cDY4nF6YxTSpSUc`@3+r?BJ z18@ev3{T@*+>lJ?IJOMPui$k~|GtVxa2_s5MqYOOt`&c9v#EHBllag;d`_|uTfq+8 zlWe;(;T|4fPg~+yOyUwA;&%{!jB8e3KI@A3Yu;%>GLpC9|7D;m_DL?B1?9V73D0n( zE%7OQtsop@5l7oF@Th@!8n4q)Tv5x)Qc002ovPDHLkV1iq+ B^(O!T diff --git a/app/open-iconic/png/microphone-6x.png b/app/open-iconic/png/microphone-6x.png deleted file mode 100755 index 7a6fea1eb06aa5955e393e77b4c525c6448e1a10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 800 zcmV+*1K<3KP)@3toX-Z^aLn)%!Sg=5{P!=d3Nw{IX&*_``4|MUOf-upb~yj}2*#lT5m00_on2cE16G@3X}bMcMnEl8t@=R`N~%vaHpFCyRv&=O;9#Ya(}27)4L zPxC=iB&G}$jY(mk3{$5(9Omu=Z{EGEj4@9R+5&7F&%mM`eWFw?70zFJitzc>=XJCy9{|eEb&W>nzxmG2a_0RN7@J% z;a+238?XN{p2EcWq z&%n*lYt-pZOMcTJKSO#GyAA$V==VZotU)d{t;iMhyTL*QIA-t$z>bvKf5X+{j*s_1 z7tvppY^C{;tKAiePy#MADHtHH7LNnlfaSn+#MB~S6VQXZT@J@X^rJd4T7hd3il>bl zu+X>o2CB%2mzDTiB>O$Z#x7)D^(Fi#a1>9k8>6BV`CW{r6n_U;pQrFJRs*My9x1Bm zVPsI>T!3B`RpjRGLGPhX0Ncrau1<|FxD71zUFg4_i6;c63>1wCZy*gS$gpu2dCwE~ z0viDy0|zMJSnU8FBoM8|OJHSQ;>*a8?z@qD1I*3CKvxFh8*wBL1J;b3Hs0o8pg%(c e0rIDj$oK_6P66Yj#!&450000jAUr?WkLPF(G? z*V_Ah!^Qd4dRlvZ>%Z1M`|NMn;FpfTTHrd62cqBXA+QCg_N>VpLx3B!EjrHb1ET_I zbjASS8FKLjdkxfv5bBDH=!-AdRiGk-SlcWleenfb96+yij+4CsCj;oU&U3Oi;FW7} zKAy2wphL#kJm%Hu3?B`MN{n}^G3%ZAXDBxyw1Ci*8xUGRXvz&pd3`0&#f6ae&V1kz zzh-E+fkn#Lth2y^X{Z5?0v~}!;1V!H87ndwXo?Y*2bL(}T{oZ~@Hi%}8JMex7de|C z?vWzibpz@WV(%;BMP3U62MO`68*o#IAD9%Z`4h|u{;rBKTq5P~p5!dQ215%7O}PPz zYnlXqrQmN?YKfy!aZQ!rPt>nzz&F94_$LEARpcm!<~7?x@PAEmY8vof@DCOI7Zo{* zabEEE1o|ZSTQRf4qG%c*-Gy<2{}9=>#qz-65_3OCcmy>Ks2BXR1^+GNLgF|G+!3ys zBlz!S$QzqPnyn2J#;C?DP_(nZ3&?+N0C$CPw&_YtrVG#@B-*JMr!(ep`14fw&jr?g zbj42n?ln$LDNetZmBO5l0}$j))$)d z#yvI@=8%uL^1wWsNsG`Acp+$M1%}&Byh%tJ0q=m3wiEwG6}qE#Cx@z4z!OFCC%_0t z`A;kIH{?zI6ghI3U)!}5c^ZK6B~_M!(ZGik;v&rZ{tU1Yvt?a_xm%qu3z`YQD&Pp_ z5lS<59$4YD;ut0YpHm8TWg8sVT9k>Tzgsq~1z6*}N`YaR6`$|oKL86n)Tg2vGrvz- z=-9N&z+f+xrDQs8e+}<|b+q#jC@X;F$R{>w>=m#T=;pBwD@?{LbF+La_ysrtEJZ$@ zYWGwCV}RAjn=9LaDahOHe=YAxZop`tV#+5&p#_Ad+DYGyRp3o*b|nvqpEh54nJ za0`PlBg3pY5<^x}?X41Kv^JWB0DU>NVB&*%G;)B;a?Oz60cPu>p*lSCK o({zu&3lIK`Z&u7UT=txO7oX71MJs&Y0j*^4boFyt=akR{00!Ja#Q*>R diff --git a/app/open-iconic/png/minus-2x.png b/app/open-iconic/png/minus-2x.png deleted file mode 100755 index 0ec808795914818d38d27c410812b07b47889cd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5+JpnE{-7 diff --git a/app/open-iconic/png/minus-3x.png b/app/open-iconic/png/minus-3x.png deleted file mode 100755 index 1d9213734b938d16565f3099709672efe19359ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARX$SE{-7{oo~-N3NkQov^Z?3PxmeC<2PeySh9mj&GJRcorC?2OPIMI X-e=^N`;@;1sD;7P)z4*}Q$iB}3#B2H diff --git a/app/open-iconic/png/minus-4x.png b/app/open-iconic/png/minus-4x.png deleted file mode 100755 index 785adf52ed950d7d6b93f9a56d38626082d247ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{cr;B4qMC;pghKvjfJO?&3)t`4h#wWy_%lKh;@Y!bv?)FF-?d?9VYS)eFGbgl0iM)B1ucdvqYp00i_>zopr05yLm#sB~S diff --git a/app/open-iconic/png/minus-8x.png b/app/open-iconic/png/minus-8x.png deleted file mode 100755 index 64f2c5f1315c42a03bcc50ae0ceb1e84ba043ea4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5s{7YeHlb<4nJ za0`PlBg3pY54nJ za0`PlBg3pY50TY@RWk|28E51o>zX)Zv=u)q1*1f z5;|-Fb0*A?kdW{TT<~9F-<9@vMr*QGN_9B$@bIjc6tLu--Tlwlz+g{OLc)jRX%d^# eoPMbK2s1S7QZGvXbq#101B0ilpUXO@geCxO@jC?o diff --git a/app/open-iconic/png/monitor-3x.png b/app/open-iconic/png/monitor-3x.png deleted file mode 100755 index 7f2781050a209fdcace09bfa20887d824eb8f359..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARV2aE{-7{oo}x>avd@dXnm+3TJpSf&k~N-xC6po-vwhema;{;T63%N zrwMvIlb3s_T5!m8fe|04xJlBK%gtiTN;mp(f0b?P+msf-8sfnEhgreqjnwxYeL-=F z?R%fTJ!P>^`h2k2KAZo)x36Hyxw!EAp9cTTJw}&b9+p0} X(dUbC(FZ-CqZmA0{an^LB{Ts5;iytT diff --git a/app/open-iconic/png/monitor-4x.png b/app/open-iconic/png/monitor-4x.png deleted file mode 100755 index d6687bebf2eaea81d9317a4d88a834b2e24bcb89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I2PZ!6Kh}O5)ytxiJ2(&!Zf5dCk^2A_K`iG_@zomfz0fj4P?=WB! zl0UiQMN`v4$z64`;!Jc3kLD&!pOJneS*iEbnnj+=0#6l4m|xj6&v?Gtyc#A(0R|Wn zzsRw>J{F{v39G|BXh5jG#Uy@%5)KFZ=c1_}YxJ)>DN!8DG}& r$0~No9g>eLWz3NJy}o8u`&~u@qp2+|<`)!!u4V9a^>bP0l+XkKNqSq0 diff --git a/app/open-iconic/png/monitor-6x.png b/app/open-iconic/png/monitor-6x.png deleted file mode 100755 index a67a0267840321cf0e01a6306c08d1a751e5dd18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6W=|K#kc`H+Hx2y`JBYYmOm;Z9XgSligWDV;IfF7Hn6ndDComnc z^T>F_*Y!Yeo6zwOZ$GU6vTCBu`&08anlL}FICQ;Z(-B+0hlLESyVAlES}$2did|D% z{8VGtfqgx350<2^`LS8-_QsFF@_(g08Z&|vW{GsDu`cq&!t57YY{}7h{)JHW28&~= z>lV*0dD8gR^ehkeM{~W~&zQ?+e5qvG`#SI1={xKjJKTM_Tt4fwc=;H*FRjeJJ$2dh zkcxwA=g#x>6HC*&0|V*y%-uRN?)b*V&l?>z^K3bjkRlQyJe5#yS gp#PeJZJ7_G{U_*HI`^p01BMZUr>mdKI;Vst0Jt=bzW@LL diff --git a/app/open-iconic/png/monitor-8x.png b/app/open-iconic/png/monitor-8x.png deleted file mode 100755 index 2be901c50fb062c74b62f1ed46b009762fb1475e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCm7Xq+Ar*7p&bIbD93bG@e^`IDN9P>}vx8hWSaLKLT+v~0Jew}5 zVQSmuqS52Bpdg6NUg-Am6U9qj{;@3n`{hj%kLvRS+8^#VM=^YN*!OC#@q^XONx9c$ zPJC~WPH_1z!L*p?2Mb?{WVfr^PMNCH2gEjXGUPDM{@aqg>6q@Ur`K)Qeb-iC+Q6El z#1MTzjeJIu+X<-Aj2{xcJ9O9%OwLvO#PIaW7n%Bsoo}m{`>uOFIUxH~W2f%5lD*8^ zUq8D&gYnK+>&1b`E4XhknF%)NCI~Zv7zf0j_cUfFu!)4!SG@7M`n7xNY0-kH!+*_; zSe6|yay+$4)qt^YR>r@b%)HC4JwCP5Y?*AvtM#TUSN}A;8~1H?7U!H0)9ITy<38Ef z&pFl5ZKY>&xPI2{Yu=&7n*Q4u_=NjjE3t~se#mdg`Q^XgO)F3oGI+ZBxvX{* diff --git a/app/open-iconic/png/monitor.png b/app/open-iconic/png/monitor.png deleted file mode 100755 index 6d3a70f05354782ec2e7a7d63b676f59770f4c58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5#j+S3j3^P64nJ za0`PlBg3pY5?~fM70p}nv3a9Q>_chB<10T{ zE|ZiA@NCSkxZl9s7sT_f{6RzarVor(6F<+M!V*7`Wxs`Hwn4uHi_M~_V+lV?Hol7H z*%`2&m5ni9%vvavmH)+5k6(@AJ)8EmGRizE_V0@54UFFv|5%@K-oqmEM|0nno?FeC z_xW9A+j6Fgj&EuczGwPv?l`+f{^8B42JOGhEW4A`R&Pl83iKg^r>mdKI;Vst05dIj ARR910 diff --git a/app/open-iconic/png/moon-3x.png b/app/open-iconic/png/moon-3x.png deleted file mode 100755 index 160b1ae7d1b6caa6955942742a1ed87a07a22d0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 412 zcmV;N0b~A&P)6chJ{kdM_^%NB`M#5t+KVYvXhd;4k=}0qhw(rg%U}5Z!BhHdd)NQ-pr}fOmpY{ z|L5H9ouP5e;{cuiywg$);t&Cji-wQkF@gu!&I@dd-4EjkeX(aRc?IR@TESi&96E{; ztYb7`d?2p?y7B67-Q#&xgkZ4&JU|uwdEjNtrHn7+5x}j+9RzqlS02GI48 zK^3#D3L5R8`uxCDD}u|6f&gDwMX4FVRuh8XJjZkvcnOm@ZKk4F++iOVxW~Kj;0|FN zo4=Cl7P?5wvv?&l1;cBYsBd?tK*3hhdRA~!0Q>;$Ndm%8!d?#eZd7P$EaSNe@DrA@ zfaB4FHQ_<5CO~V#?YSb{nu(G1MD}7t_-`mh72n`3ZQ>8h#n$hxoRcH~0000g^DOG>O~#2(BqH< zE}^|QxjE;4;Uys)@;o`=yg8wFMzMs|3S*;Y2=}myfct}lx9}TPY;31DZs<|aS11SjGam$0LRhR{pkbN zQwiLx01vW;bTl@67}qO~ZRN7j^H#MP2>2*#(NXiQhCsmG*aH7*3jC0@>uA}lDG=}; zr(y|w??WKqHBQD5_|T_7z&o68D)6|0K+zv=HxangP@t#{%@l826e!nU?BHvDUR;0FX*P}hgc9Z2!^P6`48@MqGOo9f|vjR002ovPDHLkV1nlH B=O+LF diff --git a/app/open-iconic/png/moon-6x.png b/app/open-iconic/png/moon-6x.png deleted file mode 100755 index 49de6903b4f72f48601ce3ac11aac9500fc35218..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmV<00ww*4P)RA_JVH}6?k4cCcPy|7Y z0S`O^Vmz?$z@t$S6cGirwGgeWRIJoGjaC-=Cn(;H21LbRVc`+*K=A+#D1w5TL`@ir z*~KL8W@l&T*gWuKx7qi7zVp8G?!501j|td;tC$pln<~!PpK$0;k^IFi?u30waQGyHRa_4%*xHK0*$z2Z23SKvMxEJvV0(1PV0_+ zqR9tn$;q)SZTKpBfEoE{mgj=#@&P*X(Jak6)yW6gor~!(8isv85##rZlM<=mg2N{0s7R*f5Aub0tDEVgYO8Ii!UGGO7_YlIjpt-e=sj|>jDi}Sz{YbIF^7* zY#yj>1OogLZg_H`mK%6@-O5_L$d8DEQR+a(?qDdUY^mzU(rooh?{#abcfzOI%=naW zfB-$1o>hRSDFg`c0<*ISa51F-0eZ0^P5A~qOR@b{+{Q^Xr`5?O>5ahXDYYey0FyD0 zQHTKD*kz z>OizybykvxNqABRvZJe870c}$;X0kSbg|xIW>oniOYo%*UC-ZC5sE|MnvK+9%DICu%(ow(gQ6StS0_oaOT z4&&^i2|93=X6yX6dZc8CF5E1A_<(PmIM0|kdbl!E+tau!Q`<>-NuDPl;47S3E=qfP zI6q_i8}LxZ_LK0fd{02YAxxDDGY-GW+W`S@nBYp$U-EZAz+`0llB^+nmF<9l?{RU7a7)p{cNMNXC7vL;zQVN^(8HIN zuDuq!@L;9u|HFOC{|g+iS5#a+Z)#w$gnkn1lEqn}{7A5vX0Rn|;vu}4z<6rCgKc8D zK0DhAhijvKcnVibvz|B|ci>F_X>b+xoBTT7FXEFigHQ3f`0f}*9~affbYI;g?6-Ew^wG*P3X%o*Yfq_)}A+M~rG?pu_r6qV2%u4o#5z|#|8Je78| z4G*V?%hlTEyQrpC!b))}Sv%w??Nq3KupPe^4!4;04nJ za0`PlBg3pY54nJ za0`PlBg3pY5(jK;VR!!f}-Lz3-p1mXb#;*Ng36sw#h*VEGe?n6y=3j5B f;p{C(pYLGs?9+QJq@FnsXcL2{tDnm{r-UW|qu)OI diff --git a/app/open-iconic/png/move-3x.png b/app/open-iconic/png/move-3x.png deleted file mode 100755 index fb63c7a1507f62aa5ebb7c4b75229a4e220c733c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARVVYT^vI^I-gEC$a~0u$5pzopr0MapXIRF3v diff --git a/app/open-iconic/png/move-4x.png b/app/open-iconic/png/move-4x.png deleted file mode 100755 index 9bc001977fcd32d55ae3ee162b55d8019e918193..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IAPZ!6Kh}O4P?{Xbb;9yPIuKxY(ZC~C@$*e2`s|$Bu)qFY3kaN&# z8w=xtD--(`Jbl>_SSghhCf7G%%51^uj3F}DDvH~X!FmRa4y{P9@`6`s~J39{an^L HB{Ts5kLqGa diff --git a/app/open-iconic/png/move-6x.png b/app/open-iconic/png/move-6x.png deleted file mode 100755 index 151b8040455cc772ff121652b78f378560d2148b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 361 zcmV-v0ha!WP)>aTheS_6XapS+JpmyR z1W5GGVzzyQK#AU2jI&SpAaT|*N6aX1j+j~gFe3e%xPZ>T%0KxWnB|WmEYu{tvlwT0 z5GdiD#cW%F0159b4W1vNL&6(Clc50|65aqB-ON}w?g_A-v19$zpUqzeptgHG^d%Jq z`r_xoC{SYg0!l1jK#AoGD6xD2C6+Is#PS7{SbnisEZVpOkCW$IExn?|00000NkvXX Hu0mjf&K!>p diff --git a/app/open-iconic/png/move-8x.png b/app/open-iconic/png/move-8x.png deleted file mode 100755 index c1cc4bf32a27b91ad43ec2af02b560899a44a80a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCxt=bLAr*7p&OF`6tjNPs{r&Xo^PAgwPbq#rlx)zf*{NJs?&=u1 z_KNsDbybh5z5EM3nH=VSda1JD{ijTo1%E$X_I7ywbotbVb<^kjF|E?K?`28R|6jrR zqVDH$FNeCP^6HE~r@vQwxcn>AU-8a!8&2mx`6L*@w20XySi3CrxDC;qk!f z!NvZ_Lp)E<3Z-eq>n0xiG+lMc|Kt@7kL=fOSbv~LXw~WSDhFf!t!jxn$5egputB~s z-?S^2ycyae+c#`pF-?xi;LJ`I>C;)6x(tVVv@YymGPq;jcuctA;XB<67C=t%!A&=! z8&nVLy{>Pbc-lRIvx85dx1FKn{lwRwZtpXF@n`FL+mbWynY?25H3&`DUvT6pw?^Sl j?A&-AvF@WuhGO-HUYGxv6vet77#j?pu6{1-oD!M4nJ za0`PlBg3pY54nJ za0`PlBg3pY54nJ za0`PlBg3pYARRwET^vI^ITI;Ir=d^$>HqbLx&C>JEZr3?M}zk>;itlX6Zu1 zx-U^I_CXzHNs1aBf!vEVo}9ho$ux;McyIN&dcN<5ys1$x=_O_x8%x(DifXUe&>|+L zwD7jY5ze@effZR>o4Yxg{?Bn^ny|$E>KxY-`;K;KxE)&M*d!ilW%cY)7d^LRe)md-y*@ws%VW-RBnUA21Q*Zv zxL5qD%;MQS?>BYcb#d@>pZI>^EYqyVTaK0Yq%xTrZ_i1-f4%>s*{t_cD;o8IVZh+&>gTe~DWM4f=SqdG diff --git a/app/open-iconic/png/musical-note-4x.png b/app/open-iconic/png/musical-note-4x.png deleted file mode 100755 index a4350f45510df49d00b754afac5633d0472c45d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 423 zcmV;Y0a*TtP)T*ORx~lOJeUOSSeu^PSs+AX7K()#MW#9D%$=0xso(B*p5OPJ=iYm6 zPBt3FEM`!~1jaGetPu=1tArv7DC81`m9U5)F=t&mY1*z`q6JXSIs4%-pETO?%GK_#37_|z~M3s4W-S-As5 z4O6Y=qX>Y5K!DasZ20_ZsyFKZ>#d!)v>5@g9sv+V8kJcu6qQ-86r5R>`T!=061?Y5 R%!dE~002ovPDHLkV1lc*syF}u diff --git a/app/open-iconic/png/musical-note-6x.png b/app/open-iconic/png/musical-note-6x.png deleted file mode 100755 index 768d8ee6252c027b0433c09515f79195bd0a27c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmV-I0=@l-P)NIZr0{xi`0vhb1iIOsdm3g%dcLp2u()N78c%hj3uLiiQVW#${Z>MV!OgG;oM^ zq=62uU==rTO*v?*>EJdVVH?8?Rf*$xh)zP4cSA%<1fK;_rg1fARi)Ma5H zHwy!~IhaXz7oSsY?6t={ z)8IozovFI>PJ`c(26CjqPQdU3@}jbCwBuh*JvOO zX5eKFy}d{eO@kS^pu9VpRjZHlqb6Z#P?1|Rn&{)^c!Q8Ms9}KeO?3C6vtjI;AMrH6 zz~h<*M%=*@j6Pi(s(ZCjygtev#76KHU-I8ke8Y|DnwH6cFL<2S6FkK*p5ql><45R0 zQy4IT2e^&9xQF|Akw8l!2298%JBXXOCA(c)hM6`TtJ6tC2{uEi&mE`LH|JxpZ9r-P zsc9RKT0m;r2Ba2{nzjL{1*B%q8&Ib0a3gF)ANFCJ?3;lO+4lJkt`#AokausB=*4B( z`9ShlV?`U#FFWxm&AY)O4LDK9cr9x{e;s4BtO32k-u6vrz@<9IX;}j{3bWe(vu1h@ zC_~QnN$|i{rkouNpy9vtl`Usq7HL2kbM|{t29z~tV;V448>GxR`y!$N!?o4*G!_LA z8-x21dk=NUqV8bCL1xSK*u76FXpw1<9&sLo#<76}IokjiBj`F;YhGy1Hb_4nJ za0`PlBg3pY5uF^D6);t_l3ufhDpa6n&~=K;O7;1N6pu!S~sU^mWos==dpiNYf4QeJ!N7P&Eo zw)3L;Umm7$(LTpzCFrlh1%Y-kD_q^L<**w{*J*eHL31s;6O-1mL%`*)~T^Kb?)@Dmewh7*`mku|MW;}z-!V-U+`3txjbCGc!K zMSE3vC*B6g1p3i|g*b^H;ra0@@b!2f!r!sGiLXC+9?ulM0Utu}8+H|VJA&`yOyHYR zV;1^~ohAMyRbJ4AksQ3cMdn=aKPoeB!&oqX!HyR2Ui=D~V@1a96qp&uu^kI=v>>xT z2Om^$OxI#G7{{1b>2F z!=hGjl5?Jg=BC<>pxwrW9Q=vo_Lgo3cqn+nq%)4BD;SpC d_`OwO{{UV-*iSJt)F1!=002ovPDHLkV1lm!3hn>^ diff --git a/app/open-iconic/png/paperclip-4x.png b/app/open-iconic/png/paperclip-4x.png deleted file mode 100755 index d22c79ad7846eccc5e4c53744dfc27b20fd4d230..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmV<00ww*4P)R9J7A|%R&xEANRd7OKmd!IY} z>ujF?`TxHEGyTtbXy4}J5MJOXzT*LUF}DNyg*F5S@duTH_6s{PpwsXXxK;-ow=83|Y!%*}5Ub#d zFybOx8ujmM1wLNwbXIU#I0^M^a1`^QS@mNd{9gPRGBhJ|Q4-X#K0 z=ioirw@n2aV}+s=Yn<1h6c54uMBu4hU{B=R9BGV`t`%pMSh{VAz>{_06=A8mGJkiS z0aRzN&_)Y)czo2V@Kkc|{k!Xn3e^cEZ@~3Y;3r`%2^%gJ{)l;*e*zvS`W!?5GH}8g z<%757d?zE{XW<0|6Q!%<5%enyr?%iM$oU>czD3#h$#|B4?{5ZNwQrF~e#hR8d@F^u zf02OiZ3P}D@W=ntcOU^uwOzTG9oXJX0`X|3=X`VUqX9e*>n-?R*G@-*>m&b)f+T+X zzZmUL^x04*fpt;PQ?&9B?3fL07YEv_TqTT)(U+VZ@w*${7k(!A{txu?q z9kD^!qIP2z&B{h4uG}K4cWI2mYAnM-;fY=mp4Jb9pOW)JjcD2a0w2kNWfTSd&j0`b M07*qoM6N<$f-^5kMgRZ+ diff --git a/app/open-iconic/png/paperclip-6x.png b/app/open-iconic/png/paperclip-6x.png deleted file mode 100755 index dca6a09e29f55f5d4a0c9e33d5770e3ff66fe7d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1155 zcmV-}1bq96P)cNL(j8P)G8DeD@q^MwO zNVAKDX*rHg4|@)rIrHD=`k%iG*3()0x4!$FefC~woi3fR<8T8m#R43Sf3OW-VgPSp zdxv;R+p*}w9*h?FPCSJf`-QZHT_fDlBJiva;k^C8JI}{bp*qAz%;FT5$(*7w9uc<#RqS=-S^x)MUy|Q-xAD5B@{VPs{~E4b)2i=DMQOuqq;&_y;(o z0XX3x8;t1JKFAKhJ2~K^cwck)nd0!Hc%qKzbgan{9mRV%I5nouT{;Cn=j0fwqkACM z7QnB=L8&pxUA((Op4nr7u^hv=pepL{j z>G(Zo%uZa~1b$wQc=lzwHz#%i9d42>`-H?%-UTM@y$Z*pSHZEb4MojEc}@h z|2Gyjg(qI9-Is}*6^R?h?U~qx^1E`|adtc4iLd{KnYarhaVs-%=ZJrtj|%U@8SR26 zeyC(?kj0U>fmF;QVQIwRw+TB^Tdmcj9%&KRE8b1(#|uKsJO;l7r)4xRYR3d(HAzp4 z*pG4m^L$7s-qQBy*tLh6PT=!M(wQw{m)3wE6gGggW&25uChmu64pk(wmbBPk3}O@rRoT=s3xxU_G@_xQEKm`Q_AYRPncs-(DxpdW4oprriTK~cvc3uD zcN#oxQ-r^S8&v~eFLc*hRkdxis(brfp#gTTP-Yw>v>A5^FZ8$gM0inuXdh>002ovPDHLkV1l(;BU}Ig diff --git a/app/open-iconic/png/paperclip-8x.png b/app/open-iconic/png/paperclip-8x.png deleted file mode 100755 index 74b50a29c7f760cb795715a98e93d7a2165eebfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1491 zcmV;^1uXiBP)Xl==ho1BP!CK2E(JydBY?wz z?|>hHZNP`XYTzB9yE-z%V+gPm_z5U0;~U_9;Ls}Q4TgS*iQmv0kH>CcR?)&kUc%hCA21nZ?-B;XGgudhu(3M&v~aPy-ADZUEYpHM)R-xjR!}Jo@o{H*kfb=5%CY zWUDtXpbsyc59~!}z7uG0sC_CjLrkl=ErbbQTnzkb5M_$5fs;KrrYdTmlf{HDCZV6* zeFdD9foqke{=FG$dtoZ@hecErJCFrW7R<14EYDcq3Dbam7C}*L2ZjgWJl4X~9)LrI z8Nhyvn97&auz=iYyjueDB;q<`!lE(%1u!%qcVFP|6u#VVz)bWrwXMJjf%!*TICK3A z+=AZx7XF*rg~S{SZ*DKa*`z;umGL=nTn-xg0Gln`xeSAMSV$}5Q{+vZ2WBhygHMF+ zR***V32;nk0X-NC{BGe7J{4YIA*_tez|o-v^k6Ky1=c+wNgq-WMzIMvDkOOY#sfbq zH0%Nfg(6+3AdI2|I5HG*3=`0=E^i7&`lynyjBHw%nvzYx?HP4k0Q{oVu_7bazj#bZ zSOzu#hZ|}%Rb1nH6I_--qRYTCWTPXFYk)tMHP&MO5i+4!K|INjcZP%T=a40A9MjRa)7Ah7W%POg z`eWa^TA7ghrc!t-(!Pr0TJ+{u0d-l7CPDM~k2d5DR|;Q=oCb-b5q&T5HDEwSpNX(7 zb2ldB-KG%!7V?C}aXotTuK=~#ET-cHi+~3c@}9EfJ%ic2OCz-v^V1U)?G_OiCFH$i z$s1+JnT6hb3+DGmaO|)MN$Tm@o}6*9>u*NiNNvVEV&nqbv6Unti!6B?k&_{Vk=3Qv ze9~MYH>BNw{V91@rR4d>lbFpf1WMixE!b`ml{Ea+p08R%^ tK_2CSh}pe};jO?&z}v|1*lRw0{|9YH1?@xQBEkRw002ovPDHLkV1l+s$dmv8 diff --git a/app/open-iconic/png/paperclip.png b/app/open-iconic/png/paperclip.png deleted file mode 100755 index 97b6906c13044b40d811835c8a30a29bad7b17ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5+y>Hw6Z#NX3C5u;^TsX{_FJtKcQ2gx)3DLFwt=T{~FnGH9xvX4nJ za0`PlBg3pY5~`ed^h48*u+E4nJ za0`PlBg3pYARX7UR|Zqki=r{(xXu!$+y{#yBEbNB+UD%K#j&4EQ<4sFfdxF?WZSIFEZ z=Y4d+_9IN;s`2e=ci4?poBlpmy#49$^FuRv-wW~_T-%hm!}UQ^Hk0`tRgT7Z`>(5* U{Ga}r40IBMr>mdKI;Vst0P&Q@za^+h;N{)o?>8>~z^s?fw5}(r&rV0j)xnCE(p2}LF7{OqiB%-h@ zkXPy4#T{Qeww_-mbNWQvTkDsF{7quZ?^jH-;CgTe~ HDWM4fN6KLX diff --git a/app/open-iconic/png/pencil-6x.png b/app/open-iconic/png/pencil-6x.png deleted file mode 100755 index 81ea98658da0362b4c9bfb3eb417a01bfa6ab338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6R!^Gdr9IyP7%aY0Fvud!asB+DRhe|E=H8VIKO1!sovN%59Ev9$k-e>0=kL0d-oGw(r zxb4u_=(zd&?B_@_$SS3=J0!QXGh}pp5Mr1rc#UxqzgO#P;awf=mljJc{FnG;Z}}4nJ za0`PlBg3pY5)2HCk)AG&Ar*7p&J6TBV!*@7zT?Kdp7Je4Mn7(NDQw)bv~O}%{JbaY zwffQ*c?EKBUA$FC`9ZNR@7xrJBj$VNvV4@j=hpN?`rk{{j@lo~rz-Rvwg(E<|2QlZ zC(O1l=-$nVAFieM1&BRh-7z<&KKi@~d@5OaJ88vs||9-uCZJ=%ZCSxA?!TNSFLEPiRqfi_$0dJGYc? zS&MAspRcKS%UGmP#?IMkOZa9-H;;~Q9Q*}h|Adx{cXk|}K2_n?!ReC~ZXKRJQQ^}A zeSOC#hvUPVUa;3&axSv3G3LDZpXt%Rw|9+_?wsVWXFbv~|AX+pVom7+?W9BgKREC2 zoWi?9)bOGDpO*JAr`Yav&G<0yLjoWFGh&GNm;Cp9zL+xW0z;m`)78&qol`;+0Exi5 AhX4Qo diff --git a/app/open-iconic/png/pencil.png b/app/open-iconic/png/pencil.png deleted file mode 100755 index ed3cbfd6446b2f5ccd4bacaec2691f58ba41c240..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY51DmB67xzU}r z9SjR=o|y5p@Mzp;W=p?lxq9ip$gQ{Ee!u(r`@5}~VX-z3*kZe&~?s&5Yv1S&+Lb}>VG#f%@J>y{NdT;e<6(bxDI?iAkqA*khMaWLH}W|dhJ%G zIid}hKcp2d|9|lAD#>fy4l`Q}zZgvJ)qAJBcCzo^{Sn7PS!52GlwH)5x^?4V$eiz& zxa}V(@QFwCOySgdXtd`q!x_=!Uphzj++#MFwf7qTQpc@H^1I^C-W6eS`^PA;D*pjr WnqY0m>aRdgGkCiCxvXYr7rfLqN?C_y!6R++~og0XIN|vtJasPvF?7>jkz# z9qt+3?Fh^;@Mhp{edKdEn_6KVm=@R*16P%V=_A^VZEDfSU;F0-AW#$7K?8H-6R^fl6BtnPKftU{;65Nw5!g{Bzn>;dU-E@dJ(ceUu43XxU>!IN z)H8#BObbelHZ@DYq$RRz2xNU{O28NJ0!&$;BF=sUToQgM^T0AtPBnFw0LFlYj2$lG zE;xx1;1%8V2e`9(j%}3!EruLXmB;#U+7>-+V{0e`8pc}VcSR#Hc3#IKJ5Q7B2qTs?Lme!5e&Hn7ld@p+H9 zjSg_5p9Wqeh})izwU_E_b5 z7I!8dI_J)uJ5y8OAI@g(od5a%=gzrv??5`p0vCV*pa2X5y}(JJE+tKou^ku%NuHv)UKRQx;0u~CKyBzr5yBfIZP|S~O0_PmytCB14B7PqBrVWd6 zPizn#D7hvikrfsL?ZEsnmlo6lTZFM*CD*t#U^B2uSwzFpujCn$25bgaD~kkSjd1;) zlBZ7^uo+mUETZA~sO0H!DX!T$O7TPBu2FE<76a=HltL}KL&JR=v*%J{g!nTcy()DP z^GAVtn@HOXXd5jEL&EiJ#QaXogA`#iAa=e2IpKP9gxvGMy*R~p6aN+3A#fkF|H$S?Wy!E48Ezn4hvQFo%o@%=e-jSQJBSrN`X{oB^I&gqO#S7&Q~cR@_#) z!E%xea2$Av>G-6u6nF(33Ayi~Lbx9VKe+<9TQ)ERv?L(D#pCjM?_eHO5Y{;uDEZ0f z0tUv3*OdD_j;Xv|mYhBp11m5G59x*{n5PpJt-xao-*;fSkbBm}K-BF*4)gTdfJUIo zi$-8QX7$KL<;q3+kw(SXvW0=0000^;dMqNykLcNK|)07;!E`q=0kYH3;5y%CGkOv2!ymOu!jihsSDCupe3S3>db&T zS*c@r9i4H`_^{8X$8+XeW{^MTKS7N7%Y1%3f` z0u34J3eGdQM7st10ho}H#$db#v?C`U*$rSxCQ1YFI?#na`N;CXTN&u}N&|3<L`R$03j)?-gTvRzfy?uB>oSAY&+Of^L3fLDP1Kr?W&U`@EW z`{hC#EnniV2-{7WDVPZyRR}o(%uxEQ2hJ;eYTpGlwiGM#K5#pMm`-51(znl{&}hoC z0_zNd)+qe<15OxX6x&*3u4ODT3d#cu6>;7+#)<4JTe|l%3i!{1s5W4P5bGh}l80DF ztVtK+^9{XE5$|IUasD-BT*TA3?(3@nd0@N{^EnT3t{d~d%O@Vhl-fr^%sSwjF-E&F z@4G^LjQvt;18RlXKN@3Pl#{#&F5 zngUEQiil&X@Vl6Rz;99mO##LkMa1!h@cTKV|DTP|18^DtFTlty39*M5eb-6JX?nmw zMVqt?7Jj!(V+U~O0%kf1*8?PhwJH7Paf>$*O%J%Cag>s4!tVo8`aJ;rk@DFx{v=!v z_+5xSCWX(-BsdP!^nfO3$s}Er1 zl*QRXY(pUrylN4UkQaa}B^oZETqajyHR%hm!V)+EHMnW9(mtjcc*GLmy%^^`SqJd0 zC13)kqq|%5p*2t=Zj~qn`n4b`BstuI?Hlw%v;!FJBk+sBXTT}k{=FS{(_=60ikok0 za0jYWfTg%2`&QBo$@KyB1*d^zU#8>iV80#$)B>w;UujPVOr)6Ez+&JKt_#O;4j6|1 z&Osby>w?E{W40T&ul5l{qLF*^^dWS6`C*h#Z)vQn*y&ix$I?~cB|~x&^9wPGW1ayX zS3J7|djYy5X9ICZNR_Iz5jP}!Q3GtC@>o8G`$QhcxC+mvD!>PdhKF(Yf~-tKH&1U< z_=<+BsQ|-qH@mbCdzxH^gIy>z(nb7{ zR}OjM6ibdmH|WJkFI$uT-ulm1jlKe8Eg)+i_ySbrqe5VktVqjv;Cnz{0kRg5HGKuh iT0qwH6(DN?S#t-CVy#xC5({(y00004nJ za0`PlBg3pY54nJ za0`PlBg3pY5w9Uzv=YASbmV8y(uNbEBp>4PDP35}@ZLvp#W1choGJR^l z{|Uo0#s})`8+aLJXZ_G>msrWSf#cJD%ZBd^23F>RPggGM`#yicOy&hOvl>5jPOCVY z8&Yw^LbS^9on`92j|CBWT94}%bccNsw$q-;B->f`>fQ4{R}V{3;YV-gA diff --git a/app/open-iconic/png/person-3x.png b/app/open-iconic/png/person-3x.png deleted file mode 100755 index 188c1778a4c00e967fb5b25e41c7f647e51e8fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYKpl+Ao-U3d9-UXOSo$$L3bZ~vACa`1!JENwPE!L%WDHYMOV3W$M&@%& zg5C`-4J;FTEm#!{B$yOt$ffA)zH2;=eTT1;!2W*KER# zlj=;?Rj!jd_fhH*PqeG=vy{_s{k|2Lab3xKqAL*dQ*~SKeY8*cZvBCgHPktH ze(l!WHDAi^<=>P3e&evzGQ;Mt4D}sXwzj0+>`>{IF5NL#;lZ+|Jc(+dS7A(4Sz21S4`FwK8@cw;hB%|ICl6Deg=eR zKEPm1fcFK$Grx@$K8j`ufKv>2YTgw9@C=O-;9Y5LWq^qi;W27k`l9&uXWs49JY;K6 zaIFM*R@&CnehodGnQV^dzkk;v~hU7;gcWS9o$E|Jn gU%C_{+0_O(1D+KU0bP5qJOBUy07*qoM6N<$f|Mc8?*IS* diff --git a/app/open-iconic/png/person-6x.png b/app/open-iconic/png/person-6x.png deleted file mode 100755 index 8eab7bc0e45f8424e648a0d1d28d4f7a0e563c43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 689 zcmV;i0#5yjP)4?M6ebI$o6cIV8!cj&Boa2)sX0W+B=Fp6W@HOo>%_=sOQp1_f65SyzT zcjSXF^{p(nQgz{>;_&kx&2m(x8%>~!`fBOanGUoFnCChMOJ=tQ@7n}#^gAU_r!yUd zpZ9Q?4ZKd!z{|4W_auOy_pYKaF(d3?L`<^WF%9%b#3aid)4<+{m}I$Q8rT*QlPq^F zqR5I-Q__Q)M>LBWyxC1^-qB8~j0GJJ>FK9RuZ}FX~zjTr0j( zI(37(gj2X!_`BlPV;xmDZYvId(=uC&9Ttua^T5Y(s3OK(_24M(383FIk7wTvDS6uL z#AQ6g6vnVAVZANFNS(sdtafiqq8-ASXR|RmCe5yFyXMc9Ivy#|$S|gxBx>|0?CTu6 z0esG>IW4RJ{;P{QNgDkF*Rie*@b$tp`dOgvrGF(GDUhVmQ#g+e1;97r0=`7n99f#M zSN`87&og+8v%>k#W??GzWS{$S4o|Xc+o?4z+@}j_=Osl|en5DP_Xv%Yr-A9Vzm-)-aoY3K-F4pplbaF X&+-WIRwe9K00000NkvXXu0mjfZF@4| diff --git a/app/open-iconic/png/person-8x.png b/app/open-iconic/png/person-8x.png deleted file mode 100755 index 0d2178085e71ab7251f8da77c5b0271047fabd34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 952 zcmV;p14sOcP)e#VVZTz zGNRPHkVKfRF6g28VQBVUbDMNcn5S85qm1t_z zV4st6Q9OH}b=JN&?*|LS$6CMN^6Y*0K6|IoWj(MP*b1}&3xn_HfF9rha1H2I)|EKh zf&0Lph;a{S^C4841;ACJ8_$nUV7|I)A)0{KxSJ274_KqDJvQrrFT^(=#wTE{s)HCT z13n;UK8$`Kqv*qlGVCTh+qes)wamD1l;q5ZaY)ULB`bhIl5fBd%rGlB&Xc_PFwQD@ zicALhg1V3R-&S2o8@AklypfgIjyOEjQCAcwcw5)G&o$l~Y(kU$Ps2ID4>XuyC#4p+X$O(4;Let{gWypNkeq5(YuIlR@DXuuPJ9Iia}Som7mQz%d#S7| z64k&y%wzc!_y*hrW_i?90o)3-bO9GI8mlFXGy#_|>+i`P*X!t>42M(#H>S`ujG23y z;}nXZ;~C%}GS_YMheOq51v`WbO^n~bL*N9k3$q5O#+)gZ2VZA{pPd9A1%H#2o>Tee zn{gjo#TcUmo2zh)9>(7ZuMf&GFK}2Md2jh818o#%^eAAu= zT79eVNNWnS@Tr;ZH~&)xQkdnd&n>M_MpBs1#TiS%zhh6DQUiPo@J*=!z6JQE)BxWC aeDfEk=4>TK4nJ za0`PlBg3pY5;lx4L3(PK?XT~^+Pd?kR zcgD|vfRg$y`|vdtj~5-1-T5R;c%S2sKYhm)Y@F+_h*j;`u%MgU*o?>GVUHl^4nJ za0`PlBg3pY5Lm;z+#D?WANs~<+#b+297(@glF&K*o^LCs(xBr4JE5n}Y64~9Y Si9SFp7(8A5T-G@yGywohOfRzl diff --git a/app/open-iconic/png/phone-3x.png b/app/open-iconic/png/phone-3x.png deleted file mode 100755 index 1c4e08774e8acc450490fbdebb29aad465b9af08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARSGfE{-7{oo}Z)ay2LjxXusU&S8}&YiRAdl`luw$;fZf)>G`wFL>(q zH!+uo9Y{UGX2LNe;oXu&E>;gX#9gnNXHJcI;rHm`$LD;j97IX)~sm5j{ zUs?i7&dP)}&%cG&1!Nt$?NOT0WH|fAOC1Bo?x4kcm!}7tT}Vm(Y-n;i1 zRI{=uFfejBFfa);Ft7+*7OvX<(*9Ijqez4F1qR&@AC5+DG0ltJw|u91ZNMyj!u}ISQ(8FCxeT7JelF{r5}E*8XjsDl diff --git a/app/open-iconic/png/phone-6x.png b/app/open-iconic/png/phone-6x.png deleted file mode 100755 index 1c811309792413372294c6fee52776f90ee4f455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I>PZ!6KjK;UKc5@wa5OD2J%IuL}v9;+(_qAKUbocFw$WYwDd2ZK7 zw;k-4bao$}cSfc0jFYwXf}bC^vb)JvS1ryi66Oq5^uwQM>c4)I1X8!uopJ8vj?QSQB#VDeabcZf uH`nIKdxsatN;zfr-SOaae;^cDz`iM4nJ za0`PlBg3pY5)2HCX`U{QAr*7p&bIbD>>$F>9`DSwsDas$vt@T7i;CZYK!pOXt_$ow zf*A~!tM|nAyWaCym$YBDKWF*IMBD8LgkHF9+sjmUUazW))~vGCl-ahsuH4l*VH=4BaOh{JFl|c{9USoEaDm44$rjF6*2UngETat}y@r diff --git a/app/open-iconic/png/phone.png b/app/open-iconic/png/phone.png deleted file mode 100755 index c6366d9d1fa236edbb7a44bb6a2db898bec38698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5BzF0}201NlKKD!B zJbG}uCfCxhmM(=mM6X!HtY0==<$9ff$2rUU_Uh_7S?uB!hh*fZT~NFy5Vd;6)r|e! zy-sf>(r;)nwzu-l`fU8|_OY`}OL#ec9C4f+ah%0G!qXwBp&|UsLlv%jY6_MP2P|#2 zHI@Hsvwp+iv(QWB-Nnr-L=yPk&rGp-dD_R9mA~`IOZzj9wl&9DKZhQaF=*PlqWeb8 z-Nb)?-EJJaDD+I9CuK|f^uF1fpSk^=|NZQh_|TQ?W?i@2@{eS89-p!GdKA#744$rj JF6*2UngB5IeQN*! diff --git a/app/open-iconic/png/pie-chart-3x.png b/app/open-iconic/png/pie-chart-3x.png deleted file mode 100755 index 0c2c94a165fd78ec5c2f6a0528e6ce02971c920e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 431 zcmV;g0Z{&lP)m*amoO9my z&Ye4l{FuZpuJDKtycN_($0&}F6}%L{OAD&0`!V#D=s(6LM#@OH#J@rNSqldk z?1m&u(7x`l@K;HZAi+Bp)36HmFcBf?BuIo~J@m71?JIFFoc|(8j37b1T{M8#ABhJ{ z7f50S32LyBk$A#Pj--rW2hMVm4a{ap$_Oq9A0)5f1#|MFli-ms#EObuF`oe+ix4!c zUt3WWy_m{?pLFPhXE^P!ip^BhIBp_VpWqzU{|TO88~TN9>NfoQKY-N;_-#peJ;kt} z1F!u8-oS8LP{C3c;7u&2;aSmx>tC!q3f_((97e+HGPWf)YQo^U6b4~Sn7Ze}QLN=P Zegcr%DL|pF+;9K@002ovPDHLkV1n5iv6lb< diff --git a/app/open-iconic/png/pie-chart-4x.png b/app/open-iconic/png/pie-chart-4x.png deleted file mode 100755 index 0d2d0ad109252fa02ef0f554f2c6ac72c10c1c2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 547 zcmV+;0^I$HP)F-Kf+C2e5DV_r3rpCY zo!z~SKUfZK{xjb%v;Uj9p6c{)9A|MD1MI|le8-N2H5#RlOL&J6c{<4euPVTu37o>W zM0jg~e!+K#u)W2aGq{X{E!J>d^Bu^KE#OSo5;1}C^8~xQl1LE<_=F=}NTdn`{J^mo z>;%@;l&B*R@CEye;OFrd4`ioYszhCZfETh8b|rf-%oWUFL!v|zfq?1!r27R053w;p zqN%_eqg~jGKP5$vu&F|#sX#Dl$g34aPq8^7(MI4V%qA4hVoQlc8-aOvpIAJHtp&g~ z0w3XLjS0`OEduY?6j+8|H76}7{&nn zWXEt-A9Mi^ayMgap)&a0mhdIH3uzZVuOU3(;_8J@G)_TgCz_@at!Pe~6K@VW+gN!IO!4JS5Gk)t>_`W#?N l_OI$I-r^-5%Py{H{s95UEZGU=pYZ?y002ovPDHLkV1k$_=Oh3C diff --git a/app/open-iconic/png/pie-chart-6x.png b/app/open-iconic/png/pie-chart-6x.png deleted file mode 100755 index 98292339671a48c50709e5b0ca1a8d3ad95c9fe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 755 zcmV7Tc`+{Sb)lL$51S;(#cD9Q|BLbCn3Da9GQA8l%IhM6jqNqT?t5!;+5D0jQ z*;(Kwi%W-bi6l}91l&MxEvQ~x{eAIej87nuQXpV|Euf>LF20Hh1tn4od_!Ngf}1d0 zrNcE$EFh6uAmHriV%>O9qr(kMYEYsKfnlr|S!{cTPB$^70f{mM0#1x9b~9tATbP;=z*mQwR*g&jf{@%D1=eO(gIwl|aA?EXW9dHl;w;M}%40?k2(qaV~H_ zQL+9e!v{QuQymH)a2|Fw0sdSG@Bs&4QHR0@Y^>bqS_i@piU%oRTVnVzCBp~tkmXOh zaJz%xhsBekzp_sKNv$2=gLqO@H3vHY{=0bGRW;q>*xIh}L40OaGvje3Cww*OGTMN6 zW>+`kaJtRl-(pD?_^fFr{AaA~RQNZk;fWji>rH?kkoadaGCkNQz7vre{JS{XWctGv z%~J8n#!v$AVR4fB?>Jv(mgBg%OUesAD6Vb(Ssv6&R|4?S>A?nU7MCY|m?s{b42dJk lJ3PZZaV309d>12kegUr3@uh{hcy zxDXdGuDB3I@T5otK@URk=*5KydJq(S;!#lX=Glvg7r}#vAdvxO1Q$e+$ixs)LPi}O zBS;`gd8mHcPG;u4>bLdsg}QZD{eHixd9UhU)l=$c4!7ZU+<y4W)7=cnKX(lCcut&^t&{0Cfc|y@AK@WP z)!?l(**b#S4xqn%Bd$VQBP$`Q%>eSY2iH`$SB@+}SX%)E{Ef$}+bc(wD6WkF^7gK{ z^K6`KK!HsM5b&wES!2;!FdBwkJE;9Fc+&ObH|p@=2|_z9=<53*T$iTgWT zTtf(51Q5j6{J%UoU?<;;$6i%J=qiA>`v+O5(9t5cRtTZ10RF%XaT=ef*x3PGHed){ z1rTsE?5e4=gVL(Uc?ewwuzOZK#;${{_!#$y{}x4LHH}+^?ZgdFovHqet7{b52QfOq=EoY_lcQp^YJTrDb_AoEL@T`g>rxPcjW^8qieC-Bh; zFu$VUnD6~DHXra(k=QL_p^}#5c zU$E*dFokX6v3XgB&HSRYgWO6CoB2byvQfu<44e5yEt-et8!$0wThQXP&zTkMj=cuFigH*I`HT;7&i;kC_KcosjZ-}sWat4q1R*cmgp zU%Zx5rSP&WR&sV)V?RF#t^VMs$BcM0V+U@;RpRZ`{O9$@#nY-I;>_76UdWoqmtq08 aHvR!B4Xf^i?MGYy00004nJ za0`PlBg3pY5hxqKt#Rh}lu3 zgyEv7)}z-4ISx8-{C{#%JU;qy({}sSN`4m-M1FO=W7l20!?iPp^ZmmH>t~Fq4_MX< z@b?({9tb#UcVpo(ySo*wtY$MFPTR$O>(525berTXZuzgGa#g_`@tc5dVDNPHb6Mw< G&;$U1r%25J diff --git a/app/open-iconic/png/pin-2x.png b/app/open-iconic/png/pin-2x.png deleted file mode 100755 index 2814c8da4a29e261a6f263321849f9c5c48d421e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5M!VG^U@r5y}D|3sOYo9#ETY)VV|=$#bfe!{gtKY+!JHz6V6 rpmO=7#>R)ts%`BC1_l|zK`adMO{x|gTe~DWM4fn*=(M diff --git a/app/open-iconic/png/pin-3x.png b/app/open-iconic/png/pin-3x.png deleted file mode 100755 index 08bfeb9dfd0fb6f49f338101604a6fd3893cb07f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARP-lT^vI^I^SM9%X!E_;ONKsN_AI~xW$t6!xSnwmq?y(N-&)?nZ30l zz>rfV&&OsezrTI5FFK8+KdFsuP(C6&(L-h8p3xUiA{1U5H z%J(okS!FW(VM}Nenfd8g>xzi^iU+quP3fwRDfL^`@ajoytzKJwjYjM0jN8riHy1G) uFzjQtusvTJ-@L}Qj{o#N2H~6}srO4>Bs*^2CG;8SRt8U3KbLh*2~7a7L|cCV diff --git a/app/open-iconic/png/pin-4x.png b/app/open-iconic/png/pin-4x.png deleted file mode 100755 index c26f78e49a33824ad928fe5ac320570f2a8a3d53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J0PZ!6Kh}O4L4f&c3MB4UCg@>;{@W3>tcXjv&w^od_E`U)~qQ`+L;=!@+ZAwSw=QI8` zT0D)#Bb)8mIun&dYmV~NzXi^QZzo^);-dC>v&-+Y&i}DnUVcn7sBh$2(Evgo7Gdl7 yH@c{-(coLcZt&VUfoD#Gul&P4Q-j`%FIel@I~IP9SacHTMFvk-KbLh*2~7Za&vXv} diff --git a/app/open-iconic/png/pin-6x.png b/app/open-iconic/png/pin-6x.png deleted file mode 100755 index c5721c3aba253d0d23d6523d377a0e174c2ccfd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6XHOT$kc`H+GaUU6If%5`cL*N3)GD3qbm&s>hKD@&m<}`9vT^F{ z>2g;%lDq8e>;I`%ndt|7xqmP$VlZWAb5K?6 z7w1io)c8~Obt%g(u7}DGPMc@kH2nAcwnvA@szBKvihp>%EMZ}obwDNH!}-!5-uEXg zReqDf)#qVz3?fB1BzN*t^Cqr5e%e>OZ xbB+lY{;(`qJLjp&x`zCuiHAOU94KBUDybDVZO{4>OMqd_;OXk;vd$@?2>_YNr!fEk diff --git a/app/open-iconic/png/pin-8x.png b/app/open-iconic/png/pin-8x.png deleted file mode 100755 index 8ee302ffe5be00f3edb00c3b03e52ca50ce2586d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 555 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCXFXjULn`LHoxRuVaDqtNe74nmN;@hzT?O8nt`L9tKJ&M-Yr z$L;x^S8SyZr2g)-TO-%tR=T*}m|ceHyIi~XYVij%Cbg}9dS@Tsp1)Do^qo~&_w?N> zx4Xu;L$67=pLKy)Kr-VB)+-SVS&XJ)4N(rgNJ7rjOdFLSuyqvPU$87iJi3MwRNt~H7(~sd&YPk0655C8KZ}`8y>Ofca4~`p4 zAN|f#$~w@Oy|_b2PM`HmTXwV5$@3>lzUm1j$%s44x7Xd@7+3Y{roH3V1}Sa_-37;( z0=QRfWVphVrNcl_$mYw7WoxWIUx+`ac33`cAMgTe~DWM4fAvfW= diff --git a/app/open-iconic/png/pin.png b/app/open-iconic/png/pin.png deleted file mode 100755 index c3aad7198382a1ceb71ca6219fc46feb3d64438f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5=RfSR7JT>`Fc&x1C3+wboFyt=akR{07|wh ARsaA1 diff --git a/app/open-iconic/png/play-circle-2x.png b/app/open-iconic/png/play-circle-2x.png deleted file mode 100755 index 51d5aeb3967aa68bc9744e0f398a76fac110592c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5i4RuyK8ES(MA`0 z*u~m>{T25Z;{p!>oj+({gc*JUoMDJ&toRW=BZRa3KtCits34r>Nm1s@il^*l#ak8I zlE-&677eZf8#_zEoo4unj3hjU=Ul)6MQdW z5US>@9@rdCI=I6@MC=&0#Xq!|tW!=cjEi9)xXP$F zUo535ndfB$iui`jY`^*|G&szPr#M}K_;H?iik@ViS7}Rb=25A8}s#vX{7kGwMJjTM{+cCbQi#>eApN!liv4UNk;vz9lu!H3i;=97fY$+Yxq%-yosJrJ7Z@)4f3{#Yn`~KuI;0iV`xom-T-+MZ)5Tm>DAs* zzD(z$rP$3F43F@>P{ejaz98?AX`{rAKIY*~=D-*wZoD$EqC`N68}Hztl7LCv*oR*g z1?0NXBW#J<0#e;Lo6Sf#31(7$`stRJpmq^{$jG%nD_jmW(7{){%ox*!*BOe3IgmT+ zc612M=E;NtN{{0EO`@Gl0VT6;VyiuqW$EWZjqCVKXzQsVX@<(QNh>jkZ`00000NkvXXu0mjf D6pZIy diff --git a/app/open-iconic/png/play-circle-6x.png b/app/open-iconic/png/play-circle-6x.png deleted file mode 100755 index 5eb5e5e5b1932956ddc9faccf5906a722a1c753d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 731 zcmV<10wn#3P)eT%FscC;4?&skD>FRQNt9IY?fH_NTSkfP^dN7_rU3NulLVBf36>V z+yjTZ*SGfCd!KdII(_oNC~jdA6S$5`IA6bifN%JO4_L=*e9p;!R~W_u-r`S}+{8SF z$`n3^75t14p5-Byaji(JGk?;6P2tz5c^W7c%{4uq>)E7 zUc$$U93Xyg?84Uy9Z1k^H1^&+~(fHM$gW){U*Ug{K{1U2q6R$kizFNPI!4BM4UIg+^CGNu25*&zK>y3CK6~WB{9VjZDUQZjDFTjB!W$r&bK@&V=yYz=kx5?*M#(-=@YgH3<)Lf4Iwx0 zRP>3E63=Onn6-i75YU3dxK!5iUoo4r`We*q7*%>PP(TC)HE N002ovPDHLkV1m6LQo{fM diff --git a/app/open-iconic/png/play-circle-8x.png b/app/open-iconic/png/play-circle-8x.png deleted file mode 100755 index ff8ec2ff43f3c22590454b415a674547460188f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 988 zcmV<210(#2P)>vW{YHoT2Jn8$X!f=!t1{m(!61NZPV zmT?_daJK;)qoRX-Sip~1tI6B=0(*PEoh{~Y0zauQ`gzVcE<{f@*o>1{l}>m+pWt)B z>8)V~NAbJng!l6ij-Z=Z>;Ev1t2GRd%`4cIRB;K1@mFF&lW-M>66!XCFEbE2iVG4f ziCKJ|fw*yb-uf9Miui9b5LK0zVmM*Obj^G}&#Ac_reV#G;+aXsf0%*sv3Rhm_<4Cg z>L%qXc8)84MqY=USp3eI`@zu+j7`OlM~UAo{@H#%?q?u=4G)dDNuEqFC~U!E1`b%m zXT!wLNpqzwBZp{M!Nx%jIFV?;e&i4hpY$8mkuH-n3~ffkEq&>=eF+D99@>nCcglt= zwB&#SZA8QAvH>x&w{;vq^U<(e47@GzKvmIXG;D5CH#*qvRO~sE!i6@*5zR$qe*u1Pl0%ezwFKgTASX{yD zw8uu?$M$6N1vZlQN0000< KMNUMnLSTYF&eR(K diff --git a/app/open-iconic/png/play-circle.png b/app/open-iconic/png/play-circle.png deleted file mode 100755 index eb7bb5150023d812a007d1ef0f44ce560e3fb23c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY58vXG5}!cB}S3alNM*UTN)?FCDLlF~|LAx%WyWB_y(kU%$#QWvAp%*WjpI e5?fe*3(3`QRnI@QW(haYDh5wiKbLh*2~7Zt;5rWg diff --git a/app/open-iconic/png/plus-2x.png b/app/open-iconic/png/plus-2x.png deleted file mode 100755 index 667b035915290c08b925de47089622888a212203..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARShoE{-7{oyjQ*e1DEBp7Zcf7M>_Jf!9q}Vrv3N#DNnH*200TJbx9W rwl*jzMBH&Ym{Dk(b#Mi%2m`~$VrE?tiyc#drZ9NA`njxgN@xNAi})q~ diff --git a/app/open-iconic/png/plus-4x.png b/app/open-iconic/png/plus-4x.png deleted file mode 100755 index 23967d4f3e3c7f1a1e71928cb57155e65dd21c15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x380{>r;B4qMC;pYj$A<9EDmq~*RS*bZqTKWw!Vo+F2(rO%kIjsXa&*e^X>~f z_jh_PVcLQU_s;vj#O~>L{eXrrC^XxoxNqy+y2T7@QQ%vqsu|3&?Wz*1fHpFCy85}S Ib4q9e0K^tOIsgCw diff --git a/app/open-iconic/png/plus-8x.png b/app/open-iconic/png/plus-8x.png deleted file mode 100755 index f58fed72a763d4230ea76cf28510f43967e185d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5i>TpZtdWed@XyIZ(8FMdTiUgjkD+Oc{*6j9VI(F+@28BS{}K`=9?mvu-~l p9yQbMJ%}w)|B*((C?x5#oQwA|*ZLmbdjjZo22WQ%mvv4FO#tR~RH*;} diff --git a/app/open-iconic/png/plus.png b/app/open-iconic/png/plus.png deleted file mode 100755 index 1088eb92992c6c3aed0606e21d6e0cea570cf0a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5zopr0F3||ivR!s diff --git a/app/open-iconic/png/power-standby-2x.png b/app/open-iconic/png/power-standby-2x.png deleted file mode 100755 index 10ed7dab2af54fedcb2a4014d74a3dada5ec4d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5>#xD! zzTl~lz3Ph=i7z4cjQ7Q+H_qmWW!_%@DB}BSll?PRZ`{yxc-aOqGvkAM4^%NR``@_7 zBG0t>hsp$y85}Sb4q9e08_?!DgXcg diff --git a/app/open-iconic/png/power-standby-3x.png b/app/open-iconic/png/power-standby-3x.png deleted file mode 100755 index e7e9177961a844be134e48d93c61b71345eaab8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 zcmV;>0WbcEP)4mAgs`sNf!$$T`6@@G9#appq7FDZ(Z&WbjD=0OP=$aOX+pbrF04)dWpi zKve%NylV=Mggj2#K~4a`nec}u*%WfIV8E*IcP8lxIg(97kRE13|NqP%M7@d=iPz#iXdtPC19l@3TXp2Huipnq%(*X3ZfrD@S$Ho4S|$`AU;Ln-}fwLSD$z9 z?wehwu*iWa=FXXO4>NaXWu~E&yM-kh0kUYeO=yz+R z6J9P;gF^$2Li`@FbOZ14H zdqwhZir!Sx1RppM6YhcejL9E_Rt}3Fm^R>2alT6QbJ9>xblJlPNsF!fL83QU5mQVn zz&Pf3tqNKbFoCHVS#aT_rr$PssR?Z*(zbk-KoXLJ=DawNT55Sg4@2_y`sXHWuO%Utke?Fx)@jhjMdC} z2dwucI>a7eN+al&FyF<%UCq1#u*;8hCBA47buxj0VZ+?7K1}4$|MIo*g!%#y#lSq^ zxh3}`30|j8;H@F~Z{U1Y$p47?4|D)GEhff*OdJDO3`u8zqXw>P6*>i!4ZI7k;cNnIfJUdI`WB#0+Jd4xG3d=e3Oav4gGtU^&rR< zU4oV`CX%%K>drf9qg~K4ClLbFPOC#R3`i}mq>%tsE_GO%SdKfE3FAeH5TMTAI;7FW z+mI8+3lbp!J_ygewRaAX)*P1z0jhz~;c#L(?l>ZhzcG>e(0}*^mWh1ugqc z#0;v=>WF93(_4pgf(Gkh4&b^#o}w`u+DhQFpuu{a2Iv*Y6;uPBHtq;(mr<>5BuFh~ z1sL!u_g@Se)_vfTs0aBxUILDJll&L`mNmD!CcG>p3lk1_5FKI=S$qY!6enp1@Y;~H z0^9~xBoMv|`JE3VPt1!gP}_OIvcNQO7PktOMU_ga+JrF)Y=|p9#BR)&yJ5_t?rw&F zeW>$%rW#$KT?o1no^B{eEdh`{$OeCW4kdulU!dQh=VT$a|NSWNkWn)>0RS%m z{}{A}kT)locML(UV(&Z#Ju5qrUs=<8-9vL0_W;)w@oC^`Pu)}r0O_2jHvug1)CFL_ zLA+?HbCEIu9mtHMX};-evI`hfM1Le~4W2Rq04sq>MROF{L7I8qV01@-Sq!=%>@(;- z>m&HNB6cCrCb5rK`|I^C# zb(%ni%&RVbGTW)1AC&7_-vIav_ds%Ygu${|g4_Fbi^!BBQf2+$mrmT?r!;{K*OUgak zm!CS(ylH(S1HM=8*=)8`J({*&( z{$aHJc#fm{d@DqFDf)+z9M~1(K9Yd~Pcz#D5hc9$3;}KePlg7Fpda|#;P362APbRN zn-*k}YLn29?d=>U^5ZDT=&1#2z6rZygBcjW_RHtMGpT}pU<{Z89|4O~1)f04V>`^eg$}mG>fGMGS6#M-OM&f;v+I3$J8!+n8=awWAE)}eOZAlZ+#AC<;bCk z;4_0-$+{0Y0_PiG8aM@fjg-|dA#X{uK(PqfV68_sESr%{neW-+EzNGjUl_bn6n9$(Ezq1M{TYW-sy3qlCzD9Do|y7y3T+{kooyR yWUhYznfsdsl}ThxFoLWRE+XrV^XQ-IlJXyCNZfIq)w4nJ za0`PlBg3pY5EqU`=_MP4oV9>5+e z diff --git a/app/open-iconic/png/print-2x.png b/app/open-iconic/png/print-2x.png deleted file mode 100755 index 9f3525f1949e8cc939fc864e5cb6482ca9980a58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5W%BYa`b}ayH9%?q#2pilX+G!bcZMO>q<^PzKH3G`E|z94nJ za0`PlBg3pYARYOhE{-7{oo}aH^a&Fw;4cLY96eJW&6b?022O1wT z|5KdqcI@!pC0oJ|GxZHkw!@7t5UH-C<@ zM5njyNyVb?94ZCs`F}a%RT+2#a^F5|w*CIyXZo3RXH%dVf1(o@Jy-J!9&}t=1au37 Mr>mdKI;Vst0C;0b#{d8T diff --git a/app/open-iconic/png/print-6x.png b/app/open-iconic/png/print-6x.png deleted file mode 100755 index 22df5a9416ad5cdbb4017ecd7f04e876206b5ad5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IAPZ!6KjK;S&e7TwpL|h;Kj%sgx^w0dds7Tl4f4(xFS-vJaS4nJ za0`PlBg3pY5Ai^5Iq`ctq-~7jlcdlATlq64gQ|xqpab}wd z5A)OInclZ5%OV!HUMl*$a{AFV5)EPt3>kDCk{O~JjxlUu=w-}clw!WXWWu(9)y2hy zCD}eGE`YmltxDwNIhn#8TU-8bXe|1%b^}b={xko77j$n7asRX3a7XGt-=NYn^8W-4 zkWBRLm-OH7_j`T07)5Bkn`}G#Dn45lQR@w{c?~KOS90Aq= ca%ClB{yu(=UAr%C0D73g)78&qol`;+09^)jApigX diff --git a/app/open-iconic/png/print.png b/app/open-iconic/png/print.png deleted file mode 100755 index e3a1e6ea9a92a52506f083fe21fbbed50c8ae81a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5u3KnyR*ccaW+5G v(&g+aF;|bP1T4_yiQK5~wr%gTe~DWM4fhS@9x diff --git a/app/open-iconic/png/project-2x.png b/app/open-iconic/png/project-2x.png deleted file mode 100755 index bf512b49f92a32c5edade5a52d799cab1c8511d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5rwv}Q*&8{~dbvAwz{%_3C-OsAkF;_|!Xdr{9tDnm{r-UW| DIKVE8 diff --git a/app/open-iconic/png/project-3x.png b/app/open-iconic/png/project-3x.png deleted file mode 100755 index e9b5d0c3ee16d7e12840708ac43655564dc0a685..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARRuQE{-7{oyjQ)2|vy^F!bLVHq570_G;Pgg&ebxsLQ E06@Ym;Q#;t diff --git a/app/open-iconic/png/project-4x.png b/app/open-iconic/png/project-4x.png deleted file mode 100755 index 812cf1841e785f1820646acd7d322f7c540c6234..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w#r;B4qMC;pWj$90iJj{#V{NKN4-rLmfZ7r=cH(yX}c`)HiR{DzR zZ|~*UedA>Ef8_hdc zJ)iQfJZ|^?Bs1m=whQkX%Qvl^8oBH2DgOfuvlzEb)cvwrdgUJ$o&}N)(l?zXpSWq+ zGlCSRmTdCM}e9rm24AloWPpYWwY}U&^-*Eu6{1-oD!M<`$bJs diff --git a/app/open-iconic/png/project-8x.png b/app/open-iconic/png/project-8x.png deleted file mode 100755 index 2db3a5dde92ae6fb425af5d2c91c159b24ddeb97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5v+!?|ih_?jQ!;1)2?F7epMmGv2YjpYc}E_{F@!KP(_V*8)}()(cFtM5_

bP0l+XkKSXW|C diff --git a/app/open-iconic/png/project.png b/app/open-iconic/png/project.png deleted file mode 100755 index 227bbaa1be2ee866312f535d2162f974d68b64f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5)2HCjGiuzAr`%BFYVWJaTHI%)ZR_WR%OERCH@bN+0)ZtnK6 zVWJ~%*u|qk_KyNs_sLZjU*LfC z`A2=T3Z`_--yrmrk?-rdh4Tvf3g`Ya%>Ax?t$2n#+r7R&k&nu=Gukfli7mF{{-jxE z*k}DF(aPA&F#BOl%;Tb_x8a=K87`~y120#1u78oBrS6r#u=(==tH#;~O2;ZsO7f)d vdtW#^p)}^#&lOt9Op{gDOjQ0CUBj#sYV{{+_Gw+i*bMJ*@ngW^<_6F$~7|SZW9e4pYvI5Ki2Dr)!uxkMZ==6>)EH( zj}80wq(zT^PU9|AKwi|6(l95+d8zm##Q&?jr@pAuj;Fr)73dKDx)WY?1Cr=W1e`kF zr~{Y}0W6AuWyQa--XqW&0_Y)rgCd|;@wY8tCnUVC3jX;{SioSCpqyv@i1^*tRJQ(g l5`a%dVBj0SD^2+S(kJhgn}V(+N`L?W002ovPDHLkV1ikgwY~rV diff --git a/app/open-iconic/png/pulse-4x.png b/app/open-iconic/png/pulse-4x.png deleted file mode 100755 index ccd5a7ceadd9eebe8b201d6ec12a52d379b6b6ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 585 zcmV-P0=E5$P)q$gGR9J=WmcK6qK@`V7&JjN=5s5-L z3PednCladTqEOI^gj%8!jsHQTQ>Y{-ghV5eI2BQyLg`nc5EO#kT~0BxF&Q&EdwY8{ zzRAnZzWL63Z{M4pdDWDTUZ4ed3bFPFVj{ct)ezv8pYb>_>N9@}OlrDA;1yU>bko2EFmJFi2c%`-M%YqY zl+KPd-3;RYS9MngT~P6z`~Y&=dlOItylC8uN(7+Gfs(mx2Uic!C~@FKD@iNRj~Tn# zc-F#u02YB|%e*hTEYTJa{eXvNL`h8C^)QZAoEwa047@{2pdCRS*-pY8gKjsV?g()g zl!b17ewpb+^I9~Omoo4|;ZiZ0_2Fd{-W}pL3=F@^D6Nc5srIn1j5iS(i39_Df7y@^ zuTOGvMBIb`TqEuSSBrIxdE+{vcQZQDh@-dY;O!xP$;dH`XhvN~RKhuk)Vs3ukFxLu XiDcEeQtjqz00000NkvXXu0mjf6gm0k diff --git a/app/open-iconic/png/pulse-6x.png b/app/open-iconic/png/pulse-6x.png deleted file mode 100755 index a7c67b70b36e234e07d93868f3d675e254de919b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 871 zcmV-t1DO1YP)gH}Jm3I?BQhl=#rLS1YiuDbyMBJm>L@;y3W5wsPFCkz(z(1M?bV1 zG5i+b4{$C)jasCE3Ctb%1uQkRaVGGa1Xd*}R>EG);zK)XXya9Z-}xlPO6bR~16MTs z-4VZ^Kx?9kBY1;d2gZ?ingPMLKXKIowhF;bwlBhO2C{=y$mo0+yjma^4Rnrx4TyV-&}nxJ+-9dzRc0bhWH2L4L}HwT=oRAAgLG(+hQQ-~qdV%0&n z8-ZH9*JI*)K?nK~jJx}3H*hZ`q_+eO$O&2&XpG^eP?>0Ai`V8Ln*#0#<@ZsYFd?Vm zj!?SwmId3B_@-r1z+X$QS9Fsf#nX=569I1)bsb+5G?Tx`UGK{*BC(5o?nChfdAVhRWURsH2WKg8#7$*wjvAv-1D|002ovPDHLkV1nM9jcEV? diff --git a/app/open-iconic/png/pulse-8x.png b/app/open-iconic/png/pulse-8x.png deleted file mode 100755 index 57053622c598a31e5cf3bb285866bf344d05c333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1152 zcmV-`1b_R9P)7@RJYUfUU${4>Z*PXz5^FV-mP2r-ma>yTh&4_v_?`onhWZu16W>A zU!|lAI9qQg>cu4BO(YZR>`M(rOo6YXewu-01@vb{5eZ1n{f+|qD-|CAFMvuU&w-J3 z^{9%_Bj5|5CGqbMfwsVXS`j({X+!?Kc^x(bj~E#Ku{;2p>gZQtETlI0SU#(xUxNra z1#~O^d+|27LG}o^R!6@Ip_T05W0_Sq?-GQX0+N+}MWDV*!CA~B;Jky~5xyJ@$wc5a z<^=QuA6eS|85r)((?G1l9DFPrE$q&Z+HCUaYzU4bPr#oRc7KT4bW^f=BFPA#2YCWs z0%HYsTY#sDc3XWr?u&Nh!N;;jV0V30n@6a^s&xE_eFBaM?4C<$x5KmVUbu&S0!(KF zb2HjK2F8R4!j+G)4?Y&%#_52j-FE@vaAp_o2{@Etb0q3XXSI6qa^V#&J(w4tuPbR5h0JB@f9_{P~I z2l8a_HtH3o(@CBHOU??~QE!bxMnK*Kn53K9JAgBWHV+C6KKB$baU$v{iD?>43FJ#E zp%ai6tSJE|x^lL!A=L1C3JlBW^NOR*K43C%%a@-+fjxpGtpMf-^pgAzyvq3P7%9d(RJLluvcO5hRPe#MeuLz z7N66o{ke|g7WM#svefs^X5>%nTYmJy_#1?))H<71`%6ii zR+sX-X~wl2PMZd4wZD|KX>icdRw2Y+Yb52%9QLX&K%byKv@SI_8E{xv`%6jI`1^C( z5|igdD0$PPtNo?K)1ZR-&Y<)xVBm@AYJVw9BU`6D*eZl3)NPNX_LmSBM=L$p5|ef% zZNp5|t#8)-z774TUEjgz??T9%fIig4h_83{8S<|sg))Q^{#UpL4H`6PAmlAB==PTw SKIt+500004nJ za0`PlBg3pY5Ftj|>=ib!D63KY|g(64zisw96w~F3LW_>AG z#j+uThb>T!>2e!ylKZ(oGbQV|Zk$}4nJ za0`PlBg3pY5i_@% diff --git a/app/open-iconic/png/puzzle-piece-3x.png b/app/open-iconic/png/puzzle-piece-3x.png deleted file mode 100755 index b01a9c8d9ff5040952dc998377bc0f587e6d09d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQ+?T^vI^I^Rw;{z#lPf4+?oCufT(OV)v(x0qWe^@s6p$=|w_#e%V*H+ISLp1Z8? z(>Noz?`erG$aLB6n)*g*=KPF>K1N%`X1?J6p?g3gf=N8?p5Ezft<33C4}#`9&Xy`@ zcvt;7cj^Hq3ufL8j77W`7^d>`HgKN*uP}vQ%VeR@reJRey_D{VhO!fX`E5g`64WX_ kM=-Q(uMyd#uB!iv@kUaXc|~75AJ9__p00i_>zopr008G^O#lD@ diff --git a/app/open-iconic/png/puzzle-piece-4x.png b/app/open-iconic/png/puzzle-piece-4x.png deleted file mode 100755 index d6461b251d1e3863e82bd49965e11153743110be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6IZqeIkcif|)4aP5IS91v-ytE-KEu(bZGlo=$_F9ld8b;%1+yI!!UsHA$TzdiIPV0K9ORrkQTdKXsm|8Nkv$@M}jdF@qpy#uC+ ziWdqQA1oK?&wa_HAi&_a?WA^>@xlkzyBTJ1@0+RH;O6TiKItuggTFWf!*7v>T)ED@ z8j%w}sVq-p;|k>rV4A|Pjv?xR$dBWD^8ND;w^Xs27~hgv76=_s+k<7Ec@Z^6*KjVuV#6} zLILX{#sJ|Y>1_@NNg7ZpLo4{&mDP`fy|DOQRuBG@|AA+3Z$bMHBAaudh{7c!i@ zIZvA8rZ=Fc0F;0-Py_1C?LA<)i`-b41>S*1hw%o?IP1;)bi^%zPGdx4**o9R>RQy0|!D)L2W1g-_Omx}zzS-}1hnsd{lnKR7IA35vJ zf;G$nD{(ZUxd#BAdsNdkIsCJgByy5s?JtlRG6C0Q0!IQsrg@bO5)q7Efv5^vjD(u+65ldE>KJQQ^-i#1)kC_aG2(M;1!qz z_Y+t9C<3eaGjOMx7ht+&;=1AX5o8`X2EOoDy6=H)U@%yuJx~?c1Uw+$923A6@X;dy zD>MhW1x7+LM}fPf3RDfv2PHnE7SKFK_wgl6RDc6Tz8L8l@&wsaihL28d7vNrPe%jD zzmrA2xSNltR)t1jQBb?2$QL8MMy~|fH;Vko1seEMy@?HFb}RxX7P%L32xwoYixxFw b%4`vT0a&h%Ex{3300000NkvXXu0mjfHv!nk diff --git a/app/open-iconic/png/puzzle-piece-8x.png b/app/open-iconic/png/puzzle-piece-8x.png deleted file mode 100755 index be6d6f02766d7c88b226f2b36dbd0f72e6639fad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 739 zcmV<90v!E`P)v>Q5eR5>NRr_ZCpfY zN|pwV*|dK1k4)i2g{QKuE!aKxh-R4)yA_qD89~YF+!YI1Y3rm^t%4 z<9nT%AH2Ks-sd^bnHkR=&jmfxz$;)AXdhG)mPwo-hXR#OC>ab z2f*i)@g3(A%J4?$32+*i0!B0Tw1BI?7w}&}uUdw3Tmcp)%lHtCVW#R=z(&;rXjlCf zDCI^dhE~-BSgraq;5PVgNW5wZ%CQl83=9F|z{QL`P2d{v75rDiS_!>`Lz`PEK;(He)rgV9;I^=$lY%g?i-R_kP0PX$$VhrHzLMQ3AIfqO$4nJ za0`PlBg3pY5;RAy#ATwmg-V#%f^ zGs$IU!Q{rqhun6;|C|gD*K1r$Pe?Fudt_{2u;AAtbsu&k1_oVg-t!%oZ=C{~%i!ti K=d#Wzp$P!dnk*Lp diff --git a/app/open-iconic/png/question-mark-2x.png b/app/open-iconic/png/question-mark-2x.png deleted file mode 100755 index 264cc8983ec8d7eb9924a8b9dbab2adb4af122d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5FId5&tzxnRG z!Ma#6!wv~nM?pc|$IGhs#F_s*Sdfr*@BNtqzMoY`IgDkL>pphs9Q?Dgk@Z|>#Nx`+ z545G0|8Ou})a!X=U%up-#Ve-4nJ za0`PlBg3pYKpl+io-U3d9-VJ5ulI6s6gmEp{~x1kL{AipU`$Tf#b?4ZYFTGrWH-3M ztJS?GG&f18hTU;;hwtKprYqJwU1$A0Z^!dP4M*j9WM+K+{cnb)@sTZU$~Fty?d}!! z^O-fz5%hhyhT+;;?K5V)J9rMUzZOdl{1JAvrm^&l$Zy@81<@~W_p!yOFU#|N-}ouC zwWNLhp)2cN#`-bMTf}J4xzypllhB7bc~^L!2=_NOOkJWkSHb3^)LWIWzG~0bf8$-h zy!~g)1I{@b_80HQd?=g~{$OrQ!KwHA`kjA1%M`uOS)(srvEVXG-5hDY^_~Zk@+!0& z_q+1=vK!C6BG0?`|Ea~6hZXm`@Z7AsKcDpv!`_gnpoQ1vb^^nR!PC{xWt~$(696AD Bkx&2t diff --git a/app/open-iconic/png/question-mark-4x.png b/app/open-iconic/png/question-mark-4x.png deleted file mode 100755 index 92c49b494ed09e902e8def2af756dfc45fc7c1ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 457 zcmV;)0XF`LP)G5ldFq^4xPoRql<%rqf0lP#l@w#h>C(Z`3DrYC}7e%1lyS4{>%9;SExCGdgLSL9(=*L`4@NJg> zXHsO>V(o^kJ#`6ij@e#ek($NYx&*j!2@o;?%wzU@Qf4H;t==$fQS7ZZY?zk$lirYO zZziB2^G?RT2xZI@`}+zsP-c{X3z1)8*FVlwfJ>2gfn^`^8s=}P@|F+zEbts7KgN8f zGo=LF#mJAa+v?8j$H;f^)O2;=N90>R#33z_w|&Y1t|h>tPx&a(#~)zX@oE1BlSCWs z6?0nh7GOl?R`Q&jK~N?74S29EkoA!)573ui!nB+v4J&~w00000NkvXXu0mjfeNDU< diff --git a/app/open-iconic/png/question-mark-6x.png b/app/open-iconic/png/question-mark-6x.png deleted file mode 100755 index 5a696fa94c984f965f693eaed1ecc3d23ffbaeaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 665 zcmV;K0%rY*P))7HAY>ac1h8 z&U?REvi?7~(IV>S9PgP)kh2aMw}#_%bEOIvKm zbxcb{+ZliG0Q(nO8U}D>R-#?;wDAZV7fOCTURNaEJf^TGw)`O8Mv$KyKd>W~d;@nQ z%Fm5==#SCB;he(XCI5>9lJ~iPw&@ zS1t{l6_%esZ*6ut^h(Z7Strqv+U#-|z&+XW7izQ1VHKXqmcOI?CL4uicp_W=p-8u| zvNR-@oh4#S>to#DbO0+p@mZmh)Ozc26tJ3&A_aKz$D_B ztLRK@yYqPj>~s9=3~;afoi~`d{Tt?imch&(tATD{8?XmB46JnQe-hYO?k^Dz;x;m~ zz(t@VMvhis0Ql^f>vU{4F}Uv_XaX~u)zX3a^+@?%ddTHOC-Rh+$M4Fm8ORAaOTc=M zIV&>YAmnI(yj_@Qi7oGOsS_Wor#_*547lSVPn0R(uJD=dQYStNutR7c@sOhukA?Pb zse@(@BC^1H%zwOx`75yp9&%J-QfOZ#b>O1_XCklHVv6xE-g?MUiBgsAUJ4Lpx*RV8 z^c_Xo{QQtQsHrVv4Au$lU!)G|y#QN<_791uP-GnYI^ckwwD9c0ZvGcFazGM_EcOEA z^rVI71oHCxq?)?G^dcX;c0z=Y^+Y$SDErB69g1q}HVWz%@8~s7tj@gUAAtjB$ zxPsdeSP8hMq%jChzzy8Z=Loa6QK1QQzVB-OHSrEwYnJP{n;*kmuQv>5aX0@8bAQk< z>;``0X8s}W7bSH;8)go7F+Tz<)sY#FVcg6QYY7ZVCvF$34Y|YxxQc9kNKIW}T7a+E z&1dm@lU-BvV>e&G+&2WF77j)Gh4x#(#{_h!F^c^cAQh;tSpxjTzP)Xz#ZHti?4v&w zT7dR5K-$DihZdk+faOB_OlSex1&|IfilGH)7a%1iB_$;#C1uglhkY~jB(#74nJ za0`PlBg3pY5ZRB+bU}$-$U&+NRall9@Cz;h)@-Ul-NZEo386DH7 zXZ$%E`>rld%g4fS@x%=aTpfB%MK`UOek17N!UG-eyd^Hw&t*J5_y38F#}BgxCv$6r T9KYxXG@ilJ)z4*}Q$iB}!OJ$X diff --git a/app/open-iconic/png/rain-2x.png b/app/open-iconic/png/rain-2x.png deleted file mode 100755 index b61814002addf4d5d68b70df771c70bff8253a51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5mZHt#?OWwY%;icR|A>%osiEkd?S)O9jcE0QT-3KhO zcOLFe>nfk2(!RYhj^*$MwhwH!F^igmw>ZCGJ)c-Bk`>EyXo{-a$LdFYi}XUjX5V>i zz;;A-HACj#`Iio?v$Z%OID3WY+UY+|z7fB%q#@o|xa@$#S;;n_7a2TV{an^LB{Ts5 DKv#NB diff --git a/app/open-iconic/png/rain-3x.png b/app/open-iconic/png/rain-3x.png deleted file mode 100755 index aa6a5e0e30f6aaa3399263225df07bd785de7d3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 434 zcmV;j0ZsmiP){Z;mi`hH7ch~wQC!0NU?)Nuy z&SWU29?W4Mclf{q4ls}If}C7U;sQyXILAaQ@F_esfLG$aS(5==7li*jN#S;_HVLo9 zd{KkT77Y$#z+Noi1kWwP6Fla@hjI1?Xc(R0&f5u31cP2^Gd#gDN)>~Xe=taJgTW5z zK>Nd?v`IVgT4xupSi`9FJsQJ0-U^=L7EU9JZeYO)N$hHUel@@PD%a{EGCN z9%V+u(mPzj;1Ad?%9WmG8p3#1KY|s!1O}^-4%DceeeltsZpQa~j?kA^l=m9`>S=@e zB`ixXMUD2Ti1~T%3EtTUsY#bvYiSI%Gqyt(R9J=W)<0+zK@O1 zL9h@)MAKMUSc_H`O3+Gd1S@O7T1XLy30BsEg^iu9AcB<;(ny*lo<*!AMiYzK#l20K4^cel z4_wO)to;K62N>d156?{CvS@)BVVfr(v%6TtMf5XX#uD}t=P2_ttS1cI#N3$G%nP5i zse#|{JThocscUO+C7ZB`fnUV8;cA6gPxXoRvY~-bdEydw@B|lx+pnLk>Rd_WfzS^- zxK)as$5r95=?nd`sQylQlqa6RnTi!v;d^0%VPejl@E$0Nf6R0nqr8e#%=^1r-V5)8 zTGZ7z)j(bTW8pbJ_S_j);}iq2{3v2Iju~jwBS&fk#*OJ3A3@5abgKAopvu6v!td=C p@nIw$#my{n3)fr3Z$#oF_ydyk#a|!4jOYLW002ovPDHLkV1l1o_pAT_ diff --git a/app/open-iconic/png/rain-6x.png b/app/open-iconic/png/rain-6x.png deleted file mode 100755 index 437de50dccaa339268cc55d6a157f73427b494fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 770 zcmV+d1O5DoP)}oS81=XfbwUCx$SH6`00Xyv8$3;0}J3#1X7DIFBg_ zY$N`HbLedY?>}{66yG%tUh7Xd)@pEAE?EY#;I+Pt1+9W#i5CUJr@q~a5R34*1o+ff z$_{X`MEKMv%7WkC0{CfsM&E28^CAP>#M;QYAzCcya1%uq9oCv}KlQgtkW6()1UMWq zrx`87zPt}(0_=)siB|4C=hvAyfD!D#X2~C_Wt&WuhC(Ow<2wFm?RwAi&k*<#&7En= zaznrTXa|7id1*cPkq&^24$!YNmrcU~u6F=nJwL~uEcgMP(`_2@n410TOb0-P`a*Sp zyBz=&PhgBj8gVED-*E zTJ&1Lq^ETN7pmXYUKJGJMp|&4t@v6`)NxscHkM(JDNssxgiwIb#pu z6t+}qFOaN+Bf>V;8E2z?xG!mcF}js;gG-UMh9w`(;W()8mSE@%FkIcf943n6p<@B7|&&YAx*-#X1;7}w%PT!RUmhmGy) zb2yA2@eMx4msqI1(#V*^%lHjT1$h`RVZ8RLBj8f(#-ifFySac}*i@^6J~4#t_)~e| z-JHRr^+_p?v#?iu;oW>4qcv&DjS2j$dhrQAL8}&JIdBOMs84*tPYu8~p@kpRFFxV! z>LsS*EzOBf_;}?iSHOcg3#^)R*j%yJWjGawN){fIZ&WLHIkrbCJQn}KRHceLFk-Oo ze!^F)6y1rtY7$hGN933mhe}BgxGzGCDsUQZ%KA_Y12U5|h+DEgu)aXBG2Gb>dWEp! zYYESQLB-WEf=pls<~9GjF3RaL!bkBujt_v4ez}Ns{fHmOw*w#`2FHquzuaKX>;3Y~ zG_lq7r}2Ai%Q9fc02Ep^-xm&Q zmtoB6T;%k_UvN>k0rw9;VRiB+oRNqhl4HYgg5fgk?EJ@9n!hVe@b1Kb-v^+WCiop; zqj20{Z)vN<4MW1a`l@gMFW@$uj}2{JfIIM_u?me1Z-5yiNmJI94*q5pi2q zF2rmN;^&9)H!j9iB?^8TACws1jTzzFbaTX*y|6#|V_Yzz9~Wo**WQ+eQ`*dfmg+ZY z&vhnzw#Ns)##6XXI9p5B4V!VV@X&iDhnTH6*p9h~&xHQKEbJ6|fVK(mA%=xxyiK@O zIJN$@Pw|V`(wS@oU$igo!}U1|%!AwYZjYPCl@a0(3u}()9y!w3vzz2xJR#02vjqE6 zig+(#p3{XjNFMP=)!0O_kW$Ee^xr9fJ)a9dAcXEip+}9^!QZ7T=K3;tQpXB0Zn7g zfTjy*8fykLT|m>wW5BVLYjZV>Ph0Hd8J~(g2JB6_wr3TLFO4b74;Pk%m#SM*#>E;x uS#o?7OyM2jaA6j27ffDu{A9`TE8<_EQ`rLL>(|Es00004nJ za0`PlBg3pY5hMRbLnAIKs

5(oZXdQ547Vj|pX1P)f>5 zNr{aW8?S(@tQ5*C@KRVPrOaDE$-++dl0O>@3rdVq{-tnj&g3@DqnT5;=iJ}({hfQx z?b3Qw(47nIv6_v9ON{42!V~5TObd9<*o1ei!dI+>4@}pYCj(9ym+*qc99)kd4;T)u zA2*?IW*whlw7$&}_5-*I^HJ=N(GlD>x(Y_sgVQiQ#`hKjMTSN(g!?f6VCp}(R8XKd z@;1!2a{3_d;`9T2N50gIxf3U0IE?PrV*iPm;3_CLDzFvsHTp7rBlIdpBEP^`4ai^D zD<W$kl`opl@S?!VG*M>1h3;$QXk_v z##4hLR{Drf=PRueFJcuALPT<*Li{v7hrGj*+6>D$nHE1zlI|pY3oin{gUOsL=6>LI z)z({B56OGD8u&-a%4Y+Y;Ts&EdQLF@~@hw&PQ z>WWq25_TQEybYaQHiBD;_@NqS9MS5-Un|Lf_&)}{a9{NYG_c8K{0@R`ybR+5+&HfI zS=}$_4Nl+`-iP^bx;tlEjdneXS3zW3=gAg0k1gHL_e{=Z_<)PO43a( zBJXv+^4PBL#)9Kq0)+jEP)9zgf?_IBEDQ*Opdc||qlFK!@IiEa#bhjI zM<#dg&dx5*`oY;^&bjCN=G;5?oTYj+FgyUBj!5tv+yAG41Wg=|1*{CLDgl{Y!$?uU zFWkj=A7r~QgP)PSd7HzIP69IffUP}{k7K?Iao)aRqDVl3msnSVd@Ww|K%U?Wj>7N2 z!oWvZT|mA9(~)(Z@+EkNEuE50Mi$&?`C>R5i9et7hrUZ)UP!IO8=Z^99>7u%H-n*w zfWIX#gAqK5h&Yjp*@RDl|24*fT!kes!Untv2o|spqnHhRKd?KJ=dvy(FTzfI4T$D( zPkVLh{gQOUK`cfH^EOo#d4`h(jtmT&bFTNcwFToq^L; z3b+s<47=SD4p%`w5h1^Yz0z)$f8La~<9~)d(#s`JGKV!S{}Jt<=R56(vZ0Tea6R4z z$v2eaC&dvAIWV!yWDSMBZlgH}?01ko>9v|5wcK`LRI~=LHP3C{)pS465K z;v*J{B{KvI3oPu!!q?76QJO9q2_Zs-M21OC zJ&X4qGtax{-uvD&Z|0wzRqr|HciR8E@4j1TJQabqv?1ci0bT+t(gukt$BPoslQK&r zIf1wcWK$)wRB!+Xcm=FfCA2CcErku>TdLP4p#ls8M@W8Gm;;;uM!h~NhOoFqz)~hj z&w*S*@QZ=hme9c%20Cp9aDZpPjF|9Q;6+S$KfVLITP&Kd07y}fj`pw1E1W*S1 z$cql?I$ zfE|WC0cZhk2n9>PT1}0qz$2l?Jz$c-05z7eQJV(f1F%TQF9^ABfq5Z0kt`!A=QUG- z3<0x3^7aZjWni76Uu4TjTJ0570o|td_|XN73+ts*W-QA{+Jd}G40!80fcL_>vzk5^ zh-n!~`vfotI1JnuejfJF)?KI3@71b@wmk*jf0O}kVF&*M{gzu-O$P=sAD}xGN{to( z@6f}aNej?Kn~~v5!0goMG|B*X(EkN);vP#HPA4&c29Br1sMJpEx6wVRkcMat?zU(< zz)xUP3cNLH2i~BDybg>AKmP(OuRFD;R^YAxH;8-uUW)tyGYZVDGdtiO!cQ|Z{Dk0r?Z>@ijRHS}frZ9B@MFNtgyDT{z`cJRLw;*l zM}Y?aN4VB9jV`Ta8eL6inV_1^GC?(+WrDJ@%x@{1=#QDDE;IlD002ovPDHLkV1nd9 BdeZ;^ diff --git a/app/open-iconic/png/random-8x.png b/app/open-iconic/png/random-8x.png deleted file mode 100755 index 2350985bec8bb3a0f1525249b46635f6a6a16421..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1119 zcmV-l1fctgP)k9gydzlH zMDc`pfEWu48?g{XR3hdOEd;^B!b%GT8!e)E1V!UrnMM&syiFPfQH&NI7$aV&;1Q$7 zxEA}bNjCrPe7iF{o8*6BNHhD+`%S)Yc4q#C{!cwHG;I@U;sDLS)U=JHg_CJ*Ky}Jq zQo-@H~9a+Xd0S@pOn3kp~n`D~+uOwk7}$|IKWe2RMY`791xDNKg+X` zQ$8w#fCk|}w~4+-s1j=5BKxa1a>~bHC~#M3^bGE#Ntg|^3p87SaRC}eQ$CCm;FZ9v z1MCp!jR9H&T0eogAv(rWK8%^bSAl5_Pf*(5aKE~3u_ecORK7UR&O7}n`0#K0{xB9YTL$5kOy2rKX?cC@?*YT`}*ub7Th~w zzxTi-s}X2Wfh?#dU_|Dxq zDeeYHG6@F-Uh1*@onSt216cqY0yN5T7d(l^W`!TGWUPHBxDT1}I)%RJG`-n1Gw+ zlCf&(T4N;rLrX#;plXfC7CjX+kYAriZGk1BD;#yvQ?VH6FyKpE5;|gW7Ci|y1_M@> zgpSbq1cLY2X&_KhNyHU6lvL#1IHloFG69vueE2HKek$uxhVXd2U0?&@hmxcz2TlSniT9THpYj8Z$SFV2h@A2Rjhst)KRK83esV75 l{p4KA`^mYK_oJ2a{{SIPU5bPNq!|DJ002ovPDHLkV1gE1@e%+4 diff --git a/app/open-iconic/png/random.png b/app/open-iconic/png/random.png deleted file mode 100755 index 792d5c19c98a67434e7ff10f6933b79fe3e66e26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5{l2(&!p-)g8-(KzMh5#}d6(_Zck-sPa+shpud zPtjFxqSuBk!j7}QE4a?dEB}|8o{$(oS`BN#kg{an^L HB{Ts53M)v! diff --git a/app/open-iconic/png/reload-2x.png b/app/open-iconic/png/reload-2x.png deleted file mode 100755 index 2a79f1665d1156d2e140a10f7902bc69f8bb26bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5>Y*U9P$-MRL!(@9^X8fhq)(E zFJr#NVI#l5GfnbJnH`@4HZ}2mE9hQ-qOz;b%b=q*ea-b7vyRl=n5ChmHt%@F;V9;a z6Z5u)Owe0%kz&bqH;`{=)pW(4FHy7Od@(eJR=g%=_#4 zi__yCxo)1S*Z0cIYSL7p_d6W?wLbFf-tj58wY^j&QX})1kLtS(w^GujuU`_^dvqmc e)r~mQpVIIC_*-03aXkd|J%gvKpUXO@geCw(qlWDO diff --git a/app/open-iconic/png/reload-3x.png b/app/open-iconic/png/reload-3x.png deleted file mode 100755 index 55c0d013c545ad52d50ea6197a85cff462c23d41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 477 zcmV<30V4j1P)VHn5pk3vEox&%fc z>tcZyi8^!%JmkM%=0ZXqI&>3n9=&RJ{{aah2tv?Ak*=Pk2!rUFAn2(sy6M(oXLrWe z*_j>KdEkM0o_U_%m*;(79btOeXk6_VIqE724F7{zw9*tMsOj%=tpHh-ie>; zR}A(VFzo8G+AavWg}J<<7n=LO1^I?2U5HQMN7S>FS3Dm;8ra0F=1Lxj{61b`*Y*7~ znFpDczT5Ns3~%xWZrU)`#IGyM8~BK^G@-s6Pz5uZV~=Af>N&-Ce8zkH>?H6XZLhIP TXZ!+e00000NkvXXu0mjfJ66k- diff --git a/app/open-iconic/png/reload-4x.png b/app/open-iconic/png/reload-4x.png deleted file mode 100755 index f7b09c003039f0494f7bde8eccc2cfe5025c1af8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmV-+0*U>JP)}_ln!9sgcqCrIoMnqH)jUiejAX>~_ zyqnw2&E4WYFdRFx^LxHGJHL79lCA+9!y)X!2nNxOdA!3DJj4SmCBz&{F&@Pfe&J7I z`HoB2vP#?u{9MhrALCeV!#FMrID@Vz_SI^8Ebt*$;3U>82;1bT}L zIDoC_#TpC=^W!?c<@BAwWK`D#P{Egs&TnvB^H64KJrt5i@Kxgo43rH}pMJ|_n|GIOm<6y<_uMP2 zUZn!eMRhyM2AGcO4weZ3CpBil%d!DBYTmn#mJM+;0(h~VqkUBb>foAPoWo@w5(Zev{s=7YFfjWL$mX&9d}AZBqw+M%=ur|~h0 zkqogj2ciaYQMjIM!&+hW9KvB-#)q7~i`bqDF^s1((tZ5S`%4tBQ+o-(Ow+90fuwd;8Wn}tdD1Ml%%I8ogbQoE)80^i^`*(Vx% Q-T(jq07*qoM6N<$f}(;GP5=M^ diff --git a/app/open-iconic/png/reload-6x.png b/app/open-iconic/png/reload-6x.png deleted file mode 100755 index e736d5583dd836646ed6cc4963fb3a266deed6e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 891 zcmV->1BCpEP)$u&iVb$oY()E0o5>qx3K}M@Ct@83xl|azwjG= z#08wizlrVcPx*KlqqvBtU8He*h3%N$Mf-a_Ou=wW&Msfi}oU!(ZSXb9K9EWYlgkZx%R zci1e>^-@R*zsep$OZzFR46(EMU_V8b;j!%X|AnB@Zvm+^gd;>dGrb@~sDWFNyee*6 zwbQ^ak-XUQI;CjfawPA~UJB`!h7f4YVpA`Lq%a~LK3UmEU8T4n+rX#&6jg?uvJE`M z;y&ss%pCCx{TF@IRf@cr%zJ&*RhSXs$tTOeE%n~cDr2|!U*W3W?9TI3J|4uk;wJu3 z?+(2le`74Al9z=c6Ekr~h$vUhDE@0{XDp?%%{qtIPYY&KS&cK1HpWsa{!r%!j>kBT zH%it$Ae^;M;{Oh9B%8>(v1O&pLVR-@)?%LU{yWtCd2O@4&x8e`Xzb@;iUGo*?q-Pw zt4ib8l`4LMrQ+wMI?`3VRh9S&28AApZFW`l`Vq{oT6`-Da6q*$_Txerzo)zX9DI!P zI*q%;f# zF?*0&8k&#WU|r*SJ!ikpUVE7z{3nOC_xir??6voQt@U4-_?U+!xCU3^V$8*CoQ-iD z!XMa;pRfgAV*~z-#4E#-k?w5-tFcuO*ffq}43A=di~KUYfjuqW(@d;1xafXy9G~LO z2?0%ULj1Uv448#g*e{OoUae zITQDtCcH>5#~pYaAL3xcz7FHw3gRmpFoX{p5ZNU>F$=47(gWvUDLxWDfpz*mhR-Ur zD>Wcf|DWH6`xU>G>S7_@Q{RYz4X88b58x5)3ZIG*Y_7p+AOn`yxY0)8)7S;h!fQ3S zH8S85)jxG>CP;OSW%#=y$65wtswX*5#ZXoQOR!JN2CS%f@e^@0)k22%wP?UB)pGmS z<7ujl4C}N!1XfkJXiUfrQlbsi_yezK1Lc|b%k^!qr8g4@#Rbqc+LbBDi_>&AMTgZGY zs>J??DgHkL=9M%$jte6TO@>@ZCyTI2nA@L`$b}u7B7EKjkyOZq?W!Vt*#(hQ$n{=H zos6v=@JNc?ieG}~rlZykiWU|ANyw`cJcS zqahbk;i7y$!+qV*NrzVzKLtNJ!;_}P%9oGsNye@t{Gix?&C)K5N5N!4L%6-5?fF7I z?^jV7CB!iHDt-#~Yqw_iw8PWN-vt}QErUslnfOJy32RajY#UQwYKMh!epktL*9u0g zk3lLmGGQsa%FfC&i8!9XG`xk;wr@ON_1c?t(iBO}#>bO*jJDmu-KrTdE*x*Uv~2Nzy<)piY1XC@!$KA6ZxuO= zw%E5J%}UXB;}u-pu-_av2o>K=Y5^at(n-}bH$y_Xd(&z0E_@-B)NU1?l709~AUi`y zwHM$jVT|8|^BVT|Ep8Q_nAVWtIraaEuHzG7$V9_ZgO#Voietjrp-$E<=Bu78brCy+ zA=4=`;b6p`hNRnwLwHHz&6{DNYP@VJ-DVsSQsA!6C{)5Q9v1c)VhR5lFZv&>QeTIc zg(I$QjPJF$O@t!tK@K5T#atnwStQgWEtvRij&L%JFb&@;tVQe;a)s}N#g`p1$^8rH W=Cv_`SK-b800004nJ za0`PlBg3pY5l$D-qUC0ZZ4lG?0%WG*PQvmVP34nJ za0`PlBg3pY5x2Qc_%TxN0+e0}A>x!+RHDoPJd>2;27t1iQy!g+=R8r5#cq^iYVZWny+r4kWAjdIyy85}S Ib4q9e0AEx^UjP6A diff --git a/app/open-iconic/png/resize-both-3x.png b/app/open-iconic/png/resize-both-3x.png deleted file mode 100755 index 804b18e0809369f09c9ec238e14faf1cd2ef2506..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARRM3T^vI^I=5aiJbr4KPO0HB$39ig zEi?ZgkU0GJC&Q&(=lK%Y0$`miu!nk9jL7=6#e3Sf{y;@!5`Vv*p4V ozGzpuGc%pJ*uW5Ma-nt3FVdQ&MBb@01|Oo0{{R3 diff --git a/app/open-iconic/png/resize-both-4x.png b/app/open-iconic/png/resize-both-4x.png deleted file mode 100755 index d4d69fcefa1e8f1604901b24c1500d8577796d55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I9PZ!6Kh}NT5eYp-92(-!o&!r+|MU{);X&S7;u*yJN#tp-Hp+ z(v9R(LQnnHk>YxNopF(EH1h%B8w}QGPm48#a%eY5C2|HRu3^+_xnA`uujw@30c)-e zDtUY-j>aEY%(_72KL2@Z{{#Df?2uU$xu+#V>b&BtsjyYeYBNfGKo9_jqzBiN!t&Up z0spz4l#~w0*GAYe+?jnHBi-LEHzNT;Ks*A>QR_J&;2W5LmxzmJ1VCU!RsaM=WClP$ zM0Nl;M^prWV?}Df%rf%K zEVU&7B$iwmg6aD|s%ge*M02d<(et5j+Ewh~OPy0$##wRuB4nJ za0`PlBg3pY54nJ za0`PlBg3pY5d%FIqW%@E7zDV{8K!}V))F=x&J#VA!VSH?5*B27=v^knlfPrIsN>1cI$ z&8wvOP3cCS_d@>EH)ab@eW8}NBd}IZ`9}8?d;1fCkFI^ctfl=gebt&HCIazKo-w{y a%cNd;%}y)yT8t&oT@0SCelF{r5}E+mT~QJM diff --git a/app/open-iconic/png/resize-height-3x.png b/app/open-iconic/png/resize-height-3x.png deleted file mode 100755 index 6492d3ccc1d5e07adbd77fd759e0c98c907ad6b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARXI1T^vI^I^Rw^$lGkd<0>!8d_YJiXj$g-#7T0uT_YCBHZaR#-g(EpcH;GyqNkMk|L$i)9sY&l!p0Un#w*eQ-@LY+N7S0}97HPzsKqh?UTq`x^< z4}=ZF_dcC7Q%r*YOsMj)l()i@wSqStI^iKrb+Oy85}Sb4q9e053{t8vptPzi?|Y+xJ-4M>HG@&^!-O@5 z4Lr&w@$USP{;yTwUwT@78FOJqqxX}0DJBPwZ;p)K!*=h$gP)(yhaKd6;r{5*z4fWC ztTt&!TFd|YnU!!qI;1zfVzq$yEOlqCxa|( z?pW}`LrueKij#%p&ErK8`(~(w?-9G4vZl&ZxJQ5aNzwX_8=sH-{mHvynbZ#^ozL%D UIo7Ya4fHpIr>mdKI;Vst02+aT!vFvP diff --git a/app/open-iconic/png/resize-height-6x.png b/app/open-iconic/png/resize-height-6x.png deleted file mode 100755 index 1ee046066e89925b14552cf75af5b0eedcea33a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmV;b0agBqP)&(O)|jl%8P8tGk!Dw0y{?9!yDTI?AZbD1=g*?7WhrsI@glT z2KWKaDc|X{CU^x-{1q=brSC$s0*>4kFFB-V!m?+)c*)+ax*2xN7cU8CCNYk-fly|; zHjXwS%rs^kZCuSXXB=(Z%%m}nHr36PW1Mhi$~8_XGc7ev2s1ru99J`08Als)Gg%r( zn`|>ZEo|-{=L)}Z!*j{SYtS3;rZ?bCZ@`=0fH%DXZ>Ac^-OP~zVy8%N8vnL-&y%l|)nR58wr@p@kjZ~hbbFkbsE7tk{o UgEC#WmjD0&07*qoM6N<$g2@`GhX4Qo diff --git a/app/open-iconic/png/resize-height-8x.png b/app/open-iconic/png/resize-height-8x.png deleted file mode 100755 index f041fe0cf9d730463e4a0de3e37adbac582e8d87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCyF6VSLn`LHoqg8V*-)TGeFD>hP7|k9ieHy-N&vF>%FwAN0d$?Jx zg00}d`Dcsy9`0Th$^7HU{j=`1E&Eqavpr@mzjb=(^qI1kX7{hslU($8Gw%v5$#t^x zLq$&-Jo~Yx%dc(9J6xn~Ns%SjxW8!5@e9n6 zy<%{xxu}r;3)>3rfXmVg^c;Ni8+I|6?qz(%bOl||hxr+wOOOY<5>GbIWA(3J+|7iT zYxrE}Z+iDb-b}*n(yO!H{64laJ$q8_r#3C?Kc?g>-^cXr z^tjx=tf9n6(Gb!_3R(gcD(b|`{T3y VSIdkk!02RP@O1TaS?83{1ORgu?JfWS diff --git a/app/open-iconic/png/resize-height.png b/app/open-iconic/png/resize-height.png deleted file mode 100755 index 9409a78dafdaca059487d340c9e0d03332e34d11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5lR$kAE@hi$T;bM zWU*RCrLo`cL;15M7q8LPl_@@$AQ^C4fPbl1)#+7P*>}W$b6B0e_{2o^lKm$(R%SD% U?Y;GaKo>E1y85}Sb4q9e0D##{y8r+H diff --git a/app/open-iconic/png/resize-width-3x.png b/app/open-iconic/png/resize-width-3x.png deleted file mode 100755 index ef245aa4807363f6fb5e7eb030c75d6918ddcd53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQY$T^vI^I^Ry&D0s+#$2I;Sg8@rqi;wU#&h8~V-3J5`8MuO79!-(4 zC=x2KD_^x{ef_?CNiJzihV3URwQW~hFqSL0R54xf&KDB>Fon^Zjj^KRm@Ds|o*T&m z4USs^*Bz)<`y$11(QLnz>6x7hR~@p2_VE^<|J8OsRbt)Mm%P7x%q?#5+=`KmkTTk< zaSre^L4GR#Xqr8a->VNvP2GYLXzT2lY)&HgTHZR+Rej-HX@;Mo}tbUcHn LtDnm{r-UW|wm4kY diff --git a/app/open-iconic/png/resize-width-4x.png b/app/open-iconic/png/resize-width-4x.png deleted file mode 100755 index 9a45be25e1cc235c9c6c1e79be193ffe4aecc3d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IzPZ!6Kh}O5$F7h5y5OMYQVc+0aC1)LgAQbM4WW8@V?>iOL)nk`0@nt75Z6Z2OJHL7ybvO=psNvvlI_hF{v29~Q5^ zp{}-knL~(~?!q~jnB-G0KRT_csW8d+w9a!O*SeEhQ&0W>#8m(Hqlf3yTT_7^W$<+M Kb6Mw<&;$Tnv4F1t diff --git a/app/open-iconic/png/resize-width-6x.png b/app/open-iconic/png/resize-width-6x.png deleted file mode 100755 index 5db70cbae6b74af5e0422e0b3f3767cf1ccfb376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk;P)9UNDA;_b6}CkY7u<<3(`Dk4jguvkL3XZ48t&v&I$NRSoi7IcI6Cw11@2$ z18%-Y7cRiV50V14CTr^elH6Nl?G<2E?ya)+uBhCKtb3?` za;viLrJlg>;tvkbm2q2oUsdH6dJjWf7zOD)+*;j%x22spGd`+P8mpw7;|9F0H9j%E zH1-xi{z@G<=%>USMeZ5_qOz)Nm0KlCR+TMst7OZnvL?4mF*1HKIQ`HXutWe`DxvSRChKS84#+W~_>}nmru#)1aiCqipZXC6-Yh}&G(IR#&t(!Pn z#jdq=1-h5`!_zy`e=JJBD>;7!-ls!2&TAH(GV<)AJqt@DU@5W9_6GyEzXC}o?YHb{~q~~q^ zeStKNT3KQzC5fX}w%AFf#!)M4?4(lSsFgi-Qjg-ORV;Q=OL5dH8at`EIBFG-ozygr zT2;hOY8*$cYGNlf#8Iod*g5B%bIv*EoO7;ie{}u+Y0?fvn*aa+07*qoM6N<$g7UT7 AjQ{`u diff --git a/app/open-iconic/png/resize-width.png b/app/open-iconic/png/resize-width.png deleted file mode 100755 index 8e533745eab83180d663a1c42514c6bf2bda52b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5__3!zRj!(J6*H?WBf0=5ZG$ADC!WP{BP8 zv4rl>d$1QKl~yK=`5&W$8g`OSn#L)_LJ{YQ(XMQW`=Om^GuRwf@tv4JZ^W!(xv}U6 zXV{SCA5Bc=LR$!a69@ex&3}o3(2JoxM9jSG%Z#K3J($E*EM7!GE}6+Bu(O~jOxS1`^?IS1hljWEU@7z0}j5fYw5%2IEk1>yyHNf94qluds|6c}iJi=(d1{thaTOc-HA=A`v-p)5y~NJ7GEppcKQZ}=gLN19i7$ADX`I6Pinw$55lp_-HK{7< z5-ws(5<7}d$w_*qYqjoK#OWk{Br$oRN8yLC9Y=8)?<CC)kz5+)*xk z?5??>-Kb;G`OqB>F`Mx*=of-^An*-&)08kQ?}`a5CnoVEXM?t+d>I#lcBJYQ9qdka zIv=!5xwB3NZ94FmvQ-RT;RIHS_d_^VJpaMn5E~ofX?PwZPs@xv4NXib=k7|_(QLA4 zY=#c@2L82T@wBj0VZwOe-v)k1;6Dd`n{uHwD-0T8!p6X_1b#U1@qaxS_}}aF#xe#f y_*NIb9r;W-uN~Z~VO$$S@|-t{F{$E$^oxIk;?aBYr6(2u0000SE&0vyz^nHoYENlV#Sj1r94s00!WOv0qm7-K|DNhriW zRjRFxv_Z@8-U~0!d*179@2!23liZWv?>z7K{6DuvF_y7VDKof&Z}Azvz(0vLO^uZr zFE(1BizU=$}Y zUjt+kZ6Qai^mIH|FGP$kyn-J}AkHYBggvs0EFM-3otW)-9e*bvK2aQrt%_T8tPy}} z4B^KF#Ic0;Nbt<#p<2n8aRcY^CY~tq_2H`o#O~nhuH?&m-l_!<6W+$Vc)SE6j>N3u z75!T9{Hn%#qHML# zmOan%o{``=74!pj4FN7G&ix*2$<-HeHh7*5^~<3?SOplw$CV_1;Uf$L^9g*Jt3RN4 z8C?wZ;ZXlR)CZ~`|3h)H%_SgS4W4sBe>&)22faV&(_}p_+jdh4;=Dc+^uD0a2E8|> z$HkQ|3n4*g(3cw3+bTcmjV1SQt%mhhT&U6D)4I_bhymGxi^G4@8eX)GKuo#!xBSEZ b>*IF-eO7Cb+4GKm00000NkvXXu0mjfZSz+l diff --git a/app/open-iconic/png/rss-6x.png b/app/open-iconic/png/rss-6x.png deleted file mode 100755 index 8af7b64620edc44f5c6eca670f39915a7aaf9918..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1104 zcmV-W1h4yvP)-+D$*0;aC&*>6l1P3vQ->?@y;2Z43 z4t$re1DM~LG-H%8P(McT5pKbp4&?hkG;5%K4B=^<)%L9GFcky!V+RY;JjNz`|B1*_An0K@Vo5A17jwv@Dj4kDeyy8^k?$OfuC`%)nASgx#9EBOl|` z_NSc3g;*F}^B@y+w)}oqsErLcuEZRx3*ubYDFb8JhigjAle-gt zNbSp{(1W?sBmWAlzzfn#OfyE-$oEX$@_S;d7VL+KIA6N`zm_!dp0s%*^vPGJ+gfd) zhU$3mJ(^z?#5!I4oY-%gUs-430qNmaWMWn(&Ok={>@?;6ADn|-nIy*WzWkne zH_(la$Dele;gukX+E|^@FT!x3d##y7YQ4}7sjlCIlS^tVc%s0>)fxT$fo2qElr<0q z*oI#*m`Kgj6TO+qs%1GObJHxuu{jP~L{b5Xz_!SO`~ zdd5jhaUZ@dVPdOzInBgRf$sG{(aey(byxjfK38Sw9}ZwF>bo9r{`Y79&5?@IIrfroHs zaPAW6i}pn1mdkm;@h^kp|9&7oVVo2#hcB=o2vQN>g&PCS%7DKv;9nW=H&vu7|2EDH z#Bes=(zwQt;-x?rwF$d|8E7kd;^}j>&KdZJ43-Gyo@`v4@IVPf4s`J~VYBMA?QMWpbulzsL WIvjJlbeT diff --git a/app/open-iconic/png/rss-8x.png b/app/open-iconic/png/rss-8x.png deleted file mode 100755 index 0486072d42f74f9192b4cca304a30a7741978ca2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1519 zcmVpuOlJpM)7tWpknVIh_bLN~3I`Y6EkOTUFKY$*f z8`ux*1$F}+!~dI9$Qb@pG;;lm1Y$ezG4MX{i>F-^3Pn#T0AB)60OzM}b&T*0K&gBW zJO-SauKCdsR{#RZ18)JBr|Co##2tW<@-=WHkWI}S4< z%`V_`;Mb^z0F}T-;ARJ%c3=gvTOIoe?j!cJm7J0uZ+BJdZo;#-l$ zJ{_7peH|5L$lN^%I1fo$9s*tiel!{sCT&Q)!GbBk2L{dpaD}(Wj+h6m0=5lz>=T6T zz${~bRY(%1aUQ^L_lbmgz*E4V1_Mi_3;P0gHt>&ubA1dxd0__d0J18(1fd(4Z|q~a zfiI6t+i^oRa_n^}gmhysezY6-K8(eah`0#1)V2%Tnox-x&NRNJ_+0VFbl?Tt7Dmf{ zzQn+_iwSi3vJ(50XftwdF>twNphq!?)B(DX46YeiihbJ}4Nbs+!RR8k`oMhj^4d;c zW5*&a06T!Y@VgXQge?evV@sPi8n`a=u+#LF`jGwqL`Uw$*rvl)1J`WyYV&4C`@mpa z>DO9?q|a8YHgex!;M$;Y3;`!Q*ak-9O63#e?$C-C4V(wi>j`twN7N$@c7egLv7{G! zfnqwg{CrI8D!)Vh{_y(YeRFjt*`)Ne~dOb+6!f=hjt_Gt`U?9_^fISGU2ELUF zM;ZDZ!{bJK06Bx#02dgW7c2S&+_&seQHBgj%h|k$Bu?5Ec>+={3*%{5II>9g8pg5I?4<#9z#gT; zK<+W{J*{x`qi>0?C>*gDOR9lSl}?Mu*VWDuwdm!wYZZ>$75y(azEBZO$IJ0LCs7LMx!#eLnKS159aC9pA8T7T}94F5lV9D?AP&n!g9NJXcrsyvl ztx9q(@=mW4878^m->uj)s221uv_fhB4)|I5&jm{RH%j~eYL6AbbA&HG1?1dqDOKGX z!V_@SC>*aV9QP^uYZU!W!5=HI-M9qu-mp#>rlMzz*DD;4S{)bz*D3n%1XExgaEU@T z5|;wcDE~PEysiAFQEA_!v}+eBhm`i2Aama5N~?gp6Apv67jIGY7b^O@75!R8e}5LZ z6Tde$8T6H0TZC$r_TQBDnM!-F(q0K}7Z#-3fyR{I4nJ za0`PlBg3pY5 z#wUI+RM_Tin6vx7)`>TNR8Kq;m^!6%_7;Pm^A|KX-ziQ~KR$Coo8_B_s~t8?DO%lV zZm2Xz(!^=Q!swi>3EieYj;Jmxp0wj+)vnuoe>CnN%=X(P-;~~|&sHbwy~pF=&jYVJ p`&s`9vC3;&i2NvjwDrL4{hx|w$neI9EdmAugQu&X%Q~loCIFC%j)}4< zo*Ufo}u#KNs#|l1S9vl8cWhK3Yhv@B=An)IpL4UUddDrm-r@AG` z`wOmiQ;=a3x2p(_;{vW>49~GzQPRNus+SaN1asJ{Ae#JF2@K(N8$m)JyN3z|{9 zrFBXsuvH@2#FbWpR&Wi^aK69}<6DX3Gfq|!{E7tI$#74=>?X{K bfcf(mI?Pi`8Nz@600000NkvXXu0mjf8+p=G diff --git a/app/open-iconic/png/rss-alt-4x.png b/app/open-iconic/png/rss-alt-4x.png deleted file mode 100755 index 58799a5be7f6f63f37c798ed8200588425dbd002..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 632 zcmV-;0*C#HP)45BAm&RzT#9Y_4WIA~cX1B=5%Ru2 z`c#M`%>ar_Z)MYNV}Y-V+lc^k=qU@3=R8KRu7S6LtBDX}3aXk~#%UZXI7BMM@#O&I zIgFJJDv|O!K5FnKZDrcsM`y54Ra#>X{tJK{Vnwi5pZFD>4Xe;9Kn>T!)8Kr9@61v| zhwQ2y#6`R=2@y7C74IUR7Y)D{qk@4FAXDnE=;;LC?q(4ANp2-V3=K92*z`bk8;tq1^4_`4@+vfp~mqCZ$qMD#t) z04lOS9ZTb3WW(NI{VJlbYr-(c1H0Oo@YJ0tpqK;IG3|M(5{u@5bZ S;36vk0000!M9NhQ(+ zt&A>{X{VXlJ*=~199;YCwax|45B@J}?ekmfyVrf~)4()ZIEvr!3x31_e1qNCg+HBy zYM`j`T!Fp#3|lZEz@8K;GGYp!;9;CQ_$nW-9Dv#JFFwF+LW>Su-2%*xy;zHpVFf7T z03N{nVFf5-7gi24KpF2~=`aHn_!)N$Ge8;Zv0#`13T(&dFas1ggsZ!)d;{}@dHXD3 zpp9Y-m*EOrsekkO-?$SW^~oQhzpliy!sf2mEzxR23{2PHHB9ypVrtM3un3O}(_^n% z;`V_Ov~?z)!jXi^#^Q(`4D4K8fDb!VuudFod(~1yXu8RE9K^nM><|txM-xF-<5gi+ z%hh(Qz&~{!u6i5Cunmt&+siD&mmR!2#mjXIOBrMvaa~Q{Cf@53VpT5zX2%v>U&FhB z7rOxX31{~Mpuh~?Qm<=0-9Jp0EL5#7Ar6Z# zb_?72DSj=SQx^g*7A|kQfq1jR|H%x$hf)Aa-6MSD$n8q8z0+d+mFTxE2LQ(LLng$> z6~1pIdQAyO+ALj!?=vA{Tk&f%y#BugXbIoMCh&yN=R0X!-mS#O3eWwCUhB&r&dr#{ zyTY5U(&`L=miYeu`9!bXF@Q2A+m)HrkDw*q2AVxh-yTEy#%M6U;dCqz69s0o^2F{)HJOA%}Ue5WSbGy)oqd0!C>20!?8R%CiSBkLk)oUcT4OsF zU_$#+siwLBG@}pi;D&Z3R91BZXpJ?P(Vn!5tDOLvu^KnEBe^2#1b}9&z{J`!jHr_U z8aRX}(NlM#r&6Z@G~;VrUvsX5s?&+LMjxKR>9uA&K%Gu{uvm-9btc`aPA7Y+*oV7o z%=@@Ho#;^U59SMtw%XL`B#Xo{^wyDlm#}E*={GnRV{no1ex8ggFs;9>lllm=@q4ER zFa-}{34YO;D`6eR)tzV&b>SL3??jcTUGWVrs6E3H>Jo|}Z{e8sK^WVPG zeh6RSoc5$uUSkCi2h|HzS~ zNb!x*ZoHS#d--qx(7*>cyC8(o_$s6Kjl%&zLwGP{`qwzx~&r@!@bpk*`crX@uJIu`Fw{o}vXb6*^ zB6>T6SD#RzIY~W2&3}?mxR@)f_O`bP!mI)SCgN}gulWVM{-Y~}Z)snEI676Rcac^Kc<1Yt#iF^t2X8N6<<0-&iLJfWUyZ;_qg99O~O%GtMQim*+U6Tr9P z^@Q=#H(z$kbO57QI2D=`!rTJB%QN`gQa$aH^=yU#HDiZ((e;iDKF_5lJy1Cz#LDJf z!ZH37kM*q`9u;0ip9&9%`*Buz242quU{e9F93`~l+w6li{)JbChh0(i%J*QrIpTF~ z29NuO0?>?O!bGTO*?WpSugE14pDz5C=&`T}fYy8FvVsuiWdQJp_?e)ki5{!V0BGP> zTvY%-uRKfGyCOahCHB9sEPy72B3Htk3;4nJ za0`PlBg3pY5x8J}wH*nKmSsB<#U`0O3-{d5V^=4v>vmAK?O;Fuv$twe0htwDKxZ&`y85}S Ib4q9e0GilF5&!@I diff --git a/app/open-iconic/png/rss.png b/app/open-iconic/png/rss.png deleted file mode 100755 index e3da2c10d753d8a4c8bd263005691f87ac0d847b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5NOs?XuirT@@n49P`h4W| SgnFQB7(8A5T-G@yGywo+C{M=# diff --git a/app/open-iconic/png/script-2x.png b/app/open-iconic/png/script-2x.png deleted file mode 100755 index b3cae8cdc6fd3263a3e74e5b8e1417fe5b4da400..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARX>^vI^I9m@`|RrHR335)dE@!_QY-G1`-q!&la6rv6mG*N@l6%!qx* wZ@*<(cBwXv$sIXa``cNLF+VPTYFf{{(qX@4LEns3K<_bly85}Sb4q9e0BQJb%>V!Z diff --git a/app/open-iconic/png/script-6x.png b/app/open-iconic/png/script-6x.png deleted file mode 100755 index 25a398de521773a9ae4ef3538aa0e1aaa0b9dfe2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hqn7*7|+kc`H+vrhXRHV|<2zpN#=!sN|_7wZo$TCKE->mO&`GLg>q zAG~2xXT3{!n3ArZDwHl|;y$bQt>?R~pRY(fS#m(?27~nj^&**u@CSk?qF%5i@a_4o zU?nntDVyNRO+U2k8cK8w3ix$cDr1XTYrKWbU!1QKy*=^30lpbrpOOMpnwCuX!Cb(8 zra>lRYObN>WR=!w#V;jyuadkUT9WqQkg-{Ru0s)jOH6y8>a3;76Ynsqw@O|(#*>lE zwncJJqbL9K343(<(>`b?ux&A9zE$$mQdWBXwS(&$z>16?zPEp=e)K{30k8(3fAa#M;DMHoW!|&vJ0?vGb3A`~g~-)ipJZn;S$r>5IS{@- z%7w*L?LcwA(-NDjrD;3%vPWGn3*Pf^oB0)^<8N&*h`koBzpJuOiCL~ecSE?yUiP>G f|Gmd%{%4JSoAU7CDg8CTz-RDu^>bP0l+XkK>q@fA diff --git a/app/open-iconic/png/script-8x.png b/app/open-iconic/png/script-8x.png deleted file mode 100755 index ab6beab0fe2891b068bdc7c30f6a164a1bd962a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 577 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCk3C%+Ln`LHo$c#)$U&k_eu9SJ7m0N&;c^bswdS2PUXfwZt$5Gz zV|(vMfnyg~Uo1Ls$RS-L{`WQ`|4(b%X6}1`y5!V(o*Tt1cbJ_OnCgy*`fk0$_?G9- zxs}Ye2|)~(PiHZeG|tsIV=s1KLH^g}v(CN{J#b~!)vZSLE*qEs-873~t!^{Jx`yQD z!cWVXe6-k@c^jFV3q|%svj{NWW_zsBv5Kwv$BcTmbB)Kg=rxEpXRq%*`S`-t8#at* zS^s`(XmtO-M*B0vIiX)=F3X;$Ze-gLl*4eJGdG@1DrmAh!@BGlK8LqN=rk==V_6`! z02{GvnOMWw?-Q@&{NdqXT*1166Hc6bZ0=~$Wn_XuY6#@AhpLJ@2G@ zk`Ap!@)ZSw4=rTFSnY}@E_!(QYm?ST$zA`urf)ZUYV+;cD#L;ovqQEsG_8Go>$=U6 z_V!<_0=c35OCoN(K4QG^%=W`Ge$0)3z497UUZZ(J2t)8XDZzTRor$g0b;tDG-p=DT Ues$Lqm4nJ za0`PlBg3pY5_X5 BFRTCn diff --git a/app/open-iconic/png/share-2x.png b/app/open-iconic/png/share-2x.png deleted file mode 100755 index ef5679e02c2223e8e63c9688b033c44b9c2b8a3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5 zY1r1p;iMqGLGbmR!%nIjp4@zMDDCdi*lh(5LXAH^uXQf1y>>!OE1|7jt)YQ+5s(m- zJKZF^C#h3jM&LOE%xZ0XRimqZHUV;TDF-H&!O S@CX9^z~JfX=d#Wzp$PzLL1vu* diff --git a/app/open-iconic/png/share-3x.png b/app/open-iconic/png/share-3x.png deleted file mode 100755 index f1f40607f24bbf51efdfc190358fd2f88027b01a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 371 zcmV-(0gV2MP)K(LXCiaU93-*X{aWBnHYT zY>MShic;#%CX2TDCbDVSUxo7jK-}e5# zKfk_Tisi82d}ab1p;Bf+fMZn4EC_IhzA_5}oMW)ef&iBo34uJvna3&?F^egTqF?&n zZ?J|&nsflWcu4tWo_B}IB>57a3W%fcA}-&+SC{0kn2X9+(Cm`Dp>@084B@3q@;B7t ztJzBc-*Jj9EMN>hvALv~<+!|p=LqzH1B}PPghb_^s3$?S2=pknyPO40tfxWYdhRjN zhCD3z#^ztpiPm9e+LVU{+gZ>pb~=#5ejex=y&V>0rix))l~n-KWy=4PnID!NnJVRy R9Blvq002ovPDHLkV1jFDpN0Sc diff --git a/app/open-iconic/png/share-4x.png b/app/open-iconic/png/share-4x.png deleted file mode 100755 index 34d1498d1499c219d38be44fea5b5a8ce65ac8cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468 zcmV;_0W1EAP)11P5`Gps^Rw)=<(52wZ&wIyvYf4lX)GO)d^14wZv0Di}dS(ZADh?uEnk zp5r-s?|l}3@NDP%e18wm9}e};y9UfzC=nLX60$&qC6q!Ih_HtCkOd-aq9bI12=CDu zvOt6#^n@%BVGsSukBeTFHax)?M)3#_abLX8w_SenKVu33ErSD4a`~KJI1r1jVjyM^Y$C*n1T_*R zBpHiIa9L(&XJ#k4E98UI&HnFqF0*&e4B@yIaP3lva0@M=MT!zF)IGF?RVhYPQN!p6 ztCOFosvcls9 ze;g;3JAS9hPssTub~q($*wTC@sI}gt0=MR1LeM-emL!`*lKd176bXA<6*Px4rD)cs zT7DV>MS|9fg)76(m!ghhZx+WJ2|8O5HY&rcQ4)*)vr~-* z-SBTG_B9%og9zu!2pV1p8!RI%2banUdL}*rHkB2)oU~#i?&51;m%@C(uFw*V@G!JM tBeaRXS&oDjX@ni21y)#Lg%$o^{sIV*LD`4dYY6}V002ovPDHLkV1i~nBKH6Q diff --git a/app/open-iconic/png/share-8x.png b/app/open-iconic/png/share-8x.png deleted file mode 100755 index e3a1d334c6965e174a30b68338dca51fbf748378..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 907 zcmV;619bd}P)axIdf*_KSTF))|hDk0bgTbxoGXs zYXAXza9y!89=}(JXj!acB&2_;4eJU>%-f=#T>;AxCx7KJ+8skn2*cEOWe6QALnJr z81O7!ulYHZSb#CC!!Ddq?;EY7RSkFjhnuk)UtpraLRIuiQ>8D&U%Zl&Pw1DsGn+;{6U3$f0*r%P+&h4g}Aklej0P{FC^z1Hp6X zH11C+zp?|Nb7=yPq?CWU1EF*3sg&}|#p~(Pp>t_vO8Le3y#t|hX-!J`5$xdjm5MM^&HrA9x!N%lE{lN{)}kJJe)etZ4WV?yG9rhtw=Pad8!+Iru5TXabvX zOQl+alT!Y3Twc{^X@b!X+)>pikwG(ki!19GtslVT7*=R^nL0@MA8>75qkhYc@5Oyz z+w?2HSKKbw;?_PU+r^c233}x^AggFB~~OyKU^CN(&l>ogu{ z!eGpQ2k>eWCN((wr99S@!Q|`zU&TYBO9b&O)fgN6JAkn!jVkg&(+1nb@?SXzUr8Sk zUrvCR#6g^Me1{+PSsl$*M#O9UHzlr)W)p|7sC0;uY%d+4BqR8+bcm9Sino>HrGpF^ hGGxe*Aw!0=&EMIuQc%A`EN}n-002ovPDHLkV1k1nqxJv* diff --git a/app/open-iconic/png/share-boxed-2x.png b/app/open-iconic/png/share-boxed-2x.png deleted file mode 100755 index 88df7282ad17e18751645243952087e9fad7ffaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5`g$WeuKAsK zyi(=-lXH7Ij(Fx3r=8pR|KtHa(N`%&QA^!K^hB>jEO*m1ILaA*NBX;YE-SOl$1?)g zZhSL}{%w&QrqCSS_u#^Z)hYM>8GUcz)SHnkk@J_sot3+X>&EFT9^A)T3s!8)*ID)X y^`d+(r>`Fz%(M7ITv>j-=4QFT;Zg_C*ip-h2;qErX}4pUXO@geCwxw_$+* diff --git a/app/open-iconic/png/share-boxed-3x.png b/app/open-iconic/png/share-boxed-3x.png deleted file mode 100755 index 41454c3e022f83635c7f6748554c6ba739ed2139..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARS*kT^vI^I-g##*K>6gIsWl{b)dG0SEri@SLX)a-eY2K96oW?3t4Yq z>(q^CZ|8j>!o_+p^zIX>v}ZiwPp8j$<+Ja8vD(Z=**lB0LsZ;%y79`1mRNf7-cx!} z5F_NWxyw1`p`1SF^T|tGH#BkYS(#sZN$bYpWCoixmopQxEDorOH9!At6MR2G{C)4_ z@)=(nCM8JnpPYH!ri_(_=}TACzBd8Oc1SlG>zi&bT>RJg^=qkU eWuBk$pBd#`r}$nvJaZ1v{|uh4elF{r5}E+jd4l}_ diff --git a/app/open-iconic/png/share-boxed-4x.png b/app/open-iconic/png/share-boxed-4x.png deleted file mode 100755 index c5a06badbeb7ab6feab2b27f911ec07ee84f2422..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmV;F0c-w=P)6xfqf$K$540&}>X zHatb(sG!+rMU}#11(xwTx_*xXY#KfZRVjtX3Umyg^Zf{5QU4%3Mxc#H>}0^l{R`nS z0^2yugsXzb2<)O&L!dHM0;^5JTLEaJ(@v)So3K!F-UU@jI?+Erftf()9!U8rs+~68 y8tnfPBXHfIz*Wqm)L*lh>fr(lQyXQLf15A<0|6$ktANP>0000bMq`-@3_+B*<3(#R%2d;ps<8kxy3GVJd4frk?&votgCUzmP z3Vg(XcOg&(o@2qg5V(j5Z!1s}O!}iN6}*kWH1IIcb5C}9Ov!fOieMZGPcFQTz}5ix zngOhYrx1QvgG8VL+;y)zA$u)#6&3togH#~xUehqf9L*zw?{Clu90R9jd?Fq(e6K+( za1G3x&PB r|9^D1146gEbMD!|mnl=GOuYO7ExB9K*y%zc00000NkvXXu0mjfciY&R diff --git a/app/open-iconic/png/share-boxed-8x.png b/app/open-iconic/png/share-boxed-8x.png deleted file mode 100755 index e92a036012ccc1fa95eff93bb91b7a1376e3fbbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 742 zcmVd=0i0?ncBuI0130!0g%%+ahnrw1$-U>C z_q^vlY0d+OF1c@hzvrGNm)r#Y(+1Xn4PYPWM_SrEiZP@EY!RjG2$B%<1uq8y-V!v+TM6)za9joSfyYe;pKy4BIZ3(*ECE-6OTY?n z4p;_G0gDaCJ{bIcSoa|7GdPYe@ErK=kk4h+?u1+fECP3c9}bzKO0X8NK($5p9I{B) zlW_qo1*`(U95Sd%un^DzJ}Q(8l8{=!HDK4E^h60M1*`+T49XAJQ@?@Y3OVQm^~NaM}W%Wl(lvd2Io!8I-LpuPLBQ^*?4^xVF5OfCcm}X``0c67VX6 z!cOHi1Y8FGdW7o;i9rTfjx&G;uy_5S4El;49$znB#YVo4~y1ELTM3 z>js1f7(M&@z-^%AIl~uG`AGvp1Y8+8<{NO{Cxie|`Edh61-uzNeiJz38$y7n{LulS z0!{+IfuE!;55n@J10(`&00+Q@&=3Md<%a{L0$v06Bq0Qd%0nChA8@3|mSH9`<8cBBJZz`F=Rtau+|$ULx3 z^Cv^Otu3mb`$VAwe954cPx<9o<%hJXzO1}Sb(6!o4nJ za0`PlBg3pY5Y?#>C_|Q0HPbaHq zP%n^a!OYAoKk0^kitr&x35k{oD%ls-CZrx4nJ za0`PlBg3pY5+fHGZ2ggTe~DWM4fRti4A diff --git a/app/open-iconic/png/shield-2x.png b/app/open-iconic/png/shield-2x.png deleted file mode 100755 index dab3671cdcff0c2a33d4c12b5a2279e464a99a34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5{#Y|xx@;Ms=f2{Jd5()YigJM*rpyl}=NuIV=pRdkkV zJloJO{zv4R@i&9n#%2XgaY;Llm9bqpY-q;z?Dmrn-0czG4_qB~<*9_02c9npXZ_K( z{KlGTcf3UxM0X1&>|_ZLEjOKWH0`r|1D}qo_52xUI##(wNOYW2-e}D9z(mwk>1X3l zd!}pMQ*RX(B>uSl?2P+Nzq1b%S#o=(GQ2aK%KYK?l=q5n5;i8(^~R*GSulI$pNy9M kLB|>IEz07)Y?&x;C|>;A|3+T~FbEhtUHx3vIVCg!0OBo*2LJ#7 diff --git a/app/open-iconic/png/shield-3x.png b/app/open-iconic/png/shield-3x.png deleted file mode 100755 index d44eeb36ebbca289347d669af07afe8c0640b813..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 465 zcmV;?0WSWDP)y;nYY1;~foffy;|&Ij1i!*JR1$*gtAek1 znHAcNc^sq!onbixwvRbOJV^;Z z#^b!`6pHR9J<**H4H|VHgJRpA%_JNs&L< zkdczuO0z&pi6~@aCp*Q)Mq*{7Nm(ds3lXzXM9e}IGBg(cEN*HtQ))y~%HWR0xi`~y zzdPsOz4xhiao+R2&-3)1_k8EPl*4=+##21Op+>IjSc&tP#7q#Ma26}NAv}m1n2rdC z@e9|nt*YoE9LHD=(RT3~$Iw?qcmS91Era|AuI4oI6+>9pPBg(@+($iw>@7}Uaig}# zj?{4vdm5VHG(Kh&{>Clrh?pt*c<58U99+BRDAEyIn>64{0;a zP9Di2+9?Cy6MP8>6TQP!g7F|Z&_e^`3El-NW6cv9q7un88!I=&l7|h^vGbotG)(#oCmL(3$F%=X}Vs%9WpRqKL z0oWfQc!MP+4b-K-VTEupLNtnHB@A3BDo%Pz-ieUau(^PNVd)!I3Vm7+s2S<-F@&`l z;v-mCR=kORJjf7=#a#sllDV(|R|<$<)}>+ffcRkAj0x$0(^d526kgzGBc9`=be=4P Ye_lDZLF)j=$p8QV07*qoM6N<$f<#OAf&c&j diff --git a/app/open-iconic/png/shield-6x.png b/app/open-iconic/png/shield-6x.png deleted file mode 100755 index 78b0f1d955df3ed142291ebec0237d62bebf3058..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 876 zcmV-y1C#uTP)v8PFWsJAf zFW7-uJ)=v|D>#H<_k*|AFb?A7o{&z^RJ@CCb%u`B8N7`Ls|25mPjEd4cx(NMkMVR_ z&^4^Y5sVfH-dcC@6_ynR{s^|>$BaPVtdX<^r}36_^LCj5#_2pQ4&gH_OaWb0fV+fQqut;oY!Rl?JSsE55L}H6 zZq5l_MS$Py!ehLho+v0lnYvyVrq6bIrb?2Gx>CnLWN==UBpEeO$A!pXAL z&P4{NVL^p3S#%B_7JnMQUw}zjGtj@7TE{KnwYQyC6cC^+oxyPP8b2QS&@wz!4Nq#_ z!@NlRRISfxRMsW*(nOP*_Ddn-I6Mgh{M>9_pJ4K31YkAhyAhHoY`*wf z3cjh;!ctz$bg=Q6ya7fOxI@#bO&!d~u-m<-J`MaBHkJk7)CXOF{DJLwDrJBo77@Bq zzwmA4nPDc@DBi0IzNrnm+t}_@w}h>&o@kNqF9ccP2ekY+?}Z+f{IHAFLHYL{3e^f> zsjn0G_gLB^#*V6CIra%VJa-y(NqD1NF20+YN&f-C<;gf@=eq|00000!`f^8e*f9Gwby@94-G8D$M^^fFjSM4tW3ef z*oGq=u>}uda&77=*Atz!H)+;uByjX|3Ffp_CzBmt$W4H3g zJ7X6f!;FkRdggkp#9`@-cgEj%9oOZtRLmsYkIkwxeZ1I+`*2$2F2~_wEW_`SVyleb z@H8%})G;RDHhhp!{2vMXI)e9c%b3<=oQ+2@l2B;t^qrJA0j>BRk6>y)#;?N5_%o5H zzpw)HI>xE;@;HQ-aAmCNlW{M;OekUmOEK*@V^*1f_V^t4;H2?HT!1IBH_>3Dcn`NK zz8-TWpcQ-Y1ZK7btU@zU=fC19%q}opX98N$9P^%}voC~8=ae3d*PVb?ls@nvUeLo0 zW>6E*>*>E0OK@hN#s?t*hY7!AQNt$Q#(d#pMoQ{Tz<$Dwt6QVh+U}SYP-g=6G_bEg z;Mdrmz~~^duOU49yKznqB{i|Pft>}7W@Zpl7dsom#GxCraww^Z?G53v){W^nBZHVa z*xJCRh=y~kR#Fq28rTrg@QSLH)WpUHe#Q?44X@20CO6xRJp~Bg?z=Hh`ZvJ3S;V?br3H0-qV^xxJ#c>5V}L|6yt#x!B&<-bf< zkF$hN+TAj^F0r7TzkU>9RclvSMLCyr+7$ay%+g5o#6Z6YA5Y6rWdfcnsp(%#6^aUq z23xD#JfSM{yCtkUUK}~-vJ!n)m4KcedojEjIq(BL_FIMdSIb%K&QxJKTr_x7s11rG zwfPa@8)hZkAg-X|&{*3TQkp+3LmlzbNHP0`0_q}CCSXYde}xPQpOj(*9mLHA{iQO$ zB9Xr+P8DBF*~Eig`buH`Q=!N+E7OI_kyw$h;Pi3&>DT-gp`N)GX6tQd$dAGnnD%LO zKjwGh!V3LGF)X|a_ac0=u+d^hkH@vgZUeMVF-P1xLaNvyY}yzoX5l;4oBzfD*DakT zth!cZevJy>@=`HTs2ERad{ijsPr4PRYUWFGU)X`0GHXx9WIU_feuO5T@jt0hn~T@P zZK`YvE7ij}gyr6{elBhoW{Sg(?jzbI6kx0o5;c-b&_A4nJ za0`PlBg3pY5udFD3DMK5HREa$wx^jMtItn96x z8`upBHXPJ${c$+*U-8cNM%KO^kK2@FG%h~qV*YhPTKz}DQ}_SV%?=8$td!%_+h}=Q x(&)+wbz#$KkDuxtu{y;!`{i!ixD^{@pNh|4CC!-hdmhN;44$rjF6*2UngFw;M~(mh diff --git a/app/open-iconic/png/signal-2x.png b/app/open-iconic/png/signal-2x.png deleted file mode 100755 index b836edf2a69e525f5f939150d2486724e137a096..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54xj)O9~nP k@+zD>Z&G;B!<>O(`aKTuhue>o0S#dAboFyt=akR{0Do;Hz5oCK diff --git a/app/open-iconic/png/signal-3x.png b/app/open-iconic/png/signal-3x.png deleted file mode 100755 index a6cd70a3b7a2f7f065076dea6db90e39a1cb17d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARX?WE{-7{oyjQ+3k!Q;mYgh4L z1POYsWEGeA3e!_q5F+&q63q_!qpVLHXg(0zi%Z0Va27od?0p00i_>zopr E0A(639{>OV diff --git a/app/open-iconic/png/signal-4x.png b/app/open-iconic/png/signal-4x.png deleted file mode 100755 index 5e627e5f1b72c3931a285f5dec41a781e32836c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wrr;B4qMC;ot8@YhGT?2Xl|DT@C%g%c$=H2a>M<1L*Um4$B^V`6V z;Sj?H_WYLmIZO940=3P#)41C9{H1$9CWBAccN_0&W)PDhf$_d1i`#_vPy9eUPgg&e IbxsLQ0G7BiVE_OC diff --git a/app/open-iconic/png/signal-6x.png b/app/open-iconic/png/signal-6x.png deleted file mode 100755 index d01377c65e6aeb74b9f379e019f032f42e4e3b84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wsr;B4qM&sLS2e}vo1Q-IJ{I8!W|6oJcM$`8%4sBVw_Njexaa?%& z+egmx3>wlH*4pn-{<7L->HG#p6Xp!I3p@)X9jtG*u6t(|_)4nJ za0`PlBg3pY5)-#=znE=9B)lfSj&q98xShP_{9i-+ zdu`AAmAr!(bQfqgh+PnI;Lgy~HBh_%F>>4e2Br)~U&bvB%NU{@f{_$(EnqdN|HFQv zx^CKA^95KWSuZfn0_r_$Dz^W5`pr6KkOrt2F7seom`gHP+FGO*ngM;l;OXk;vd$@? F2>?7iRV4rb diff --git a/app/open-iconic/png/signal.png b/app/open-iconic/png/signal.png deleted file mode 100755 index 4c47a64434935ce9984338b22b9521f609f8753e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5NezrSToMJEKm0uy{e(BXQaQ~V!N{;@ XIScp9)8Byl85lfW{an^LB{Ts5tF#}v diff --git a/app/open-iconic/png/signpost-2x.png b/app/open-iconic/png/signpost-2x.png deleted file mode 100755 index c7638e75844c1c2d9bfb960d2d012f55af0796ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pYARYOhE{-7{oo}Z&@*Pm%V41#+|8u6z+4)=9s}0zA6J9L!aeBm9E~Fw< za_8>MDdh|d?MrVSUe4qu-5PRx&7tk7(+V~p_{?T(=zUhbp=(>!QN`Dq`F^sj9aDOu vT_$t6?`DwE6gaHk{^odnAXm_YCIz|aVK&XFe=iyUt!D6a^>bP0l+XkK9`Zq` diff --git a/app/open-iconic/png/signpost-4x.png b/app/open-iconic/png/signpost-4x.png deleted file mode 100755 index 3948711e033faad12036899b5bb265bb3fdf4d3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}xBr;B4qMC;pYv0M!b0xS;q%zBthK@hI)ya|frsy+!o(^R&etMaq*VlsS*u4~f1;uzZN5)|9 z9oPJI8FU2yeavZEahEyI;Eb}Z?nR*mVS0=ur^{Id{NX|7G#Ui5_!jzE=6Ja>Siy z-sk2cOxAJi-@6}L*Hu*b$u%gTe~DWM4fIjwCc diff --git a/app/open-iconic/png/signpost-8x.png b/app/open-iconic/png/signpost-8x.png deleted file mode 100755 index 6ec91a696a78b8de2936c0722490f1b109dd3fa0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCBAzaeAr*7p&T`~yau8sV{+MW!J8zr)Wo9{^i4HM$rHo=Z1CuAb z+U3zR`QQ1+5B_F09M&`c^hmORA*$gRV+NxX`vTUCKBksy??29ays72a@p!X*TmvQm)N1K-{`|94g^m(&`*xG+@ zXHR~9JvsOy$LHIhmo*7KJNtTBlHfMRB}syItP{9gZ*VJ!b{0JQ-mvns27hV0B=fep zi@sE>{DDB4KYvu8KWTsHKfgjDvfE@D#1@b!FmJ-{?N#!Od!_;djlt8^&t;ucLK6V0 C5|Bdx diff --git a/app/open-iconic/png/signpost.png b/app/open-iconic/png/signpost.png deleted file mode 100755 index 97a929405af339f0f695f5d631ac62771b94aee5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5zopr0PgJ`Bme*a diff --git a/app/open-iconic/png/sort-ascending-2x.png b/app/open-iconic/png/sort-ascending-2x.png deleted file mode 100755 index c500471b0e830d59a768b251d3730670b59f5a01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY55?7JlUYpMJ)fmKt!9e&Ul z@M*_WwL_DG<1>q9Sus3(+N?RPQSzl}tjrek6&4nJ za0`PlBg3pYARS$vE{-7{oo^@kay2LjxXl;5yKr&E!go(vV@mtpU05YHljq@-&b4n2 zHk{F~sbib#yQg=O`^(M}bM{pqem3q)P}6L6n=O>7H_1iv_LLXp7nLpby0&NrChNUw z;Eb@mqv%|;c5R}bG`CKt>&ghH|JiN_>~+2`Tt9=c;8cQzOjone} yXBj(xJSo@Q88hQYY}c9AmG_s<+4d)a6A{68Hv&-4Sjmci52&t;ucLK6VW`Cg^~ diff --git a/app/open-iconic/png/sort-ascending-6x.png b/app/open-iconic/png/sort-ascending-6x.png deleted file mode 100755 index 9df9811af21c10ca9e115017a73b34ff3ec1af29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J8PZ!6KjK;Uu4)Qh|@UULsU$x8G{iW00&Q^(5S&OahZQi1*&2s+; zzqIeTgxY(zoTI&7s2j9iA=d7}{s3;d{@MXNA$64IsH+99satFp6A`QBaMY`^_ z>Ri2?^Fua(!HhNGa%=}skw`=ClHCDUKUgnd$l*G$Y`4H{rVW}5w|O2gCLI5L?op-A zz5m~hp2y#1%xQF;Q@hP5T-cl;`|#2AseQ}VF-&9Yjz4uHb5ZTYsP}REzqwwn`fhbw zT=VNY(YM`Ss=oiaCVr*r`=(!ux`FIB-RoZ6ef@&FYVUpqeesPej@^544d_({Pgg&e IbxsLQ0O*N>bpQYW diff --git a/app/open-iconic/png/sort-ascending-8x.png b/app/open-iconic/png/sort-ascending-8x.png deleted file mode 100755 index 8ec92070b75d67ea0570a3ce0a7d702c5b23d395..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 409 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC)}AhoAr*7p&N#?>$UuO_oZ}+%(hCB%7X_9sVUPQuP&1*UKW5U# z$+9Q)rx-+4@;~;goY#7O_mj`6Uhn0fPWbcbSs}v~hF<0ctQj&4x(>xlSf~7vJ-_L< z>;r}jMk#g&?h6(SQ4P!5iXFb$EjaSRGWomp0mchVCVUNI3qU%3d7m@fXP*F4bPOiG z@}bOzFSQ3WcHd`&DFa)OWx@W#uHgtw8A$tC$4jA?oZtU{8XVTS@_j8&-s*yhSJYFU z$NhbM1D{gl6yT<&T c7eemGcl@+=E&Qt(3JhBYPgg&ebxsLQ0D&N-p#T5? diff --git a/app/open-iconic/png/sort-ascending.png b/app/open-iconic/png/sort-ascending.png deleted file mode 100755 index e156d2f57febb245c0b489c8ed0c3f37bb9a39d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY58aofQ)~XHgRiw3NZq)z4*}Q$iB}A745k diff --git a/app/open-iconic/png/sort-descending-3x.png b/app/open-iconic/png/sort-descending-3x.png deleted file mode 100755 index 4126067448896d7b7e90d0a53eed9b2f7d612f3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARV2aE{-7{oo^?d=50_AaFIWDqj~9t3APsn)L$=P_p2%hO;V^?q+WAU ztz~ZPq(qU-Z4cH6eUEIDD&(GTZ(w$2#hxe2{JXt^N^ag*?poiqX-SaC)^+~fR^AsG zbQ+#}xJM|SpErGHlF0+5?xd$K@n?B%oGH@Ym8Nz;Wt#NM{Z2phuhvap)Hu~`zkk`| XD|#G%XRdkrSh)jR%B zqr>Ux-xkXjZcDiDdT#TJ>?YL!#%71U3&N2m>l?Txd~kRtv!h~JC2L5-IY!YB$7L$M zdVJPP diff --git a/app/open-iconic/png/sort-descending-6x.png b/app/open-iconic/png/sort-descending-6x.png deleted file mode 100755 index 0d3e1236a504e5959f374e16d4c94548d8b0e2f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383H|PZ!6KjK;UqF7h5S;Bi?mn#Asws95&ONp`9A7j8R`dI7<*&f3lr z|5N@`k6AuF_ld>+{HgCJckbsbe)3S#gF%`zq1bap;A=l$iGQpr4ZSQIPQGwjo3?QM z-JBod6Bx{d4!CU=04h>u%&D5w8WWq1E}F)`&tQGexI6XghJX8~&+^^Ld_!is#qMoE z+AY!zrXN0KuM|8bdO)b)=h8WI+swsR)@}ckujlkP?`e)+(4V}cv%5?7NB^A4z3Tqj rD@7Mu@2{4nJ za0`PlBg3pY5)2HC7M?DSAr*7p&N#?>$UuNayyZn>P)5hRO9D$TFzZ(&*m*oq?lYdA z;{J)7)ot~iS0DV|+Gx#xFE#)Dsd;}s@>noLH5_BSz+}SLAhy8r0@JGZoUu3mNIzi6 zV3cBa;JyHoS34|s;kVs`=kqrHG(P}STgb45!MDx!z;{L!kX8`4mw5qehS3|wwci#zH3&a5>2R{j2HuGqOrdAyr~=SLULnmTz& z_TnER&!b`l`X;q?C7d@FVV`p?&cpV7;Imh(DfbqCdB<7;Bww|fe3naH73X33J}|0U z@#`LU$=lrBGrnv5|90rnGh45<;$lE8`@SC1dS-hnU4Kp1y~TT~69Yg0W68K_?Yh5M SY!NVE89ZJ6T-G@yGywpzTBKh9 diff --git a/app/open-iconic/png/sort-descending.png b/app/open-iconic/png/sort-descending.png deleted file mode 100755 index 4d09b78a94d8f77840f21da2d6e403759cb6284e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5 diff --git a/app/open-iconic/png/spreadsheet-2x.png b/app/open-iconic/png/spreadsheet-2x.png deleted file mode 100755 index c70071f07a55b2162485341d6164998debda77ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5H>zjpC=h5N@7tyU3BIQW(|ciXq@(K)HC zvSIOpeLYROrW229tSoK5@@a3~qC+BcYA#xH7`{n(_ho;xez`%(DM{{Y4YMEB9O<`Y Ykk*sEJLPa+2G9-$Pgg&ebxsLQ0NXY_`~Uy| diff --git a/app/open-iconic/png/spreadsheet-3x.png b/app/open-iconic/png/spreadsheet-3x.png deleted file mode 100755 index 97fac3cd280466f2f8da7e948eb0ca030e753c61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARSqrE{-7{oo}bUbP0l+XkK0zOAN diff --git a/app/open-iconic/png/spreadsheet-4x.png b/app/open-iconic/png/spreadsheet-4x.png deleted file mode 100755 index fa6af8a336cb688974b4d0effb89a16e1ce277db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w;r;B4qMC;q>zFZ9o0YPwY~K-%1M_5>O6_Xism z8+`6P!OW<3fSGZJ*3pSoeoI`}9;>XFt~P&TU`gi@pTno;o&F?aVE=!W``&dMA~v!l z{Np&A@4)bhk?{mOi-Np>gRotJ)VF@y4GgOV5Ad1AZ)V6j@Z)z!(C1x@=YrEuNYFVdQ&MBb@013cLmH+?% diff --git a/app/open-iconic/png/spreadsheet-6x.png b/app/open-iconic/png/spreadsheet-6x.png deleted file mode 100755 index ddd1386da09f97265a6486656646cdf90478007f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383J0PZ!6KjK;S&1G$E=53pj}6Yg|&cXoda`;ajb3tvwDKBevM^wfpa*k2zLVi8;|pB8AgY0 zrwkx$|=J~6hZm*0E*{Ej!d>SXVQ%+l^`d_%+KJ%*=D~lOT#RI(mna}zoUI1c# zj`KLndL_o;Y_%eg2b6u^3gWR|`In?WrKnMl{oN}O;VYH}fy-w+;CZ-bt5bcBRms!? tudXhszi{`QLQKxq^F8f#6~@MM**`=bHQ%59P9Nw+22WQ%mvv4FO#nGrbyolY diff --git a/app/open-iconic/png/spreadsheet-8x.png b/app/open-iconic/png/spreadsheet-8x.png deleted file mode 100755 index b6a53aca20b89f3bce186c2f2d8d63dfee341212..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCW}YsNAr*7p&fe&C#6iT>f77v3VFd@zZx;NT{fFtV)YR1N7uIhO zExYd39VxoaK+H&HeZK1&y(w&M zSvK3LbKAH4=#OGL%wxfRE~DS_gAMb##^A_fk9I7s`Oudm-0ACHDL-rJcGeuex&nXm zqS`ksy|(|a*Sx;|htq>$TZ1pt2G$&*2Hk|o_Kwj9)EI9tnQ@Unff+d0bh6)2z^-K0En`UUi^?+1g;s+8{53WuVxcTM44nJ za0`PlBg3pY5L#o2%6A$c_`8Y#Dx0p7zHa0#~ hlym*gIrAI?!wONc;)$78j{&tZc)I$ztaD0e0su%sC7u8P diff --git a/app/open-iconic/png/star-2x.png b/app/open-iconic/png/star-2x.png deleted file mode 100755 index ff75afdc91e1d128c1c6765386eb432c85461489..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5C>d2@ivfKk?a15@?^DV-y1YaG0?v@&E) zwj5!JtKwAsr}2$-!&Qc@p#ghjE_Byti~bK{p7SV0I*hyak#+RyU5z)7G03d4xZa+^ zn9=ywxnlAeU(pRIE#fPCSFxli+j#eC_UeCOPUl(Ns>8kf`19p!H23cFs{dPXYSyHm v#lB0HztQZiGMsaeucV<{=0QsS^=@(T20xa6sVrhZw=#IT`njxgN@xNAQPEdh diff --git a/app/open-iconic/png/star-3x.png b/app/open-iconic/png/star-3x.png deleted file mode 100755 index af363af9a5c520d64b87a0c6752b21e7825fd9b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARW&Q$lGin;5t8ONka1)0W}B7##ucMX-TY`*rhixr3M8$ zOg0fe8o~DNK+Q`Pfjjnp-tga;!W8a(_@u>x306L9uPAyo_D_+T%o=D|EbFWLU)1IJ zlShV$mz1~^JG)LEO+FUF0fhdEP)5Y&406h1H@DT`^W;D;09``zv(9R7gfMZ z%8em{pjMuX>Bh%_;uyyEhcI{%q%1FrVQhbK3@Q8F7(57aRu{pLvOk331az52*Q!o> z18@ND1)JZc=a+UsTcCL>y^`7j&5F$%=`pFL=i-aERZGo9lDAdSxybUi$~zZk-WKKJ zS1VI2Tcg+$v5UrXE`GII>~{3nZ^mFjpjp`iXQ_VXx3iS8|MzTbnGwd2vR^yfT4sd) zoUT8MO`YvjW?Uj080?>$<>R}=jbX6go8{xVaACL-&+=g|R1CRe_ymr?Bd~#otnt)d Zcmu|{Eyfbbx`k!J;<%?`j;dBBhI!vP#!4V#;* zA+rPU=Ss#%N$41PJxp%+{{@C)H0L8_q#_g|GZdpapWzsV_{bP32&JeD!6?LM7)B{R z5=Pd97$RLWO7ZEQ5yQuvktLxL8eKAC_(&L?0K5tg@1$x!Z&ZK00&Q{g+Vw%r|DWeJPo|ybx rP>k4R?g`)k;8E98Q6BEBC-devXNj&S+-&`+00000NkvXXu0mjfMhD(W diff --git a/app/open-iconic/png/star-8x.png b/app/open-iconic/png/star-8x.png deleted file mode 100755 index de4a9b4df0a0663360e527cf79297f18075d2f9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 634 zcmV-=0)_pFP)5v}2cyn$D+OV_UKA`~JUlyp3j|4!rw2)GeM0`Gl@2NgE?Wp)7WVVP-Qsla~bcQ-lVpMdT(nBs4$ft3O=i)U7D@;!lLieY_%7}zDu)}UQqcijrU&2@?9FQy->t= zX}tA9ao?q}?uDwpOJmgw6yK#`_X5>-X;{5r=DQ?0<1gtdIwmVU5@U?8T#w0e#$VFq zc3RB9zqke^6=0(2QUeD5ZZ%-yUsQuq3RocNN&^l4<9EFFKH)|K4gRm+@!I=@>7Ome z3`pDb+;_a@KJi=UNNGvIf9*Ry^*&*)ffWDLdwWVRm})RYHniruG}2x$)nE<(+ID-GV))md)6Mk)U4t0@tU29WFHkiYUS7_g)5Us$ zs=4nJ za0`PlBg3pY5HEILsmDUP7fR<$j6dh$>~!$*QWtiyC#%jpl4nJ za0`PlBg3pY5^srmrD;`9K1pMFfb#Y+U z#T~m01SZ|Qd2+*(>~7yagMUgFR9dpSOB=RdE)M-;__ph|`6U@sJ&VOok^=Q+@)!9E zI=Zgp&ytVeJ*ga9!7KLiUDHYSkH*Vh?m4{Go@h8mvAeK27jxkob)amHm+y z<^ma-iISOhH#cak-`}~A_jjXsap)5{<;(9Za-7`7cg>3ex|hMz)z4*}Q$iB}=xt+Z diff --git a/app/open-iconic/png/sun-3x.png b/app/open-iconic/png/sun-3x.png deleted file mode 100755 index 58df51353d2de46a7836dc24bbad3e09d95c9f48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmV-q0h|7bP)C)lE*qKp4jHUszbqpt2OX zjt3zUHpVlkG0|HI#6a9js7VFNi4kI0MBcQqnLnc3wU0ab)XThg+AZcqC>!}j=9MutxJ>gmTgnp zlJ|?*%LewIhfskz#Fg*If8JpSPbKe9%z`Ez0>+*8mnjkYyb1m+vP}txXxRWij)mt+ zgg&1M-Le(l`B=otTV1)o@m5~BE%kS=>stE-+nzEo=ZD_<5L_fKX;SGe;9na+5x^=iKSJJ-LN+JOeeb0EQVn$*6&y ztvZ#Yo6*4T!u7x538-v6Dv6!9l@-aw3$P?&R*t=`1Pv_l%u3S?sJ)HmbKd>{4}u1U z94wX0$^iHPN?>iP1SUXVA#e$Iz!cbW@bt8{KmpwTh4`08__SvB85yP#;;ssn_yGTF z_u0`4k++HBSD=&7cn27@xiOS{CGn?s_1(aCmW-j~TW2(|YT)~oj9t=RZw}6qF_cs} z7R(#?qLXow(ZG8ffe`wneTEz0UeN%UP>F5eO(hN{+h-BtpTLc>0WjHK;J0IgIk{Z? z7(HN&37M6xIcDG_o=5L+YCi7{mw@Zr3DrBCd?$2J&q_2TvvSq{h7xc0IAr}y-!pst P00000NkvXXu0mjff!Q7YE~M7( z^%T8=RC@?f1i^D?Ep#g?)e{JUx6lKKxM{(Tb*0qmBBRu4noee35{3ToproDr|LeTG zyySr!lz=uc0A7GrJoazU20jyZ5>$~T2245-xgaXIm=q;A%~)=@a^PGucIJr72}-D# zkAOaK3=~6%XpMhv?331>Z-c^a=dxQrxN)>q_lXC@4OGZi*kcNt#63Y~tc(uuLa2cXIAM_lW-B ztR|WH|IgfGbsM7@oz$6#P{3A)&=e+qWUMAF~#)#Po7;1}I z)V^Q^6YUG8NWekKv3F`J64JpHy!`O*1MP&mRO#Rf-Viq<>|xw|2Pg7)8ZWRVIBH*E zeaJ@dEA|Rbp2hPJ7Z4J?uPD0vXS19dQD0%L4+u?VU*VI0vbp(YtX3kXpu(rsM9%cj9+*f5_lcVDp(QB|3L@CEn;yv0>^^#`L^ ztOL80SL>qc{Rn6!&>M^;U&c=KnI(9|+hmnFgu`&sb;qcvfN_~x^?r{u|-b!64PZk*!!2s7-WXFiLE zD$YDurCyU0Dh9x^RD6iX;Vs}&fb-O41-K^gsT~%4S1aCo znlJSyT~qs+FabY2^p*NszzvC6zu^(?w^qg&xZoiq24kw5qEdfVMQ~DE(%;2o5&4>0 zKaiMt=y`mm(w}rq&3X~^@+Wy$_c&n!9(Zbu`Y!U0(1avzhcY2y1(#WE^8*5Opdnh} zA@DT7dFt{6_?6(gg|u*ws9Jab1h}T+tOncYCE%`-r&=^{tGBVu9|9MZJk_R&Teys6 z{s_3LWoBMBh?9gP;D(|P5l!6cZOCD7{?6xV;8t%Xv%?9l;F=*vz${vnm=y!y zJ_=Kv=Iilg+!|i?db|Z(nI7u_pZW88{56J}9I(H?KdL_K`}?Eov%bGSx;|6;`wK|A zPjDjqerziB`6S?=-x@Ny|0Lh^}ZrH*87U+nCdI6{a--6 mulWDJ!30?ED^xHuZ~q2DONp^?<~@V}0000` diff --git a/app/open-iconic/png/sun.png b/app/open-iconic/png/sun.png deleted file mode 100755 index 8dd636c7a712d7edd875726eb2ca55ff909078f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5 z@Vhf_tl7n4WXr!L95J)mA^2;1*UZz$Uio^sK5_KPa@CkF_^DGiRY9EZd!Tr RO&HK{22WQ%mvv4FO#m)eIOPBU diff --git a/app/open-iconic/png/tablet-2x.png b/app/open-iconic/png/tablet-2x.png deleted file mode 100755 index 0bb18a10146cc45f1c7890f8a67445c483079f40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5!cuy04 b6Y+p?e!PfF_~kHrpgjzpu6{1-oD!M<*v~iA diff --git a/app/open-iconic/png/tablet-3x.png b/app/open-iconic/png/tablet-3x.png deleted file mode 100755 index 29a93f600402f95c606023974767134cb67a3401..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARYalE{-7{oo}Z(@;Mj?xW*qnCi-U1VZ|748P7Fy8!b4v1G~3f>Ik^v zRe#AfUG4Mp|E|j!bQNspv2i=G*CsIu6?fX0vzvZt`=L`Q-0oMiP(gsD$w7eQpZkXT zb+!8P>8!E=OoxRht(M)*uyWm5nODozxq3=Ji*u=*TEz82Hp_kYPKR3KqI++Xt8YkY b_$08-_HYwf;3m2W=rjgTS3j3^P6xF7DmKNs5dajphbt?${O_(=?v7{_a7auPkQUHfUwo{cLT$6k2IA`DQW) zueiSh1Cu}l1B(I!BZmXSKJ&y6ywi7!`75wK;Cj=@{NV(n;P1V+B6pWQ`FGmX-}Ase z<@qhO?;8zknfsFOE0_NlGWe6ETPkUtkj*W6fnhn5fNeqHQGJ&u5qmdY*Z%=@IfJLG KpUXO@geCxC(_kzB diff --git a/app/open-iconic/png/tablet-6x.png b/app/open-iconic/png/tablet-6x.png deleted file mode 100755 index 11630da3e67a82861929fb62959dc4ecaf3cc809..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383JAPZ!6KjK;UK_HrFE5NOz+#jalOpe}!u{exnOkU0C&^^dD9yPNng ztX1%mUGrdqh|cslqUybo;8gTEPGt^CtN$SCztz-f4b2xz8MW>Y72TfGm@EZ;bHpTz5Y@nF7MI%2F{v5 z2I~Zto<^P>+|Rx%eHGbN`s7?o(es6@at97ftd@v!DB|9kw|03#oq7;cZNl3b4nJ za0`PlBg3pY5)2HCot`d^Ar*7p&NlR7b`)`lce>CaD59%l+mVo%DX44HHvI$Jw`oZe zPits!l$BLAtWek_*4#VeZmYp(vy=53uKLX|&!6tOnRx@RPlNx0s7bG7cd(gd99+VD zXy>}s%Z`5c@UPqJyOQ+@tHlcG3+a{O{02Ev7xWV^rYbe)CT#x1$fkSj%ckfv?xyGa z!~gMiFl=k^W!b=*1CkYH%we3(k-&Y!g(3QY8q*CXGr1C|>sZU;0!#ALj4E1G|Mr@HPhed{G0me1?nIyF3=wexscgIwkRXZt+d zukTC0BR{Ec$J1Xb|9Nk$m!43~|D#rD^9<2t5<8jKFt(e1?|*TivFA?p0oe^-&+k#b z#J2Ox>;zUD#^(p*HgL~j>}P#;)!cD**z5=HlH#qImmBN~q8*MrT9$c$VTZz0smqVn jylpa2)%~|A^8x?UJ|DK=S&RMvV~WAk)z4*}Q$iB}Z+gMI diff --git a/app/open-iconic/png/tablet.png b/app/open-iconic/png/tablet.png deleted file mode 100755 index 2dda041f5e68a04e02a2c78d751f888639882b4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY577*sJpk4nJ za0`PlBg3pY5@Wj{DDbg@oc@ILKgkuYZ~r-7?VK$IcVafX12Yg(q;U1Joz(O^=Y zzCGx4IOC7z9eF=E3;P#}T5fIb`DncMM0RDH&UE*Vop+QEf8ss0B-Af)!=fKRhcI}$ L`njxgN@xNA3jIn| diff --git a/app/open-iconic/png/tag-3x.png b/app/open-iconic/png/tag-3x.png deleted file mode 100755 index de1e4c8426988dc17a9f9d08a17b5252d76a6cc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARTKxT^vI^I=5c(5e4Sx==rNVa`c+35^N-w}3e-U;Q7uMTo&?=A9pe@U-IQL*hz ziV+)I%$_s9#T*;v7o_#{izM`2VDJ%)YLHag_Jf(nVfT5CHCqKXeyUdazM_?5I&bHj z*DL`o9O7F$bEY$_5S+#!suW|Owkep+p@&0%eGb2#jsJt$oC1nT)5Ev1Uw>=NdD^uj za^nr2iwxWa%)eyTKKkGZBc;6YypV~k)rgSiXWgT{*IZ0U3A z1GWl2D)MgGb%!Z1Ca%dq`?|uJ)2ba=Pc1uMJ=JW9uH<i_JWuKJg1tt){3 OW$<+Mb6Mw<&;$U$d3e_V diff --git a/app/open-iconic/png/tag-6x.png b/app/open-iconic/png/tag-6x.png deleted file mode 100755 index 3d421955f24d9d0949986ab35a321fc5ddd04e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hqnQcoAhkc`Hw*P^oy8wj*M-2X$7Wz*C+h0J-Ix7>8>3V-rW^=|X; zD|RQEgtSg}xlgwgnABinHQ%#^v2IG7)8Y)qS&Al%z5=%zUUdjHtm+7A$m$5`%uirB zcYyH*qx%D{Gqwszv+p-tKe6@v=~>Go_G4Yzy-iqVeoYIb6Mw<&;$TU3BgYQ diff --git a/app/open-iconic/png/tag-8x.png b/app/open-iconic/png/tag-8x.png deleted file mode 100755 index 99cfa6627151452a9214000c8fa451badfb5b31d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCpFLe1Ln`Jxoe`MV6d>T*uX=H=#BT1(CAw~F?;h6aeYfD&(Tx4K z`k$-xt~6*c;D4s(^7p|$OZRy~40Tm@EoUxoZ+N51qo|P0>CAZ|?9c?JO;ZfEG`vx% z;5gycG`%55#YFa(@C_#KggV=42lyb0CZi)wu?ksbCfA7Xyy@Q*cuh#orJ(E%0dH?Q~U5(phcirdt`%dUpTV&abILTjk zRj=?Gy}z*6;LC3B6OjiLgnr#&I^R}T&RN?1-l{|%tW?bI(!2Z*oIi|!YBuQX$-nqJ z?@ihCgvc*WyY_Bdi!DLm$TnF{}*ujirYCPp_B&;H%|&+P<^>6u3WR|%q)}oo6nv+`V}P<;`H%(t)~O$(X-DdB?#rQIv8;N z=WK8gddJzIAhe3bfq}D>DdCZj4pYJ*p*2hii-cxzG;n%lXfdd%E$n5OF`;D}Q-YGv zE{=we-ajfrCO-I|aO7#`r3h6UnK)(113M39ACbHu8mDaAoWi?)VjpwARGhMDvoDZj sX}iwR_|ViTp`uqnf&}gb<3IXOPJfP=&31J;FikLcy85}Sb4q9e0IBl)ZvX%Q diff --git a/app/open-iconic/png/tag.png b/app/open-iconic/png/tag.png deleted file mode 100755 index cceea4522740b45375b2c604fb71cc60343aa9af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5&~<&c(>r%(d_3T&SzLs?|5h&+^O)i?#%-AZ<3Fv$=6=c-}m2IJmy-HkuA_v22WQ% Jmvv4FO#o;oGxGod diff --git a/app/open-iconic/png/tags-2x.png b/app/open-iconic/png/tags-2x.png deleted file mode 100755 index 60b27cf4f53514dd3c3e5ff4bf17cef8c716f0a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5_O@9n2UmRLJ0jZPSr$B{;qNO4?@9Zu v6SiqZO!$;>n!_C;Qy8jQ?i|w3)%v)z4*}Q$iB}(p*QU diff --git a/app/open-iconic/png/tags-3x.png b/app/open-iconic/png/tags-3x.png deleted file mode 100755 index f61f2d80b8777b4e3b9a80a41ff3db384242fbbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYART?4E{-7{oo^=^@--U>u()SF5dG;bFVdQ&MBb@09Uh8aR2}S diff --git a/app/open-iconic/png/tags-4x.png b/app/open-iconic/png/tags-4x.png deleted file mode 100755 index 4e7a713cd70830c2e883ce099213a7cd484d0009..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IEPZ!6Kh}O54toaTZ2)JIasX(%Izem%ggJkHI2nYQz^T^ z=3h%wWsp|?eHm}YZq|F+^TprIX;_}LkK=;OM5c@`4^|WBmg#y9{1yp!m;~cqh^PAn z&g$i8zxycXM^J>QAYY$x62m${2h*1L$W15vGdt!hmN7lhImz{D*7TK+R(}4aY@qpU zvtZCo#)>C;*AnJVsR-_yxa#5ED93ej52Yozm^ZnX{N&E9=Q$yD z@tffKpEXCKZ`nV(rxbI1@h&^DL_r|>H`meofS!WqN$2bn6aQbI&n(_LS4B|qC67h6 z+4nJ za0`PlBg3pY5)2HC(>z@qLn`LHowCvEaDs?ie^+~#O!T9L&o%Nt{1>x@ zH=w4agTd9kgDW7X;=Nif%+HJVOA-6O5f$xt0%-j__ zJ$4E|2;K2t{h3XGYB|pyj_=xr&ktTKazC)SV87rqk&a2$Ec04^>z&cO6!wmxLgd}~ zR?F6BQ*X1&wftUduzW^%9{&#UckKyDmS5{Q!j!Lt`R$c&S~xZMeS1R2(<{FfC89tQ kZ9w7qpg@G6lU$#8ow-h(7d`2?1sH7%p00i_>zopr04lZ5Bme*a diff --git a/app/open-iconic/png/tags.png b/app/open-iconic/png/tags.png deleted file mode 100755 index 539a5445f9fb356496d044d3560602002716ab1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY55OV?) zA>%|qZizrqz#tzYL1c>%w*Yw)f!T*hgv2cHu;^zq8V{6I>aLnsf3JF2l+QT92v5-w zj`67lKbKVuF-7%;PBB2IE%-8^f7ruzfF0~$AOC~7NX%S@`EZNPce?Ch9PFSz^E8!b z!JGJrNBqSZKGu><64R#;R;BG(@Sm3X?`ug8;ya=+TxDjdT;V&q_<$erod&ZT`_v?40f{tUx#l27!8Ws0iV-M^FjVL;Fkja75)TZ zASfONyxJnb=^#G{cqQP!`%6ZBEgZGO+vyglUpibl#ogTr-!m<2Z@1AM3g3Gaha4R( zDGqsFYRefcD7J7R*xgYY^5Zg)QAOJGZfp8paZO{w58;CJC~|NtC=W_|-pTp-pg$30 z_1LbJAlQ|jeXL|rTE&Bm-(+oxnOE^S_<0&+YSMwqg2JUssXi~9Vz4Csi%*#}h?s?p9z zOaqnwaa;hZz^@FBl^Vb}kk9J8f~E7Yj+Nd5Z0>%bT=2y_7*5uJ*jjbpXo z)BObWg+%_vqr3qO1G#_za=<9CmGTnhG{pk`w9f*a0ge?#V9sOj4JkEI^$1rF;aKs& zWB0BK_2O3hY>L4F;3=?%Re2-&JqcV$(U}+94Q!4aUErX-<-J_WEO4+ll*smFN<7bVY2JQ0~I!e0dVCJ(zrX-)V;9_KM` zi0rEHyM_N1-1h4brH1f*(Z?u?Y+d+y;Wt7?t75MOuPv*w9Cn#V;)I;H47@8q!UmBcwYFUa{G{?Bj}cXX@nd40hgwt$k*D5kLQl{B)566u{z0$5^m)C*zVC!bbvB;aa5&kY;A{3&UUQe-h1qP1Wy0U zKwrvB#Kl>~wpurqwS4sZDmJ9F)soJ2$fcr;-Cncyei|)>M6SqVw^!|sEL6t|F7=y- zpa&brwG57HSf4wsrpU5Bi@-Jh{5`J#$0Objw)x_}=P!VtAx3`#R7JhgmqV|(00000 LNkvXXu0mjfV61{O diff --git a/app/open-iconic/png/target-6x.png b/app/open-iconic/png/target-6x.png deleted file mode 100755 index db55588bbfa8c13c5f6f36a5e9b9d196a680ff8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1253 zcmV(m3IUZyqtU;>NUCvz(Jcr;_XMQTXrfKUwI-ysZU`a# z>MvUiZJD|_Z*)4|?|DDw4T<06B$NBjuY2FQ=bU@rtRf$@0Z#+{KriqJ&1o^Fi?y0r33~}08eDl-w&JwmSSv_vP@z(@hg7@csPUO)#wJ!#@Jc_ zb|qD~2|woNu(y*p_5-&ZyOTg?oRZb}+2#rs-}S;);HqPPl$aFzwj+E6YZ2;=Zv08S zr35#ki_{#+R=x}P02l@?W3jss{T>G1CqWnh+tA@O4QvPr4GDo|;$yx8I1Su!bd+fc zI0dxF=zQJL@liE%GrG4q6Jx08$a*vjycnbVyd%4!0X!@i7x7c2w`Y=22{_{D-;Ayk z2P+v>OMJpnUaZmi%1L-{;*^jZDKoS=%2kE!Apdq+?TH=E#McA7BpAk=RXOcAGly-m zKAm-xJD>b{EaCluvX}}E%+N1e<+s!S14flJcRqixVnsb zEQMXgdrge56XUZ5?8YnvmC}9_<3%wZ!d@}{s~GPTiVQ#C~PO+E5>QyL1AmBkSS47t40OWNoQ5|I1^7p zC8CuSP>th{l}v{O(-MAjHdx~%O4#OC=s`D*2Pzqx&>?ZwF#vWL$r4V}_$v?at&p7o z9;jwM>KJ=9#!x%f&&OR8mfz}ebj+7=(9!W>NT4m6Sx8_WJCwws19%VXDlcKZ&F$#- zIpAI3p#*xiqcheN*4za#D1?@=%O-C>?7}`Sq$yH) z&(Z!0v$ZY^P_i_CQwHdY}o*-6Le{ zNK05te1Je>mK3WpyT20avA^3qiRJZf?4!y3(eqg>5mf%&<_D}e)r7wRYVPBXh^1iN P00000NkvXXu0mjfuc|(o diff --git a/app/open-iconic/png/target-8x.png b/app/open-iconic/png/target-8x.png deleted file mode 100755 index 08c5669f470ef98f9dc879f7587d8e393fa91663..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1694 zcmV;P24VS$P)_P=289^5>Jqj74Wrm0{lA1wb7f396m#kh)ElZH`7G~fy zI$F+nDI8Nz59>R1Jf8Xf>${vY{$ahGwfDMw-?!IVd+mKPR3GDk`+>>8M4%aH1jYjO z!I(i{05}Hx2J8cV2DSmcHLx*tOb1p12Y^CC+7GM%rq$Gg7#IUABps*29>#niUn8Gf zxEAOHPEkF_%c&n&%rHNQ3@{fsPVF2or(?jJz?Pb#1^6z3;c3%WpsA`JmtZzxqrf-7b}UOA!UEaZfS&`#0c}7#a33%e zxG|=_Pk;{KLd^M>p$_OfXh{hI^Z6Cne97E$pL;1%GSq{>S$ z8kh(4M6~5&5@v`fYkm+|O1h4hV{~BC`3QC`jjL>S1SNZc+v6&VfjhCP&}(1h?9hro z)olVAl6VsnIp7PYjRQoe6EgUVoGu`nhBq;h1=d!us}gO+84u<<1$L$9M`FB(&*ly# z=vsWW{U)Nn`8@CxumRYKrMB|{od|w=A9xb`yrUqCZ#f)8Y@j+FLiQ4E&9`Ar|K*Tf zq_e=qId|=D~7@ym^%-9u$*~;45~kTbGm9Npg<-qk zKa2&PFuVl(AjXtp2k^2OlLHv@z>f)a9~AtSEI}X$ z!6Ct)B={c)ei$|+)cuR#Hv;@k_&T{x2vH5oHZea8w+h*PV*d4F{#k&FV$evTM5RA9 zKMeIk_F%&K7lyN&b5$UVeu}C&aZ2!;{N`MNX2Bm2e06$!F6$67PVf&4{tUqn!%V^d zRq)3Oet#C*y@f#qvE70{SMZa}Rk|k#eqR>5lM{w^!T(zDr()%8RCJ*CAWFBg{V>2= zghxtM#N@DaqRQ4NcYLNhWvU8Pmcjs!i$O;n2Co+~iUvRLkkx^9zJRsD!{FHrJqmD> zL)jFetQE^9N=^aW6TFBOIrRaxWBY|&P8sLW*=3qT&VN;~I%iugl!4w=rb(R+d)5dU zdrAkd5Q9A}v3jg~TW#leqN~dW;7=iEdFcet=TfniT!v<>fl@8!dw^RUcD(M8bx-*u zwG4XDQ5URrU5$s(1Kj4&pF_9hyDLqc?=WJS!vL@^!5h%LpS|bJgI>-B;I&E<^VqRb z*u?YLj8#QPA2v#Bxyzw=w72yVjq1RlYgiGHIa4dn5C_Qk+=b5sSh zoWhHNQFUn3#AJK{uK-*E9*L`HiBm}dOOeZ|?v=S5mgiNfE2TG+D9m8jO})wr*yV%; zM33ZQXu!(bs249jOhb7cw$7s{E@0>LUDzpYocp>NY>%=Ay|Jl8o3J1$m3UBxJq4qycjSU?+#_3+xUj?fI?hM4+3!j9lC#++Xf8LYI8`X*{gmq@tg zJ$MX%imWA_Btf)~iYENUQY~l;G4gy;WUvNiHE)F}>Lp&wJyqnf>!)ffo%ZLxh~cR~ zheRH0o9&}|j(20tjH}A=N|=h>!|Nuw(|fQA^NJo`8mPrzP8)#-fV;5!NG-u{ oV4a_StS@kw%l|&FE4nJ za0`PlBg3pY59jzLDk43u5nl49V ztXaHOEbd72gTe~ HDWM4fp+QLF diff --git a/app/open-iconic/png/task-2x.png b/app/open-iconic/png/task-2x.png deleted file mode 100755 index eba8983afcfdb3a47f8a94870f61b69c4b8a49f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5zcFulv2f}9d;t_Y>zrz3(p>y-u3paobr?-E7JsA z169uJ*E*gsPXBYwyzS3MXNf~`o720w=bQhKw=TIAQ2%4nJ za0`PlBg3pYARUW6T^vI^I^RxlrPh`pTno3*WnAh+z!r9y*EcNwTTXiT~TTPku z%m+axy&d5W5sobH1aC~=yhv?FXv5U*qPr~HIj)>ikz zI~qb4u`U05k3Z1YskvNG!_&Y*sKUH4WD!gF@0;&$C?DvHjhqnu^$x$o>;0u|JB?Xy mIKQYAKD4ujb=iS4XV}e;8ZlSMMD+tb#o+1c=d#Wzp$P!3sBEqP diff --git a/app/open-iconic/png/task-6x.png b/app/open-iconic/png/task-6x.png deleted file mode 100755 index 8a5eccff82ed542cd45967e8848d0098108e7363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6RZkbkkc`H+Grai@8St>i3%WbT2;UbiPo&9Z{(Hui%uvx zvsa$@&Ne0G#({^QY#Du)ncQ%_Cv`zd`P5&vO78|Yw>?kyGH>zL&FB2kWpFZ@+09+% zWV|hto9mVn_IsGBl%t-m^v`cFby9vWx1jgJsdg5IU)(XPYa$pH>_2)VcoIJ^!x!_) zSUWk!hJR+apB$E3{Y7c&b?2J_>t}zA;RyION5<9ZM8nOL135SDzv#$rv_4(WBxx|4 f$77Pp&-}QcX}gqom(SP$3`GV{S3j3^P64nJ za0`PlBg3pY5)2HCCp}#pLn`LHo#mK!$UwkVUQ~Vck)2l4m)$PA9MYlo%{;kUrgUD* z5hde)@4H<&7;5IeC}qEQapU~(i5V*=e!88ru_a^U#ZOm-7ClWnA@1EFHb=ES!fDGB zpPzSy7P+RM{;#PRW#;s6d&}yA14|XpnPV{$)ME-{hY>qn47>b})Bhk~X~`%vu|{cQJ1Wu34J)jgKa zcb`z!S^tnT|6JvEn?sDIdzcn};%L{H5v<}P_fSDpxJ*~QzaWBJ?age>`e40RkqkY$ z2c?ScH26O~bdUAG452j-|MlxHjmHQ?`HU5Z&dwc3Twmvg)iH* z_ka5QL*vbZzae^8qN9HPXMAwx|24xCnkShSF}qA=bz$#N4nJ za0`PlBg3pY5Evl8$r@69s4nJ za0`PlBg3pY54nJ za0`PlBg3pYARSXZT^vI^I^Rx-=4vtEaqaJq-Lc{0#>~9CNZ2(>=Z&oeY+YebNzI8z%@m zFn?m+aQ0MVjj8#Iq}&JD@08bT|1$rX+>mI0R{OI;L+cmuXWQ>9>^8hAeD+UyA6DFm1Fy_SUJuHv3fAdQ;FhY>Y0fsGJ|IYK5J-dBWjaM-S P=m!Q*S3j3^P6A6?2J=l(j*cBA?S8Lqekx8A)zq~+Sv znfc16KrSU%?L+*G78BM0#^O&;Vi?wzbTNhqzhrU#$=$e1TI(a{l>=-y7DX&7?a|)w z=IYvA`Rl4W3kx~-v|ZQw7#%CQGV%2*_N^11eTZuec^Le0s>7+N|93jP+9nyQ@Ju9%xjJE* z-fe>z-7QtY(wh^HpLu!r$kPKK7IXiY7b^8`|76xvx0WsDsuZuf^LuM6`-)|Zu2RkR zC;#cCFkPC_V4|kb%juDf!c5UOVD&rTWZ|xJTzdC;v11&+7a0S?jKR~@&t;ucLK6T& Cq>x|$ diff --git a/app/open-iconic/png/terminal-8x.png b/app/open-iconic/png/terminal-8x.png deleted file mode 100755 index 1c6b573a810280c465295ca2ebcda810796ae2d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC1)eUBAr*7p&hpMXkap`&*wj6`@t9&sou_Ju`-y$(r%^j3QopX3|USN&)!Eb_{_2B z$rOuy4b%T$O#736Zn3{;fnNPGF-}h=z0>@vCB_;LwH}21j8f_0+7Z5wjdSl&!ynu= z4AIT$o*I!%&eJS}yUY$o3vDyjNYh%7#(9z{Yw845h44dcH_k3tva;cpijPphWR}U* z2OdSfzCC{nOP1Dr-38k|MKal(t`62Y@cV3au*w6$%lBrVWRlzZY_FtfLLvVRhWQ6} zAKa|cBbg;RpH*!4Uh|`~6ONa1hPlr*KgzVubA!$Ey@rAYQ#MTT_B-{Wct8IQMqciF zAM`Aau?xLo$#QD2YM3RkfNy~s%L-CtzSLJi42%#4 MPgg&ebxsLQ00{xE-v9sr diff --git a/app/open-iconic/png/terminal.png b/app/open-iconic/png/terminal.png deleted file mode 100755 index a1cccfe0be336fa5554ad2f16e49124af44769b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5g^7d)@-XqOl4`RV`T!ewrqk1AI4nJ za0`PlBg3pY5m*Cc;JyjH{m8D>F`4WL}e{$=4jn+_sf5EaJ$SjhaWM?c#XqCt@p7&B!2>Bxs!T SIG+`0K7*&LpUXO@geCw~>@WEM diff --git a/app/open-iconic/png/text-3x.png b/app/open-iconic/png/text-3x.png deleted file mode 100755 index 3fda7cadfb7927c25f8aa8460632fbe511137226..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARXPFE{-7{oo}!Cavd@dXnVN)R;>Tyvq!35Dt=L`YFqbsk=T+ep3Na5 zpB=+Ke?I5qG>PqG*R3@(|0pxG398Q7c-ZX2%ylbgx%Zvk?0-n~Zj(|`L!fM)$Kwva z7tIYpUoDKbY;jq?>g=)q|1?)MaII*lXWY`5`|hm<(-sSsZ?(%BKJ3!{%X8-0uP)mP a@A9-hS>X)7FVlg}V(@hJb6Mw<&;$VV$Xj3l diff --git a/app/open-iconic/png/text-4x.png b/app/open-iconic/png/text-4x.png deleted file mode 100755 index b78effb04a1726f70c3b1e81f472f6499ac496d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IiPZ!6Kh}O5)9k~t}2(&)jpO>vD{d%p6x~|;u+goP4WL>pLW_GM( zZq!q&lvixr!ki{`ZDHyThMmu@?qC#@==r<;*zQ-2-lr;F#J97n-(Wr=YS!`F-Na`d zqe7}Jqu1>?>4GzV=N29k3(&eg>ui1_0~3cr1DFsmF#9rRUt`4K^)+?Eeg`sQuY9Vz l{ri2ynIAiiKh!s{ewye!zs>d0JfI^PJYD@<);T3K0RV$iSb_im diff --git a/app/open-iconic/png/text-6x.png b/app/open-iconic/png/text-6x.png deleted file mode 100755 index ba31d0ea932256a278f92baa9bd197d1ef369e30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I7PZ!6KjK;S!y}1qC-=WO!P3vKG1lcn0F$fr za?6?SEc~hl+0R<`*v9;r=C$ej{W^BHX3iCcjHYS}j4nJ za0`PlBg3pY5)2HC$(}BbAr*7p&T{lR93aA=p2u{nis!4ut-W%K7pPx~UfB^Ic;|>K z&z4*In*WyyzmPt$>chQ1ioUx&m`h{~)webHvTb0^F>26Fn9P{NINOjhuA%yYP)1|g z`PI{Ezi+i)$A94U4A$6(zZkADwriY~ufBTWLi>+D`E@TpT%UTH{R{)M_AldJz72d) zF|+DlFkHCLxtPgD`14)a8Qu+T|7LD5t-tR4!LZ_E%!`KQm)K`tKg!bmynvk{=I^}w zZz3)+#W#8@&wCQM<;#AK$vpao%NgoV)Hk6!iYI~lMhZjp0X60uOlFb?#5SB{AX3SU zihoK8$1)G}CW!PC{xWt~$(69AJ+v={&Y diff --git a/app/open-iconic/png/text.png b/app/open-iconic/png/text.png deleted file mode 100755 index d07fa87829427d877faff3125614869f47a80df6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5PL^(rn*y+4EJ;Yt-T<0op<7)&vzR*6E)cTm)`VI0~*BO>FVdQ&MBb@0MgGb_y7O^ diff --git a/app/open-iconic/png/thumb-down-2x.png b/app/open-iconic/png/thumb-down-2x.png deleted file mode 100755 index 6c8014fb8a42c6b6c2404cc5e8fa5f0748aac681..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5Neq@@q zsH}={V~4NUv;%r+&GJ4IJ)g}r7f1@_)Gc-MpCsdOV3FM&|4jRo;H(cvHn0e6(D})< z#+x^9DckpLr!~KwJXZOxjWf>lz?zp27cBgLjD2;5-J?m_hR2kp-W0X3&QX4FOVr>H fXZyN_|IfL(Gd;F_tqqa_x{blp)z4*}Q$iB}ND)+J diff --git a/app/open-iconic/png/thumb-down-3x.png b/app/open-iconic/png/thumb-down-3x.png deleted file mode 100755 index 3b1a41efd6ccf62fced71fc78d7288aab0852ace..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARXsDT^vI^I-g#$&T?`TVSDg?St;*9t)<=qmu}x&vgI__rq+a|p=A%H zRC<^C=G=8S)iA-!NKA?6acIq)m7flad_VZ}-Ors9HceKKt=KlhYI1dBi@nV@-g*o5 z_=#-#%jMj1CTv*4t70?t@M0~iC0m!B;N6$S>~88B&T{yZ+ZVR(8joO}Jgx`R{wylq z(XlS0yWczhT|!ImW2tK|+-k38a~t$Yo!fUTl<|xbqlCzTa+3r9zMq~LXYwJ2A^#%7 t8RG|=*)E)K@a1Jt`*E;Z_rd&B_CC{D8>T#52!c=JJ8UcX2sS=~gsz5wK|*!72)I3NH3002ovPDHLkV1lx@m~H?7 diff --git a/app/open-iconic/png/thumb-down-6x.png b/app/open-iconic/png/thumb-down-6x.png deleted file mode 100755 index 76b354ee351569ca7263623fc1118487606e147a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 530 zcmV+t0`2{YP)&LM&g1XiiHYk zgxL5A#==Svtb!=`8)74f_yK|-Hr688+X*%n3W9e2fufQ^(*#6uE!M5vnVm^yoj0%t z1_E!Exrg`I3<*G@SSnQe2U%U<2#7W3S_k@1fovVyhL1F1BaJ{=d;rtHyXgb9^0M?r z46NEbAWZ;Z!)CLz5d!!I8o-OmW{DlB0qZsoNO}up>n3!81eh@iFL8u2jK@f72kt@_ zNPyX*@RCOeV9jKc-s5@}&F_$rms0F@&34hVdxkN2t^&fyQ z7ElYEddy|T1^EK6K112iB4426Gn6f7{1rIxn#htE*eAX0J^g+j_L``oqN2hXKkd}E U^DT^t=l}o!07*qoM6N<$f;#)ykpKVy diff --git a/app/open-iconic/png/thumb-down-8x.png b/app/open-iconic/png/thumb-down-8x.png deleted file mode 100755 index bdbb51d95d2620ec57be0a669ac18f5c3822ca02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 722 zcmV;@0xkWCP)AdS%-S79@&-c^!d+s^UITw~nRvBga!(QJpi@gEbf@qroy|sXS1JoT{z@Yg}uKNSj z4MqZr94Yxc#H6NJ!X)0*J;18rX-UEeE)IH-Hjls(p42ZrtbjrDW31Z02yGvM9<|4y z?I*z=&#|XYVlEvph3PtpxfnprG00^ED6R!2Rn(JH2W-dTs!2H+02itz7aZou)ffZRvm6E^k>$h`x`%K~yYAn4Iq z4$lStw-y9GFUZY+Z@3p){4f|*?8lu~JhvZ45ib=tG;3oOF-&F@JG6rozbU%vA+uBQ z6I925N;^6$nM>*!ur7tzrg*5j0j-?-<=C&-o2z2LftUiDz7Tqhn-y~oHX$S>llUpT z1F9O<3a$$`p!N$-E13<7OVdyjreX;jjr2V~6nAFF0^^_JQDbTnu^u0Ub->+38XM=D zFay4b*PT&WgLz>l9El+)w#&cq3nv0%=kcIfIcXTjYvmn~-AV9ot|~WR5t~y9Y??8= zQf|WKriG+B(=ICh`Ee>B?soHX(lDmj{pr^M?~|#E#1;Jw_?S*w99H9*4nJ za0`PlBg3pY54nJ za0`PlBg3pY5>5 z-<<~%2N_q3T$tWgowcsEa!zs7l+?8kMD$hlbFx_ceX`;*KCauDU~BS>Lr+39=I`+u ZhUWPm1qn=VZvmaf;OXk;vd$@?2>=xQP*4B> diff --git a/app/open-iconic/png/thumb-up-3x.png b/app/open-iconic/png/thumb-up-3x.png deleted file mode 100755 index 74f9cfac3f770ddfe618d93f9f966af8b34e3f04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARQMyT^vI^I^Rw-qoa4bKyEIp zwc~`4u%z5<#ikW&dJkEtqzR>2+vjYYe5TrZ_XPXk2W&lDU(%K_@Az)jF0jV-;3=tl zUmx&EL~)xrUD($0o#jsor#^GF;*9Ls-d*)<4&GP#q7JSPX|yYN`1=c=1w*OsiF}{c z+1Ht8{Fva;psc7dNju-> zYafqU?EXW&TH3$|QWp1h3oJAQI6&{$_hQ3(wX}(mpWP=MM*%#-i)5TY%NbLL~L zMgg4oyZf6c^KDED01l%7E(**O`Vr>+67z($w#|FEn*y-jmhm!na6833;c`}pe4(oR ztnsYmo`?cSc*+-V`WDpHq-%idt^o!`i&1CbQ^8vi*?}S6x&$~cOGJ!dq~xlO>cACV zy979!mTY?j?^r1_kLbW4gXj$4wCaa8NAQBBt^gjeS7koeTwlsq-RZan51ar1002ov JPDHLkV1m|@l3@S< diff --git a/app/open-iconic/png/thumb-up-6x.png b/app/open-iconic/png/thumb-up-6x.png deleted file mode 100755 index 93a7cfdb661ba9bcd0ff6b7a4ad8230012cc05fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 534 zcmV+x0_pvUP);NT0tTb8ihha zA{rlnM50jX6?z{*lq!XWL_w<(Hc?1a6a*35tU{-g5F!e8RW|;NVs{Jd%)2j{w{u_e zPBPWp-8sK^XEFoH(+R8r<@#6!+FP)$Hwu9HGgg8c#bA>E@&>pMDHVrfng@6YDJ5l! z=JE#E4(KK36nlWVa9T2^vCDq~ec{w(Tw)J!;d7xjpMO?o2AFWnA0@D+H*!D;``0(X zcrZHwv$*BUKt7mV1bN^FcYp)mi~2kR^T23C&6&sbywVLk;{N&u_u&r8GSTt|=m{n0 zVgz_c7N9qfqm=>R8kxKS7Q<-%rV|(gmVg)J@&@<-7Vz8&+hTF+lNc3X6X;57fX3Lc z$>bceIY)q2Q^B(Bl6cG|LDe>qmH_9riL?Ybv`wVp3>a$n%~P|K#1^R(E=?}DZV2c>?4K&;XufRIc5m!DVBO@a$ YKe~5@Le7#e>Hq)$07*qoM6N<$f>(0d{r~^~ diff --git a/app/open-iconic/png/thumb-up-8x.png b/app/open-iconic/png/thumb-up-8x.png deleted file mode 100755 index 6e927153030ba2acd212067a6f07a7221a0790ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 690 zcmV;j0!{siP)xXK@`S+S5c&-P3S@* zQv*Xcg0yh$SEx-JDGg3}Y2qJ53|h2PgBC5TjiIJRh!?zyv~gU#31N8W zyzhHwj`!U62eUiFeV%8|48z=e;bzbS%mF8V$2`!hswg5uz!BiCjNd@FqOK^k0N?oE z{N;G1CoK-+TyNe1dwSBs(+ccRJ%AsfMKp!}fGWHI?t5xJ#t@=GE3ixT)px*{mcY>`W;kY$n>Tm=?*aZG4`4Q?xEN=^G|AOh z%0?(58ayVs(n?p~0mCXv15g4sNoU>xw>89u;5q5dJD^=dY^~`dxy@w>;HiS%nlcLf zB%65$d?&d#)D11b1K=6(j_k(&9oxVYB5ensn7s32k5ga`7;Mx4F2}Jn1gil!VAUtS zBrsVL1aMP1#dD5mK8wfT%vWGNfGuBv^#HsNE7s3|K9W1dwOHpYX|{T^^m^6-)Qe+Bj40UxNrpDOD05G(@&Ied!^4nJ za0`PlBg3pY54nJ za0`PlBg3pY5)2HCa-J@ZAr`&8m;Cjd14Yi5BDVI-Y#8( z4Ghr+0!f!58YMbIj&QA6@ULar6i5HZJ8N~-El=*g|8w8_dB4v|UXqr#l<0ZZ=xli- zT)x?6-NYw*1dd4hu$DFZ+NkYu%i7j_{e{A8U!QcnH4A2RZ8vV>UXv^&9Kmx=Co975 z=;sQ~k9GH~1H067o{084)!cKBapkU_$$foOOS?gYZ_8tg&Rc~E-ic+iRn3}1Jb2bI z?f+uD)+ynA?4=F!cP{^&|4=IWhfmi29p4$J{E=OKaBaHvilg7(+4JnO-!zT2yMpie zDTYE*3*NbNe~6}TX)fpz?Qxw}Ahvbexv1xElKxfUJ7@PgKFT}uP@ue`d(C5o^|?RT YB>23Q*<9SyfWgP$>FVdQ&MBb@0PB#HRsaA1 diff --git a/app/open-iconic/png/timer-3x.png b/app/open-iconic/png/timer-3x.png deleted file mode 100755 index c76e6fc70fb0a44f61e3d519c730ee2b7aec89bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 549 zcmV+=0^0qFP)M_;KSKTjq8TYgsoD7l>@1bBA`2@E8WWK-(TlEJ?9-#U7ZZptL1fsp$xV-KtN6p8UvX8S1rq65AY4Eu_5fw;5Npw z&_~zA*IejsJXW-*YQ3(|p2BF(e4U%jczdcj$0U0v}gs^mnIv7 zZVTpcHfO#a^TGTT_T&U*jpGBZ)e&bB^N|{U0~ZxHz9&B{4qDolx|6qXzvMs1nt-ju z+Ej2g1l+7KKY%wS_boP;`pstPvkJ$(` z@F@JB_{V^#dzgazL;3=C{-yaY#rx@b?CnRo8wfA3Zb0)UUIy)S6>$`wlaL()oIIMh zu{9?+p%}5)t{XUn;gU0~7=$TH+tR`Dngjg`i8qO>Te06B)Vx>QaHqm7UDImXlB<2V nf~Shd(0x$iEP)?}lPN=jK^6br>5%J=6Oi|349 z&wI>y4zqF9Q}5fk?(4dr=iKK$_o*nx=LAkIn#zzX37nyl38ZNLLbas$sN=s#paCm! z6t{D(U%~+_!MFmg@nw>0#2!2m>Y!+yFVI_z1*zuqaW~O;cy*4Tw->uo&DY{%N%NP& zt%}i%i#VKW-i7Zu2493D?#3KU#Dwg3H+pik=Aj=~Feb%(9zNulU%-si9c0*?Y26i0 zp%4wY6B!R;cS+;1IFiK=pfxpcr}~{I7fptl=*wb1VPR@u6^|nGb0y7}3xzm@AJ|wX zxIHrejOmH773>#o*Kqv4h|`4axFtN^bvP6ya5mArS?Gebu_q(WCcLV-elSnyW+bvc z!F(?6M{!q$?pccsIh;DYh)6}1+m5$U%souX;kHJ+r+I?kBGTA`1mc}P$E-ha8zb(w zm{3(ea1;$7wFAdTtj6O6F5wBO!$6c}QP*28ydj@pMFBUy1<&$G*CSF_foK`5i?pxB zgsRZJYB8D#tcm{j=8=~9JU&F{gztqmyvxb_1g0byx8QV6{2RdomMd%x)&>{aM;%RBHfb-^W%!kpYz9!17J|&L*PpAsj++V`@ zfl!3WAE+tBiqJqhu}B!jCui4QX9@P=GH#?A5922q)E{bV9Q%s^0000X&PhzLs%s}j2>=lBQ_OZC^!EMj&2iV05kE@fcBGZ z1s@U{AH$7p0}S8{d^@231`ci`xImmL$8cpE@d>yNe+=kvlvbk^UKKz68`_GG;}ASC zL36@o^l7_a|uY(ovbPTCw>pnAL&)W#d{C^{=hq9jnF!N5pCK_QsYI z`YEz#Z{1nKTZ(6~2VYkOxu`(Azr05__ihGW47ArMz7wxdoW@H_kUN4PRVQZ|PLrNo zk?vcV9Pri!oRv|aVJROM;pGO#NoBy>m{aiGCR{G9ZV}c6pO@A}(aC#m4YPw7!rg&Z z4_l=&r3~i;+)v6#TLaQjnG;x9Vt$uY-Bw{%z~53v+8vNaGAHnP$pos>Wgn9Q{#cU< zXS((9yr8~mt__#-Y+h$?l z<+C!<^8xAl%-~&MMd0PRh%k(ggYPcx+FcDqF-z~$ixtm$2c~yut_p{Xn`P&h5l6&l zL3o7!1GpvdFsepId^8|$_V2914E!8;c({(h{D53rpd}s)V(*m-!&+Dyi1ct(w|@7* z)g^JWD&l$41)@l3r+T$aE|%K&az8kB&Xk(8Wr2G5U24cK zm-f)$grY_FlWO?*RaG>NK}h&EqTqL+=$U7GJ>j?^~KHIqBm>)^GCFj>k@ zQHpIdc1zi&@rKR8JaL~VckGo8sq8%81?Ed>u&7m7HAbbmf&=p vEOj#a#osn534A5h^RG+4I__x^b3gnA1k{QY(&vFG00000NkvXXu0mjf^4%s#0mN z#$Zw{_-{a{(GZE67}RP+5{+J{#2YaZqv6II{Et5<8Z}<(g(RR+V`72(*f7vG+ESa$cDnVmT&M&4v@y1VcDetULizWHX_L~)FH;K;+wkmOAs zI3f=mdGO&e6Qz*k{{C1|xCNcn9xUi$!B?8&65A%1o<&|({$mIs^%YyxK3 z5(8hyrgk7-&j>PGRFGVu2bhcG3zq|D0P8IHR{+lft-v=(zpps>%tSBnGj_k=DDWr} zm@Uo%+6?ZS2E02WpqGmd;4{nv{|&e|HWw0oz~?o(hmfq(JJw+y{2Rcm5GE2> z3X~Jtw}cQ{hFRc$11m!qNT3;bJVpPJ5Msw;*6$Aj*M=~Vz$|1SP3pf&pju(tn@*dn z2SSJ^a53;xivCv221{$4jQq0N3s@0CJb}AOUuO&xaJ+deMKIYmgc6U@0j$r^E(2$W z5^hK4)4brvkhC)t<^W%0XjgzM0%~((hH$+;{p&e;imPpR81l3Mw*lLcYLqcv&k>J+ zJxI#w8_mEIiuTh6JiWjg;Fp@`)|i@T1^!S>gjizEMAjL3x^IzPxGf>G(L2Co%Coyn zja;Odm;g?(iOc{C_;(eT)jlRawVq9S;I-{E6Emw6k|GtFG%QCiobE|x0&veI6>hon~-R={i5@~Nnzzp z-1aG(72XLG672<87a9}DN^fgtnRZ9+R)zbJMo>aV-8@WpG*`u@oNGf!UBPuzv{Si$ zz=UL&{I}>*;H*VAGOs6jM<})h2KpfQokmasepK$6Q_Lg#kmAOAWKb$26`g+I+k)KM zkF#4Nn1W1Ei*oLnhy8{{5_^D~3v#4ko^pLqBPao1Dfe7zY^VOXOu4?(gruMResq|y zg%DSCBZZPY??$O`Gx@~`mkg~QSV_L;{aEA{T0vx|4OtyfLQk))>X+K0A_8vk0^)ZZl#^w_p$kd(Zbrgpaa1SY@5psg7(RdEs=V}+?E+j3^Bc7x_TVh#Q zn&GRqm627V6CO4Y7)NS)^+rEt$MNnjA~FqqZ4e>j#rz^dmRN|saT6hntHS$+0|r77 zveLS$sF(q+LGPN?w#1j{3xLw5f>*_yjpg>QY4MMC$mTT59eh;FftG_9w+6WUK9M;2vNxa1uwJ z=xB=nwir2FwGsH!L1!<9yFW$H2Yl~fE^WLRkDF<~)_(cm!B^3P-Ix%%ZKFOX(~dwZ z@O(kzKH6FW40txU8b4ja<&*a|&lg2IvUoZ`_`u6ZdK=_qSW$EV4-n=bC`OT0o%6z` zo@hZ5q1Vv&8uQwIq>?j$pZ{o65#qFE30WvDLN+euBBwbzk^edY={n;`-F^@$xotrb esmTDIGVu=)j$#F{0i&+~00004nJ za0`PlBg3pY5zopr09WKg ArvLx| diff --git a/app/open-iconic/png/transfer-2x.png b/app/open-iconic/png/transfer-2x.png deleted file mode 100755 index 27566b5ef616d22cd79530d9e0b94ac097084d99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY594 z{=>Z{y@2q!H!e5_>nZX1M!HEbDDyV4nJ za0`PlBg3pYARYCdE{-7{oo}ZY@--+3upFPZ{K4WU>6bps)^?eS6>xG++iqsX$*Q>X z^xbz%btwuK*JiIc!0D3O%oXEMRrSG6lEZud3XM~oWpiBRO>fw6_w(|#=oQ7EZ0FoE z!6PE`f2T@K=d;Amo29o2g)Y)O^yuqU&Yl*J=7}8_T-!|8?S;)hZ||-=a`Evopi>w; MUHx3vIVCg!0IHZu)c^nh diff --git a/app/open-iconic/png/transfer-4x.png b/app/open-iconic/png/transfer-4x.png deleted file mode 100755 index bc957d47e6e92726cef51ad6bd55738636920ed1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IoPZ!6Kh}O5$4EYW@@UXC-vQf3^dR-|}DPqHV%e&BGQ;){YsS3(( zMVEVQySB0RL#6>Gu zT6Aj43C&=o+v z;@_~w=WS%@vR5nqi_gjs4AW5jEA*Vj#eT7+x7SI9+9@YEJLH}f6)jDfD3>8~yzt*) Z>8(G0*9G+S{RR4*!PC{xWt~$(696wCemDRC diff --git a/app/open-iconic/png/transfer-8x.png b/app/open-iconic/png/transfer-8x.png deleted file mode 100755 index b35fd4a4f33d1e29f84759e3b3ae2583909494ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 395 zcmV;60d)R}P);i&?5;OO0mm-?;;P<&hQQB8G- zt%Mzb+)8{JfYeIN4M1ikz762(O00Q<2sOJB-i`gbI?PIVH{?;{O6=Y*D0%{yy>}PR z>hMRcZZw|?-p%~Fu82MaAHbP_*8KC6$Vam|^3lje-ja*FB^P;1F7lRKRif_V_8GjlA3d3e(8T3}7zu5(8L@eE0zrmLngn zMr$J4nJ za0`PlBg3pY5{tJB;No4 diff --git a/app/open-iconic/png/trash-2x.png b/app/open-iconic/png/trash-2x.png deleted file mode 100755 index de1127e873e012ec6ac85627258a6634e47bef2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5-dDykDmZ{B#VnN{+`|ePR8h>eS1v3m7xzFZ;(G7qLKSGh;-9 u-eP8xM>*Qg)qVDiE&c|gY0NoA8<_X>8Q$tw(~}0;%;4$j=d#Wzp$P!U06=X3 diff --git a/app/open-iconic/png/trash-3x.png b/app/open-iconic/png/trash-3x.png deleted file mode 100755 index 1a573fcf18704dc2f9b6a1ea4833057f07e12a1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARS$vE{-7{oo}aj^ED_4IM1)o&$i)Gcm3`blfl!sV8KOE-(8xAw`g)c zaA($VU_SO}$IGur?<#0)j0oCmI^m>h=?kTJ(T!ii%EMiC{IBly{kLNmi~1WqZ}0g^ zUuA!)8%}mK@?bm2)@nML^~FUt+Y3x{XMBF?cY@{FyF;v6*Y>|`xPL#PVn;ed+Vz7> YvcD78mpMgk1GKP)Wi)@m++_?ewgK3VvWTx0D4*W@gDX<2Pz(ddt*aCB)UEzO0 z83H?G(~=JFyQ(Dkng3}2{)QUU3{$R}{oM5zYr&L@Ha~a$Mc%@e)g^|pvaJ$ZUajTZ zDzR0nwW_vCY!$Xvh*pWM+|~-wDzPQDR)g2V_VN@rq_{=*!t27D%Xpr&>Sc<<~;#y$=BH*-pc>$Icjrgzv&Mp_8xO-5= TXXzdb00000NkvXXu0mjf9>4nJ za0`PlBg3pY5)2HC8$DedLn`LHon`396e!TPe`&y$4U>{Jwl1Aj!F+zfcf*W~J)Il3 zE;KVa#(X0pPh{`w#4F zo_Fm9lXHSs)#ceqTs#ejr)?F#%o=yI_VMbEn^x>J=h=Asj}hD2cMBTqQtf{)yZ!J? zbj|Sv$7};6uS70odMER0mhrKFuk;_^jox!~>gq=3W~7xyZQg&(;$={B&1*c>6f( z&hrihjwS_;f95M^{x+HTU-ex6kw-Hh#0j&lU|qqU4#1^MikrDlx-YczvDi=72#JE51#g%viq4g*e=YkV{9^6N*G&1k zPsI1io>P3j`3nC7F^j~yqj?R1X?dA-6B#Y%pE&2`cY(?F*?oaGE+vd`n-!AJ9*K38 tv{yZ8$!5c_Usb&@iOGifzN+g#hAN%CC2m_QZvbPI!PC{xWt~$(69AlJ4nJ za0`PlBg3pY5FJPR(Vs$K_L;TNiM`HuQOP-UM lB2A=N|D-y6Js3ZOg+VG%(EmoyGESg=22WQ%mvv4FO#n`#BYgk> diff --git a/app/open-iconic/png/underline-2x.png b/app/open-iconic/png/underline-2x.png deleted file mode 100755 index 70c90d0a850aa9eb8b6e6a8c5591a245179da3e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5krS?nG2pZGWPJy*f~LD@08`t3|Dd_Uc^>xTMx9J!PC{xWt~$(69AE)K{EgV diff --git a/app/open-iconic/png/underline-3x.png b/app/open-iconic/png/underline-3x.png deleted file mode 100755 index 64b19ab453fcfe7c323f1cd2ed198816f7ccad30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARUW6T^vI^I^Ry+$kl8h(6+ziMTAWE`77-k_!lf#t^d%u^wpzB)fQJT zEwyq{JSNk7)$`NggM~Z)+;@DiXvXT}x~f-x$J?que3Zx4z`)U<%w)Cj{i7AGZvVcq z+O+OF61ZEsQkgO5?gi;fef$#^F7IooS>yYBr9Q&~A%&nT2P%0P7BIxkd-gHvvuF4M z7C8s*8u!b5f5TqdPiEI$GQs}W+I`sA<==v)R*S3j3^P6EjO-Pm!oia|Qte<8=TD%p=BRh;i1*rsgU zAgrSso_H}SV48%ncZuVTp9-!zopr02$A8RsaA1 diff --git a/app/open-iconic/png/underline-6x.png b/app/open-iconic/png/underline-6x.png deleted file mode 100755 index c848de91db2e197cc74aef6949608be24b7ce5ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hqnAWs*^kc`H+Gxz!(3J_`7&(yZz1A~jZc=HiP;WBk~_Q%WY8W-yy zOnbn2^K$i=W_thIU#G6eqPD>IA?rSd?|R#Jv|S0e1O_>S Mr>mdKI;Vst00hRcf&c&j diff --git a/app/open-iconic/png/underline-8x.png b/app/open-iconic/png/underline-8x.png deleted file mode 100755 index 5c219980a616a2bd71e00b42977d1285cc806c87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 572 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC_dH!3Ln`LHon`IC;waE&&tBqq(1S%VR**%M=d7!3Q+Ys5OWXnL z7rc9#W-drbd7^9}z;f__ivUZkd1Ujsnlo4Oa^LGm$(NYi4Xyus`R?V@W%5_I@YJ4q zQQWuw)cdaZ3by~OhZwdpm?kzvHOw+_&~@;YSRl4QjVFLRK$vX>>k3ZhD@<2f7_%6& z2rG-=sVILYQP8tC)F$65iP?;K-WxOsCd!;Jd&79U~DVVh%FoO9u( z=`^N@^)HGqI^Nk9sc`r5$1P|1KE0E8w5~KF`1TyBBU84rZMfsMFZ9y0XtB?%5?`jK zrmuABS-N*(n$yi94UhbNtA2 z$(Gm4RJ?ufnXUg$@O;P+n6Y{8W9yimGuhu=6#38K^Gtu^EW-ya_r&e*H{UuVazO88 z@s;k(|JwKdl=m?IUNU#*?N)OS>3Jn*qa{_(c6k43-9KU9=dX7b?G3+KpVU-R5v8*B zwv_=B598nYzsx-Mzk279{yX^rN5$DCx*Sak98C-!>{HZ>2m-8 diff --git a/app/open-iconic/png/underline.png b/app/open-iconic/png/underline.png deleted file mode 100755 index 077f21debf03cb0d72098ec0772ca189ce417167..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY5 z!2Io>&o1b95ICD*An|1y4nJ za0`PlBg3pYART$0E{-7{oo}Zc$%sI1K|76x4`;+}@&nE_!wPIJRUoVIP+RWhT>gTe~DWM4f;z37O diff --git a/app/open-iconic/png/vertical-align-bottom-4x.png b/app/open-iconic/png/vertical-align-bottom-4x.png deleted file mode 100755 index d68689a305add43a8567306d30ebad4b5a224968..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}w&r;B4qMC;pWySW++cwGCJ+NJ&fFI?O6Y7w8+tftxr4{Rqa&7H)o zD$u}c(IerR&V9AqLEIzHn8Re@FFogG6%_?W`H7D=9Q|(H#kIyE_s&^||H~rIh)0}N zwE29KWs?#kr-uWR+>8z8^B+E3^QHQuvDUi3e~j(qojExQnbuvG+IjYpk1fz044$rj JF6*2UngHWkNNxZC diff --git a/app/open-iconic/png/vertical-align-bottom-6x.png b/app/open-iconic/png/vertical-align-bottom-6x.png deleted file mode 100755 index 796581c0db64528233cbdaa4f9b928334f7f1920..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383I&PZ!6KjK;S&W4W3fB-|b*S4sv-XZ+v&DxY;*!>ePbJ0zuQr=DYO zdSFn;E~3vO(GdQyFty6`^POEEm!y4mKAma5Vph8GO$lQ|g|iJN%$ImPUQ55b%6R+G z*7F~KM4oP7-=G~+&F-h0ck7d&maJUD{a4FY*R%6@7{io<7+d6aFdRSh^|}7_Y1{f$ r&Mx>Se)-Xwf6i$Rvlu6Rxqr_yUoAvSZ|YW{a~V8c{an^LB{Ts5fxut5 diff --git a/app/open-iconic/png/vertical-align-bottom-8x.png b/app/open-iconic/png/vertical-align-bottom-8x.png deleted file mode 100755 index 1f593da90c0579884ffe8c568a7929c7f662c0ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5@vF4!>V7)zfTSFo>Y7Er`W1r=4XxAo-&j$oMn8$FpK#DqY3*0 z<_tau_6sr%d<)LX$|ZYk(zW^Rad-RP^;J9t{+qOIs(p)cZhTsJ+7lj^c{*%5!M z8_+dcGRQg3`hd(d#ZU{VJZ5H1uaJ W*L@tDSpoDl1B0ilpUXO@geCxpHg(4nJ za0`PlBg3pY5JW4nJ za0`PlBg3pY5*^;$e)>-^bu}Piq=^LiY^+1Bg h1EXJ)lve+rA4nJ za0`PlBg3pYARWb?E{-7{oo}Zc|N8e1M`LYD6Ww0A%;4ven-vnR$)Lh; z)WymEiux61!`EU21{KJpEs}g`KMQU!(QEEL34ejfz~s4y85}Sb4q9e0N#2> AWB>pF diff --git a/app/open-iconic/png/vertical-align-center-4x.png b/app/open-iconic/png/vertical-align-center-4x.png deleted file mode 100755 index 5b36c8a89fcb487ff282c726a7055c726370b545..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}wyr;B4qMC;pWcexrAc-;B}ul%;pPAHprx8kNseH(|hfxsO*yBloG z9~?xKF8G~zx%%;FPT?Nm$S(@`RZEchyMxz z88_ZJ%x>`tnp%=C6MDP*i}CcQN{g0k{S~!he&TAqx>km~_9IcQmu^^m-`2A}m2HNq zEOW8HB>&l%R-Mva|JgVmT&rbZ`0(qA#zyVC@0nQ&lo=TQY=05C!pmy^&h(X+|Jpe) zm^0bzWP293Np9B9@+z-2S9`)w^fKf%`>a0Rwf8GCgSOnW2fD3~Z;Q_cx|+e$)z4*} HQ$iB}+1F;D diff --git a/app/open-iconic/png/vertical-align-center-8x.png b/app/open-iconic/png/vertical-align-center-8x.png deleted file mode 100755 index 11d9e48668367076ccd099ba4c926c5535183769..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5NDY9z4nJ za0`PlBg3pY5@bH`o_!d9ILU|TbPR^f(im5*i)U&a* p*?YXXf8vpjhs=zrFJ^sYW^kRy_oZ3F`#sPI22WQ%mvv4FO#qd`Dj)y= diff --git a/app/open-iconic/png/vertical-align-top-2x.png b/app/open-iconic/png/vertical-align-top-2x.png deleted file mode 100755 index 2d27106582cc2f7cbe38e98de711ac90a7001171..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5>x#k_wrZM99iD(?!vm`9s~o9_vC^3S%2U%-zopr05;A&U;qFB diff --git a/app/open-iconic/png/vertical-align-top-3x.png b/app/open-iconic/png/vertical-align-top-3x.png deleted file mode 100755 index 4b0caf92977299bff83768a162dc3b028acc4fc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARW1$E{-7{oo^>?J0oXow^+4he&-kQ2tx_q@V}2|+B1~4@hvbc3jZ6Hw|?jP zg$yhT42(ylZJ95mW&M?AxZ68#&7JuU3`_;=9U}L#o&D$Q|BcaJT&%pgdgVTOpi3A$ MUHx3vIVCg!0OQO_a{vGU diff --git a/app/open-iconic/png/vertical-align-top-6x.png b/app/open-iconic/png/vertical-align-top-6x.png deleted file mode 100755 index 16ffa779a1bb1527691af6c20b5caf940b384824..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383HtPZ!6KjK;Uu9J!heL|iY5zh)}od{-Yh^__!t-fNZ1EiCqX*xohv z@Z66P@R{`G@&UE)jPH~V^fEB)P<{F}K0NvN2lHd4d6@NM7 z`D*tW*-6t58K0i>us(%lhu{OZ25H7T2;;VlMfUV9X76g<_L>+aaL>7#^TWS`!JO$1 rM}hKz+#d~*%dCBluKRDr&kz#xa+#?Pi)(ra(5(!fu6{1-oD!MX diff --git a/app/open-iconic/png/vertical-align-top-8x.png b/app/open-iconic/png/vertical-align-top-8x.png deleted file mode 100755 index 67b290b3a7d0ade17c6073e8aa7406fe797c1637..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5Nm!*4LYV3@^xfzgD00doeQ1N#M;1{9MR&O#Mz*?Ca*yUO%a z>G}70el9u6aGk9@MEall1BMc~5)?Cd?GMa3cmI0%kMDJ!lUOR5t#@SEY|}N{2lO0+ Mr>mdKI;Vst09B`MIsgCw diff --git a/app/open-iconic/png/vertical-align-top.png b/app/open-iconic/png/vertical-align-top.png deleted file mode 100755 index d4c5384fe4c48dddad4030585c9f68e1575f80e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5E}Ys%62PnhFzUj#Lz0k_c5P8f*oiKgQu&X%Q~loCIAYWDf0jT diff --git a/app/open-iconic/png/video-2x.png b/app/open-iconic/png/video-2x.png deleted file mode 100755 index 312a21dba679f73e96d17aa10504b441cc318619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5?&QEcX>~`L z9glMMKmR`Q0EV4$3r;k+l`sY!ZfIoGlvyFvtL}NBrpM*98w&%&&l*GKMP4nJ za0`PlBg3pYARVQiE{-7{oo^@K=4w#jaqxHjAA3G_UqzxmYgE)CZ2_AN%g-9$6wwm& zX<$$@WSQao>6yk0BYjN=`K$z^r`uk;tybACS>Qgy=6CjwC#!gCiWcu=){lR);0{}| zM&KE3tHN1-K20`f-Pt0fyTL}(<<#|_&r?rvTNh5LI9$Rl%MEk@gQu&X%Q~loCIF+W BM9lyI diff --git a/app/open-iconic/png/video-4x.png b/app/open-iconic/png/video-4x.png deleted file mode 100755 index 1816fc938d6f7524298ad3936118242dc2e301f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}x3r;B4qMC;pWhI|bQJg)LF0edIj6Whze*VP>)lf(Yfdq&0&{Y)vY zK4#?!4Szn~Ybr#D@BdvDxjbbx)ZueaKKfFO8Pc4AkTyVmn%|}H# zO3YbnxpdYx-S1CasFtYqLF3{6#3wgmwq)q3Ffdz12U^`PlQ}MUlX2Mu#;pgZdb$7| O!{F)a=d#Wzp$P!C!AP0_ diff --git a/app/open-iconic/png/video-6x.png b/app/open-iconic/png/video-6x.png deleted file mode 100755 index bea7967945a3794e91a199faf2fe5f8de11472ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IrPZ!6KjK;S!0=b$TL|pspBIfJvESnI>-658-jq&#c1+LP24g1pX zGJk&FT+EUlBH+Z4ueE?pYC&<7ZUN&qOUA8>e>}H}e#-sJdjDp=b1vN%moCuncS+p2 zW6tR$O_2=()ot=M-{(H}KA|9Qm*8br;?Pxdqaozy1V*u+dXF5_l5}ssP~iID#(2+# z$0CA#&-cIctxv=)aofSo&k7>@S(mu%;Pz+jadW8=zvTXRl}2Ox_9N2euN^pJ(gjXF von{=u=w4I*&g=l^jVCM|iY)?8f3*Fle>Ul`+$Y-$^dN($tDnm{r-UW|hP7_9 diff --git a/app/open-iconic/png/video-8x.png b/app/open-iconic/png/video-8x.png deleted file mode 100755 index d912be2b906fbaf994615c48d980606822bc0402..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC@}4e^Ar*7p&N9q9&YNp6dFrjbY}!uaZ;c zXL#i;lJ4BW;6IUxQuuc>ZZSV1oi+HZOQa)j}Aj7})C+CVQm~B6Izs!($*X0tvZp`y645 Vd74nJ za0`PlBg3pY54nJ za0`PlBg3pY53u=qk zuiMbE^oGX953Ef-PM;Lsq{w|vEi-2>e9JKX!{n${7A#wey4w%jW!Tdwyn(e!^MIWO zA7kP>wjSNXQE{;eTvtxTPdUw2@wIXD9$(G}j5;FcpU8SM@MVaE-`ao6ty{D9pRj5J zTZHDk7m>fOdD%T;*l{X)I)hfix%b~K=ib{Gb#|wRsX^D?>^EBWjm@{r{P|LOgEwwE b_LDm_GVQ^C|D?k}pD=j3`njxgN@xNA4<=|H diff --git a/app/open-iconic/png/volume-high-3x.png b/app/open-iconic/png/volume-high-3x.png deleted file mode 100755 index df99e90109e18ff5877afe5b9374054409e719b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYKpl*No-U3d9-UjS*?KuUiX8noziAe0N47w-*}4Nt3wm2yt2cGr;3!*^ z=~5uA)UrKj{n(^Wsw`FP;uZZ`qq^ui#>1wce*6%c;0Fvb22WQ% Jmvv4FO#qG(jNkwO diff --git a/app/open-iconic/png/volume-high-4x.png b/app/open-iconic/png/volume-high-4x.png deleted file mode 100755 index d76349cb32aa1ea5271e91e72404cb4a97c7d732..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 477 zcmV<30V4j1P)la- z;pG3qgiHeVngs5FIE~8H)yyjg*bwHG0!#r91poqH0KE+JEPxnz1}=boV8Mm?ror3< zphpB80rSI}PXkXS093pK&0zoz|C!VVK*gSILtaRY19LzNxHR-Md;&-{fKc>=DP$!8 z0IL}gJzoH(bD$~uBB1UA-~%`XRx)Z=qPOD%K#jiw%c8a|de3|U#K4KDEs6SFV3@>4 z@|)}Pg}{WC*MLtg{~jx8o~J0M9{UD37kORek3IojNO!rWb&=nI`%Tyfj)6rn9st*( zx9tPKq?YI#05eqqtdabV^}enu`UD8ll}qzCwR#@_HIf5ohrdU!ime>*UvhmR*|jkT zcUQ7LmMhm)=2AKU4uIKV&6SE?%fEnIk{?mWg|Sl6hly8>^l7Fv(#I({exCmTlD?Mz Twlx)}00000NkvXXu0mjfGWNnF diff --git a/app/open-iconic/png/volume-high-6x.png b/app/open-iconic/png/volume-high-6x.png deleted file mode 100755 index bd0373b893748937584adc45aa6a7b9d09c9e0c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 682 zcmV;b0#*HqP)?r zZxAdL<2SGn#KJ-m6-BVn&LX6+(pp46gyJiRiXhn7+KHl(gdl_%MX>O_5+o8~EhYoY zI(Igk-O1eXfzzBhbLRQ)-o3MP@6cNvMx!MvqqX>?!T@*uYrZl7M`fF@1i*THQDK1l z!shb;`ii&KUdQE|&jV=S7pCzT=drs;v#lD$SKR?*#RSe`peW<19_E?Y&-=aTu0JxRY_jK6+wFLmw@jlS^McDvz zl3C@#ywQ+OX5p*oh}tk#Ven2Z8hU!~y`jFcLWSG>{)A zjvd$en~U^9q1h(uy0ciBksrYCjQm_oLx|2l%tmYglY#tTApbKqfIETw za3KFNCV+8V4IJAS$iE?uS!f)a19f>fvXL?YW-*3ySe{dtw{$a9Ccr{empn>l^?jBW z#SD=5U~?*VfJ-?&r?4zmfI4or>3N{}gjfJ-k{@hn%%^d^^~ACO`mqW7aYcBlY>qLk z>fl4kR9OpK)APVxYXiP5F~Do#8{ML`l#9E!^uAIaw6b6mqHb`)tgq{VLXMWc22tik|rM8yH9_^Sr|2QPb2!s|AF0Stj?m$-nR Q82|tP07*qoM6N<$f@{PzK>z>% diff --git a/app/open-iconic/png/volume-high-8x.png b/app/open-iconic/png/volume-high-8x.png deleted file mode 100755 index c9c6cec50d6afb558dfb9cae11c4901bd30894d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 948 zcmV;l155mgP)W+ckW$iZZZ-CF=#0W1??(Z7{)U-&?st=K~X*5 zds_Fj7!TO(zB_ZzJ?FkV=lX+z_xR5_|M`Ds?%bKV|6z1GhN4HA2)(Fx@Dl-G4Sq7g z06w&I@T~{%vi`xh8o>Sd*#rYPAs&2d0lXqD_!I!s4Yd(WHSo>{FpKpywV}Wb{E8p& zEzaT$u2yVgqdF0XEea%HUduUn~!RvMk~t z?yV`Nf%MUUjco!zSuSFGJz=G3XT^p#1)#tJUaup#nAQt3^tb^i%R9q|*k2zH*}#~F z1rUW$hl3^oObI*6t-_E#hHDl4?8+5DFWrsTaDD(k^LV-~07|XE9{ic;YZfzY0#NEP zVTqjL??4*?5ax-q3I67>p^X3t5K>0M;kE*R$1xZ2xghLXt!SVDb!*Tq`z5>^sk0Kh z%YVjw1pI?5cpp0w>Jtu8E=K%*l?#CG`p2;<;kh>>emicRBjg64z~|yy-WmKJ@x3dD zIiQ!G)ism%&;m|J>g>oB0AYwf6RGoA#J(kG0Pt4CelB8vG}#i_O+-y9 zenfnMBw)2YI0bGgLS4Zq~xdZq#V&53CU&|Rl2S+1yVn^dw za|UokIN|B1=OXqCvzYM9)1}7p`ux8Z W%w05XGxiVw00004nJ za0`PlBg3pY5>UH*t5A=k>N&TXb4$m~!=cIe$K)ZBxJL zWSa5JnNOD2o+hvY|Qk{NVwc>xwg2VLDI>ocP=jUVx6CV YPbf|_Uh=@*W}qbup00i_>zopr0C^uc{Qv*} diff --git a/app/open-iconic/png/volume-low-2x.png b/app/open-iconic/png/volume-low-2x.png deleted file mode 100755 index b30cc591a465496fdb155c6935eb65a0689ee37c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5@7T_>D_n4{!l61LogC5UjUC;_ z>)z;1nb{ansDJuP$84Uegm9i|E`PEgO#YiwxinjFB^$dzUGu!}^~Ksk4ZbHC9t0Uh zG%Cu)Bn7N$I?ei2Dl3VgvwWS&cZxvjH$?rLdnp!E!%u6{1-oD!M<5&=W$ diff --git a/app/open-iconic/png/volume-low-3x.png b/app/open-iconic/png/volume-low-3x.png deleted file mode 100755 index af03e9c71b22b0d66369c7763abc42d184b0500a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARUW5T^vI^IO4B7?}$e2VEIO4KkRl{68o-yjydB(srg3 zOPJMoXEd@G+_swV*#F7An^Cppxd&3LO^ZHUWV6|Bw$AP%#}t5y#U6bMxg_Tx2 wmRvro7xL<@)D-q}T307>)=T^n_?i2YDJ3z1-O}(y2+*|*p00i_>zopr09)5tAOHXW diff --git a/app/open-iconic/png/volume-low-4x.png b/app/open-iconic/png/volume-low-4x.png deleted file mode 100755 index 8920086284d2257232a834cf34c4c404b0b5e250..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x383IrPZ!6Kh}NgmH*y^^5NO-)b=*(MuBrLL^uiBj_4>)BS_ndq-rJ&7RGDxqEdD=7v)q)A# zpXz>9w0-iCf5n*cZ_zjHiqj2d2VP!ptAFOesH4O1?!dltG0L3HQb)sWavJnrZB=-w z^m!6bPj`^|nc>gTe~DWM4f^XYU) diff --git a/app/open-iconic/png/volume-low-6x.png b/app/open-iconic/png/volume-low-6x.png deleted file mode 100755 index 36b579f2654f17eec941a6981910d03fafd149dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 402 zcmV;D0d4+?P)s9H>chlll*#l2BF5hFugtS{PRG zB(T7l-{Hdu>?;o+LSP*)0t=i=htFQ%!1(Z43vA$3V1WyNhtF2vP_^(`3T)wBV1Y~3 z!#5@{7<2rysZOTJeA@y3OE1tiy}%Tht5ck#zz6Pdf|W^cGEncGK1oaQz2*@+kp&7o zU@5Xdf#c``SE=IEh@Zu;M5^yHxgnOzigSDmm63d6Q3UQ&C!z?P*1aI7L41RSr~fg!GOgvBaBbEDQ*H_9MR(hIarFVH1gnb>NQO}q&#K=8@k5uvBo>A(U9!Izju wgkI!>H9QL}0DFQ95PYiv9oX!_6t~-a0Zbf@f*(r@4*&oF07*qoM6N<$f_Rjl-T(jq diff --git a/app/open-iconic/png/volume-low-8x.png b/app/open-iconic/png/volume-low-8x.png deleted file mode 100755 index 653704ada0ff3cc71a0d1fac3ec5ef54e0ccd339..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 519 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCD?MEtLn`LHoxR_S*-@a~UR5DOSmdjs4$JH-+nN#-f3Vq2n%mVR zAX3A$ww6h{yQFJ{{)79QIiy`4oqhW4(VcT|*uzu5&$wScdoN4b0$UlzqccvkM)&Z) zcXANlaeQNg@ISu%xC3TSANq1fu*enYJm9h16Uk^D!kr&*RKG<%IsKhrS#UtZ_gclYTv1uD2lg;pgv};tNl%DPz2q!gz}{V=`-o z_yS+C1+fmyXO8%6Q+U8E!O-ro{^jiQj^Co!kEnjE{-e1;K=_xsCYMHobb_7I_l^)& zkpqP;?*uiuH5zy`H?{h1=&8+YC}o^|iQ%Q}t+xG#gL+frCz~g%%h~i*RN73V#e#elP5%{Gd@3inQ`j3pZV2(U9*KnmWBXhlEKr}&t;ucLK6UK Cf75gT diff --git a/app/open-iconic/png/volume-low.png b/app/open-iconic/png/volume-low.png deleted file mode 100755 index e1b735ff1f5e47a183e70272d00965564edb9ba5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY54nJ za0`PlBg3pY54h%ErcJEX4nJ za0`PlBg3pYARQT=E{-7{oyiFccvuV#4F0qytzs5rV{4nfWlMtSq=zBf6?o1Ttcp@N zcHqE=S<}SU98I$D2i=;$H#x@3q$!rF1lGdet2HMHs>FVdQ&MBb@09ArNO#lD@ diff --git a/app/open-iconic/png/volume-off-4x.png b/app/open-iconic/png/volume-off-4x.png deleted file mode 100755 index bc354f748a1115b633ca218c7694928958d800fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x37}xBr;B4qMC;q@yEz*i1X>=-Z)6hWHs0XEd~lbG&OrxZR>Apqc4iwe zyB#_!{?6e~iUYgP>GXM3!FhZdxDr}7zJHvdmn z_+WH$dOx>90|OHWkOf#*2p|a-jmp&9FCR4;h+pA{m}38U+#J5IOo*=y>#VZ|B;5y!yhvl=J)mcGrmYvG)#E){$nqD&s@3t84mK^ zos7oMkDH5qc)IChFH22=uHl2*Pam&m+mip||Fc{DHk-q~G*oLll(2TJW4I`)u#3qh zyx|3xKrG`TsNnkx!Tj6)EoKZ8V)m%pv0MM^M=Sk;gN~oHm({M+|GA)h=Me@8Pd4nJ za0`PlBg3pY5)2HClAbP(Ar*7p&OWcz8Ytr${)s{9owa7_f<1GM0(PB>p7?={t>@gE zNBy&E}yLKyoR)0>#@Z2b8nlPPA?-5;7vIt}4K zfz5w^%w>M_|G@wJ-Ci@^++;H2P2j#^(x97gnPFRlFY^r&1so>Id;DSbYY=Z@cKD&Z z^5CQo3?KPb75}V!qws5^$(Nlr0(Az49d4nJ za0`PlBg3pY5^OWdijA%9|BEJ_0LPRw2SA|Zyv8ey i18f_tgd`VK2s4y?;7pV#eOd?9&fw|l=d#Wzp$P!*$|u$U diff --git a/app/open-iconic/png/warning-2x.png b/app/open-iconic/png/warning-2x.png deleted file mode 100755 index 81d7ad6588fded71c9671ba86d462aa35314fa3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5djI9*0i=&eZwafvwIG@F6WaU3+C7~ zwz_ZFu;oV7hJZUxDq^n>OgQ@{?XSUvmY?q@dn&9ke9*veU{a;E^*^J`hTN=o%=xSp zOtGtXidsZ7civilz{YGZ^PP}gSFUnsX9^m4`zAA_rwW|>7m+@%qSNjG<6^A?icA|e zpJDFu4`#1mw9TDzGEc+*CcEQDFK>HW)^|59f7fQdCAGmw$~k<(tjq&X`44E8Tvz)l jP|Wnir7n1Bj97e4nJ za0`PlBg3pYKpl)~o-U3d9-V8i>@{L>6lr^ye$yeaE}4HoOT<80*xo>)t|j= zA-(*kkzH|vTv`&Z8q;UlEyX)o-yHuQu};%Q`kh@b`<7WueBNg+-^kyyNK9(=E)pz+hzXboFyt=akR{0ClI8r2qf` diff --git a/app/open-iconic/png/warning-4x.png b/app/open-iconic/png/warning-4x.png deleted file mode 100755 index b138cc86985867cb84c84ceb7d02586684e3a04a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmV;|0Vw{7P)hAkhH#C~pi`-Q1_ccb@gXQQ645CTa-s5P6nmR&W@mTa+1c4&@-~y1 z_j%rAXR_dyW#9);gZcty9ea4?GzCxUurBx<@NE!y0Y=L<9dg*a3p5Pt)4*m~0cpm7 zSF+P5bsJh>y8xclN=Sh_fxuZP_^JS|fM1{;Lf~8|pn#*Q;ceo{qyq0i(*9l~Zi$GDD#1l!UPwF0ssu0-80q8O9>G;AU;z`O1T=)ufavDno{(uD^flE&T1ss=! z&l6AJE6@ifZ7|an+ozhZcmmiebEr@8HPchH_W`$egr23LtAGO5rSNEA?E3K7>RKwW z766{ql0@JtpumX@z8Da$h=1RwOyJ}T?b!@diL{brocOoSm=^Gfd>TE{b5FpqN#MYt ziI0E+HcSGKH45D5hohXPq4EsOq!*l?$qJI;)h&=o1NZ<&YT~`=3;(XIU8KFwZmR$Q N002ovPDHLkV1gz?%bWlJ diff --git a/app/open-iconic/png/warning-6x.png b/app/open-iconic/png/warning-6x.png deleted file mode 100755 index da2bc356a58e9c6b5802d6c47609d1cfa9a2549b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 679 zcmV;Y0$BZtP); zU_mdm*pQP;4Iv0EE{TH>ghW)dI5oA@VoQHOQ%fxhl8cj*i;E6AB-GH0pddyhmY#;| zfqv?FyXSk)`2{`jo$fv7JfC~GhkMQi8Lk6A0d=Up0i8l)RLVP!%IliQ=;g&Z;5X&~ zpMd6Ub{@RIEU#-go1KG`z$Weh^SK0F+`}!et1pwIm1X<`yw2ok|3fKXAatr>ie@RD$OT_YKM>u3kIC?8-Uy>dMdC@-(8Ke_b*O~9&$ zpsU`b7S{}V3c6|+=t=Ajz-$RwQ$0)U&Lv=9KwQ^4a3WT!7I5!Fig!SYv%np}{;YHW z-?2YY6Sg*s)hXBW#352PfC2_8vp%2(ta*r-aJ73|mAK}%heS+(UliNY%9!(zhzX#8 z=M}kg)l(ogzy`(kG#J-1`lw8&B{&0&N_W}`{2NWpv_nIxMeie(rKat7%SVji{bz(=L{%d z1W&86LSi<>$<6j;-IM!XFvfTuzdE{fcrGak+*>hz>w{RugI(#CM5cv zF?HSoblcJeU<(n;71M=~lewH2f0X|#0gU_)kee3Z3jrI5Onfw5_yfGh)~+8f>J9(^ N002ovPDHLkV1jgSBt!rJ diff --git a/app/open-iconic/png/warning-8x.png b/app/open-iconic/png/warning-8x.png deleted file mode 100755 index 748c58d3895a5c6432022b89a70db541eddc0765..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 876 zcmV-y1C#uTP)|dVT00?*sz%rrC1okhRtlOWMhF1o42u&k_8r6uwkJTYAje#ltQB^p=st= z+-{+H@BI7y&bjlNPo3SJ^S+<&J@4Mr-1|V65nviH4aOAEt(+k%w`eS1j)`pPlvxYR zVlUtg(3UBqDi^WKmt!nbMm4&CZ@3q5FHcN8j^QqEfO%kjmZVC&#;*VaT*;DDfnE5^ z8(;?L&5&1|JA@TrfYTZBin0!vBfNljKzs7kf?Oh8z8rg#rxv0c_)dHQ4^s!1VuE=2 za%@VRJ(@O(Ev-}m*V4w1XAC)c1N;E`k{U#EAK3y7a5kwy1RE%}veE^-2RhPegmV>n z`Eu+}=n+IO#THhpfXB&90y%@8d^xrzv+<;zV(Y41Ks}X^FZ&Az@|4S->nXDBx%1 zSwu+90t|3Lz^^HzkpZ;}_yR1C5wtystoqa1e&C?iP9h$+xxv$9aDI|cl`efI6=k!|L(~~V0Y*rcL86KKPxt* zKksg60Y??W{@*OK z9nk6pSXn9{cYxe16_7hXZfX?2^jMiYh!QVs2mAqTKNg!pe!9;900004nJ za0`PlBg3pY5&KtazT>7kF_0Xd!nd{cNF z92cGy+$XU2$=SU-=gY8L)m-@1tl0QnfAhg<2fBXe#T?cT*|Ff*=A7#hm&E1;Gt?gW oZ2Rp%NJm%wl(V`u$GUEdU#OBeF_}x`8qi7xPgg&ebxsLQ07gne?EnA( diff --git a/app/open-iconic/png/wifi-2x.png b/app/open-iconic/png/wifi-2x.png deleted file mode 100755 index bbd6001ecc5a61268d6472c7d70a3290df7ad211..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5G9z{zlinkrVGjr#en7E{_T$zUg>^B^{ z{P!d_h~Igz)gYb!xsyLm60sIdf~n%w;Su4zhAh2p7mQ{ zk*49zAaXg}${@#nUqcdyjD z)ce2vIKMwHOuP2?vTN^D);}tf+$Ww2lYe+kU;Pim@eVUChyDBXfu3aWboFyt=akR{ E0KwjSng9R* diff --git a/app/open-iconic/png/wifi-3x.png b/app/open-iconic/png/wifi-3x.png deleted file mode 100755 index 5bbd234d748446f43e162a6cb5ed9f22b10ff5dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 403 zcmV;E0c`$>P)K)x9f)VHn5p&pDB#&Pd37 zoQ3jIvYKR42AM=D<&Q8JY*tyV49aGpgh>>WK~9;-Aj$j7a6d<09-ZgmO!BR3cKdLM!Ut8OlbcdNGA%T*YV%mo9YUF{;JrJ1w=5>%&NV^Zg&d zI0`=y{!A8QLNNaMJvm{X%QzNd{EQ21V-}r15w5~CE+t#CE%c;qvXM}{R0C-n5Q9=L!002ovPDHLkV1jx7q8R`H diff --git a/app/open-iconic/png/wifi-4x.png b/app/open-iconic/png/wifi-4x.png deleted file mode 100755 index c6b31a07562e923163c70e688a978c1fb5de4219..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522 zcmV+l0`>igP)FG6Bttq8sb6;s4Q1rZT#vvQS8SaY(*dbU=}|xg-LwG`?RlXw%|IR zAVI5STfht4#*QMwdvOml6-4t|f`>SgCAcNlGjt{t4 zK{SscOr#nUSp#-rR4mCxa!D*zP0c@wZo2Kbj1io~A@S`u#5wRy1(ZE$aSTFIKnwl(*V_aNF6Fe7p!Jdi#_J8Wl_R7R~hIqR@>xF^&4hH7R z6f6?2D`~AgWMd7y?$GzLijkr;#fDow{lCPYb5CfB4L6szr&Yw40ll)z9-0Qp0{{R3 M07*qoM6N<$f+3CLyZ`_I diff --git a/app/open-iconic/png/wifi-6x.png b/app/open-iconic/png/wifi-6x.png deleted file mode 100755 index 0d03f4217f9246cd67d09ae5c6d8ef9f08e7a013..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmV`lm>H)Glg42T7i*8h zwD+F(-Sh6l#rv(NU3;&+p5I#UTF-i(^;Rj2dd$z*95i4WCS`uBLoNEygU@(}*LaR6 zc!0a;Do{f#hG7*>pcTFNm4Nl(5t^}47lv#MTr*aw-^NHV%R|z@nMYpgyyCt_@x^YAZ4u7b^6>QEox-5JbBFJqa znmolzVXt&&XOWNm+wi1&YpPtwIG>RL0Al@Fit8Fg>oY>WJ+=DSl!% z10Ra%V2R|at8BKRnBx0s%Hp^OSFvA6cc)-PrhToDs;|Z&T+6f{*vI8kh$m!(FEdV` zVK2tU>|=~@>(Q3!rwfx4)Ho>Xgkod(5c{ddE}^7NNl8gbNl8h9#kh!0;g+ux7ldl9 z;yEmc&X#HR3NKG8mK~y{%v;MPFdrj@8aK)SIt+NjQVDDnuW(tPr1PjHWj^BGXeW9D zp2PskN)iKjSmgFar&fsfQPzLEzx8rOu}!oAY$=z(C>)Uc+T{oKl}}o97T~KalDV4(-vL9-S||5VbMZcv0*$e)|ted zjz{oa7YIsfhwu{4X;=IM*xdyJ(y|G>poNIIQLM08J2Y8$>R{a_@MjL=j^W{jgjetu zp22C&W~l|HutU6yd+&R1DAiTSep->v1PGVr4RS9XCh(49oD1*28HEALAjB+2u_S?hsqw zcnki{*bxz33$jkkPNNR?;#rZ>b_>h#poqR^6R@dSXRj~Pa0vJ5JZ;XJwfM-wIm>n} z_+Rz!EpP|!$;Q`A>BA>xb^L+LTWx%+c&|2zgy>XeBS!FiyA4;Q?@M7+rL(=4l$4Z| zl$0z%vdr%pu?f74vvSbakbALTe!}P50X(L_8pXCI z4(4Isn_WzE=PFSfEOG)iWUjIauP9FZhiQrEiWhN3hGUeJl$4Z|l$4Z|l$2ybzqr{of}?dC5x2hA z6zEsx)UZY43)j;a5MO;uikkKcsDlbDbY{U8?brJT3h^`p`X&26gK2TqEf=!9LG_em zMb`?ROxc%07?Hf}y*n=_vpiZlDoW=`+vc(u{_iglW;p?)9kkt_mJ`j$asmbmYTGre zk!%}0iR%jRHxmZ5KLKwS;%P=yML4%Aeyij=N7qslkbgx!ubE00004nJ za0`PlBg3pY5}#Z=IaHyL0jE;HAyQ?;o+=sh)oCaHz(; zh2HMz<_CAxJiL6;K|w{a(K_x&(!m~cs}#;Co{WNHrY)jb?tw`>;==R(w~F)^Onh8c q@k`_-lYGpD_h~|+b&c73HZbOC@qb}D@y`cnD}$%2pUXO@geCxBbwRKI diff --git a/app/open-iconic/png/wrench-2x.png b/app/open-iconic/png/wrench-2x.png deleted file mode 100755 index ec4a206ce345ed60eb0a4bf89611c8d2806cf41b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5{F*Rz~K>HvfK(ckl97+zPMYvtzOcEBe5!XIq|u7irI6}=pN z4%3D1FdwvD!Fo#~hN)Iz!mddVPVJuXDzxc3)1BRx$8z(Mr<)&8c%zqW{r8Ph!P3TT zM!7pOq4N$fMN}26ZC!qVWya2^1pYf)m>SmpKC1lulezrMf1zI`c;+Mnoz39s>gTe~ HDWM4f91~wf diff --git a/app/open-iconic/png/wrench-3x.png b/app/open-iconic/png/wrench-3x.png deleted file mode 100755 index 4ac856823def2593b0f2301bf99140fd85ba633c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389 zcmV;00eb$4P)R7i=n)JsYOK@^4I&nUhhdvNAb z+(Je!!I_Sn>LQfrK%I#Y5kd$d3OaM*B7)*$A}IKXgRX`UlT@eE9=K4=?fTC>)kQP9 zN+_d>Ha@YFgVR^5xI?F__KJi*_P}?Gf|vZAyo0Ht49b1rg&I`<+n}A(U^A=1R}O=% z@J=Q@jA*bO`mb3H&ITBK4XCtV&+?I`u{5AJ8QFUrgU{fi&*WL^UgQ$Y;xZ@v8EY|k zZH&o>!sk$rK$@P)idMsB3XX7&e=6&g6`~aA298 zInTG>nLV>hnlv$wb?oCFH&{tDe_`fufKJ!=SvTCkuO9H5;NBab`v=~^hr02m-fRA5 z1HKs!7CT?%-?pQ;qF_n!r{bLSrRRVZK^p9S!x8wk(5a-^$|nDfehdizaJumup;O88kOBR~nXV?#Oo7Sna%u#-XS!Y3aRp3@!N;YXb~Vb|;RJMRuNb>lCY5IXUY6|?E@ c?X{LX1C-=3(5P7pi2wiq07*qoM6N<$g7f>^2LJ#7 diff --git a/app/open-iconic/png/wrench-6x.png b/app/open-iconic/png/wrench-6x.png deleted file mode 100755 index 76ace6c33c7f80f87f0e60dd9007d0698ccc6248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 738 zcmV<80v-K{P)H7n?n{iuxDui$Iv#3*opGjT z+OE{hAKs;_dHmn2?&|KMNlO=w;0o?w6hAPI4>*(9r)7F^4r8b^i0hcqF2Owdg-$mT z?^yX+f>@q-1=n<_{4LGpuj)W~TI+nr%J*w7U%~u#3FgtO`3)PjfSECpWH^f@k#i=a zOa40F@iTB3iz4Q0iI@c(ikPcqVivF`Vy;#>8Z%j|t52+ZU;w{L=9t0{=?WOY?`ocC z{F0`C_{y>$@z@PH(}GL8$CE#J(edwhMmc+Gd#=44AdDvrLp`+>`J5An5i(lyKQB6y&pe zJzufEJ(`VKCj4m8Y^nT;18s6_N}q6D=RKr4R(_Hd!sRsi<@H0J54vZ@ UE_@4TxBvhE07*qoM6N<$g4^3%qyPW_ diff --git a/app/open-iconic/png/wrench-8x.png b/app/open-iconic/png/wrench-8x.png deleted file mode 100755 index 19c76341ae99c614d30647d3a3df1edb4fedf740..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 977 zcmV;?11|iDP)RTRhZ4KnMP3t z6-DCN z;?{(j>8hTp?zy)w#V8f*YpSrb9o|?c;?7|Lg$BpRXcl?J1JcVb*6k`-^ z6QItZw~8GW64eTA#zFjTb@0}~@5L|bf%ovNmcVbo)9Qn_3ciC^HG_XnOW-%)HJ2zn z&2RhXwFrK%X7D{>g=mGQHLLcmOTaAnn{1wUfG7Yo&iJgG`LRYC5!FQjA zUH@Yx;1L(#lO$m2WaCc2O86uR$mJ2(ryu_O8u=cmS>sPY8GH|CQ!Ilg6U;G4536pX z&aY1pz=wEjgzM*x_N;DFz2BK#H-h83x(VMS#avDGV5*5eFj^gmVGHP_r~#Mbp9J$X z)eHDD_9R!}sPX^WWp-agZg8dMz5i5pBqBEg{OcKjmf1Pn5f7cK@MZ>}RrX{&^Z@^M z29Q;DRK(@DgLg83tg_?60gEV_#Jd?lR@p4J#Dbr~dl^7h*()Oc@?E^20c4q-6AE6m zXTB@^(HS>rnH>>%soRK;A_e~`P7HC~0uD*A!@C;CMue=gj|=~BH=e+YIE{aoj609B zLhU(#8KDqI*EL0uG2lNb{8wp0NKV(74oqwkf{X!wyzrl`t~GjZugXpo{S z>}26TTWuDCi~)a2=BGcVg&^ute;jO(hOgs*W+?7-JbzgZsq?g3*TusZxVxHVq5Yp<06odIJfOU5s? zZ*g19U}LCB0;WpFFWPswJ!+(p^oQjjdj^c1Q4aru$UV52TKOhtPI()7qw-zi8Qhg5 z(n#8;A8Jl0c$30yKcgJ}N8z*9i&~cnEvcrPoS$&d7~+khJB2Q5UHG4I?^q&@sO{=C zK#sWxm%6%Ik4N#A@S4nJ za0`PlBg3pY5i3qfwvn4hNQK$AC@FQm>bE zo~;#-|5q^Uw>;nXM<;k~rFi@#K3WTR=7&}MIV}_|5;V{ATEycW4}~|iYR4%~kFdIs m*wv~v-POkIabJ1d4MrOi@d-PV`4nJ za0`PlBg3pY5Pvx(C*`!Io_ln*!s91Gi z;pQoG^rKIw$zB(=Fxj|wV|4Myf6fIfd=roEyvesC|C9B1X5|aj8WBI&R{%ZA;OXk; Jvd$@?2>@5^gF^rS diff --git a/app/open-iconic/png/x-3x.png b/app/open-iconic/png/x-3x.png deleted file mode 100755 index 08c080e998e7a33248d80644e50f80596fa2e101..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 401 zcmV;C0dD?@P)gbL z5BM#P^1uM7TMie1CtwMTfLcO$4tVtZ#=xN!t}(*+9N_m`{C z03SHOuY=y8?(h))JKS}I--c8WkZzwCjTXSABm5=`u4*6+XEjY!_Ang*Us=IbCrHC3 zh4pqv$4;~l7E z1=sih_WlFj2VRV4hd?z=xc<+JNW)ojLU+s@_RVO?=I6D9G@K=O3^e`8dHz;sON0%U zGSYAsj~UR>#KfD7PZgx$EM9Z3a@4)DY)ddL6G*oY4Sp-LV%rj8g{!JWFS>z)s)gLm z`r*hOE<$0IjhvDlR_A}LO~$7tt1o35(OqQWOlzKZkcM;eOEkq?{C)xb&H})IYB(nV O0000w z1E3E)toU7Mb+W!qpCSjq82ASaiMNOraGLe~4zyj0)(Dj9vzhU=kEO_}3aO4Xw|G@D9bA*>Kfu1kC z^8+>k|IxAUHE^s#ea9m5FJ^qe0>R4zUY5Q{hm9!G+o zdc{L5qBJD}!B@TyLM)TMqW~{;GN@Sa(k7PkUhvW$)yGYX_=er4 zdMaKCFLkjw|Fj~dhYJDJmSWe9Z$lfxZO438^!{Eg+|nd>;4({08n}uLyI%Pn^Gpz<|%> zQFw_}>=a=Z_`$#a9s@%@lGlQ_RD>DeJGK2i0Y+L$-U!}85vGA}P5f;FqiK@IftOfA zY2#_23a}f~-%Fs7BzY2eiTgl*OGxom0jdf8y#~hOBu@h`v5x26w}vVthnLs}N{y1Y z0`GnIt)U9(;Uzu*6Sb22fRFCJ!@j8hszU4V5<5USn%pP6#0HQz2rp3ureuK?&&efT z0LKi%OPrTQ`f%@ajYYOd_zDUHf9e0lG>h;GC|ZUOQG~a^am(=0BCIJb{th@{8D5lA zEW$_Xyoas8M~m=4$;^TGur+v5Kk!J&R27)C3@;kMwYM7Pc7b!2;YCBZ_Ey8BR(OLK z4ddF|tidvY7v+KH1^_dG7meahSh5Dq1YT6YwYOOVX96!O0&hGRKa}vIG2AgzTf&P< zzF)ZsdNhc$KXORnuH1gZ}u?=2`{k# z90>u}Ol88uODvLc5we7rSOPk? zNjS$iP5dE5U-01C+C`;x*MY$}@G~?YKh=Pb7GX(g{bw{8+?u8S;Bg3eQ3tNQ)$p-J zopGHx4vw5>0Us^GvXY-|+(GW1&a!{mzyiFe6W88q_}am3^nkl&Vhvu@g==p${O!#N z=5W_ctieZ%a6{Xl&q)xCGrMm5O|;haHv~M@O71~Dz#VOWBc%U>65_PB7uVjZ`b#qe z5%Q=y%|vTre+Aq%6Kn9I9Im}p^%v*+f0iF92664Js=pHMnu#@dQ6AUcs`{J2bxzjc zMMc~owyM7}@Kr0h2aU7;okGpu6p{APpeC{H&!+wW#LEk*Y>F#K00000NkvXXu0mjf DaTBaH diff --git a/app/open-iconic/png/x.png b/app/open-iconic/png/x.png deleted file mode 100755 index 23b078753f916bce40eb9267c1a487c7a451a9b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5-urJJ^D1$ry%E~?NOq~^@rnnswhLFQv)>UGnUl5S#38BGZ3~ZY xVy!YeoBd^NQ~bZWJRz~34ZLr~HO>m&WmjsJDVH}e&I8)b;OXk;vd$@?2>=ApLPr1q diff --git a/app/open-iconic/png/yen-2x.png b/app/open-iconic/png/yen-2x.png deleted file mode 100755 index a9acb090bfc15d802d88e0d07c3f6f90c2eadf2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5p%nKy}n%d9hjwX0_`ufX982PGUB zFD?Hm7&t|K--3k)mY(1DSyGB6XU}o7tl4^z4?48Pl%J{Q1x9~qSJksfG)tKGSjIH< zm6Pb>x7B}G+AUVQ2|c=ceBI%zZ2$ZgzJ1&$dac6a&)s9(ma~Q9F7uy__6;QU?G4 diff --git a/app/open-iconic/png/yen-3x.png b/app/open-iconic/png/yen-3x.png deleted file mode 100755 index 0649b7f41aafd0e296ac9095e3e90bce05a8757b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pYARU)HT^vI^I^Ry($jM|V(zbua)ZS^2ILsa~HO*$3>sY|bU4DY?5nGdS z%<`>z1-CeE+3dXIS=3q8`=r_7#P9p_pZGKIe3)SP+*oW{`%1Ch4r)iW4f;&xGnl_T zf8>3y;DqiM9AB8u{yyOOtLS6lBF%L>c@4r3oO^XqQQau)@Fut2hbHgl{%!m2z?Frw zJ@3v2vCkb?5G2ne&Qx5!P;=dW_FJ3oG4i=Qdv_?pEj#kIz|7r3AJ+%2_gu~RS*SOE v!7Eh<%VQVh9>gno?LXoD%Qdt4eI-+`m36zBVc;~N?-)E?{an^LB{Ts5boO}T diff --git a/app/open-iconic/png/yen-4x.png b/app/open-iconic/png/yen-4x.png deleted file mode 100755 index 9c573650abdabd27d886112792507d43a5e70019..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?KOkzv*x2?hp6Zci7-kcif|Qw_NeIS9DMA90h`JsPF6<_pUsUKV|UFMN+AS>8`j zej#{-nDkR3XtCA6 zK-uw~+KJi-FY-^~hCm*4UIzP0)lSJYN8Pn-2qcO%ap z>DsKbdk;w-vMgXfVYR<-siS!Mo`0zB@7!me4nJ za0`PlBg3pY5)2GX4xTQKAr*7p&fJ(K8Ys}VUwdPRZ_@G`T25L=*#kbXhHS8x_#i0s zK``V4?~@;FY&DFc)w-87r?F{^I_WTFZ(Qkg?#!;|Z~k?kW8ZG`x!(Hwxq|b186;oy zTvwiU+H703T+kDy4f!ILOnFIN;=5;dZs+_(QkZ z?>BgFRaD-=BO?*F_}M-eqb92dx*M)(#*9c+J0KFvN?+nK^qa=<;Iw&_mkgUOTUs-3W%{H9~i z9EHzQC(l$rp<|RHpJRTe`b~%-lZQ)kUGS4r;Pe|VqCTy{GP(@!eTdL=gT&y#!}Z;>u;3bOhFxh;QB&$#b-?riGDkVTAHjHVYEwl>VlXozw+ zD^p)qb>DbN{f>X%=Qn^vd`%p57pO@s5DO6A&wd6&gYO@?1w8Rga08H(^9FFQ=ww^L hdc}qL3RBiUhFjPAQhMJseE}vg22WQ%mvv4FO#qBVDg6Kd diff --git a/app/open-iconic/png/yen.png b/app/open-iconic/png/yen.png deleted file mode 100755 index 1deae41bcaa34fdc3634b5d48941ee64fcfe64fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5gTe~ HDWM4f8`dsf diff --git a/app/open-iconic/png/zoom-in-2x.png b/app/open-iconic/png/zoom-in-2x.png deleted file mode 100755 index 1b63dafd02da183541686b67f8d8da77f2749ba2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HC9G)(YAr`$;FKzU44&-5b;2+yH+iz(tPocmO&ziQT3kx-NSeCrf zQ2J)eVlL=d)1SnCaQliyvRSV$#7OIJU2ESm`?vbf$;Ey@daZW7NS654lYK?!py543 z&fi}DSn@M;wB+0$@s@39{+Y%0yJ>dyB+nC3a=goTbh2-~xv8kKn zpWNeOVn6uR$dYGMkd}^gPTT)Tk@e~eO-~1M{C%?SvFV??B4?6*?mtm^lBxgU_V5`G zZ1(ZbTr*SeB+FdZqvC1b3xoK~&WOF_biZ*-j4%0A%|d09=bb!%{&J;CFAf!3IZMy; z{Fjw&591%1Sfx+wXLX;~oo1C)IHi8E=v?;~HOw=JNR7i=nm9a_#K@f(&s0cyC5Ks%T zO9(1KlG7&;)Xsp7g>NM01uPWHRH;lXR3u$YV__7H&miHfj8Tidg~?|3?h^HfA$v3b z%)gnP+XFW|pbWHtF3=BtTfi|;49N{e4!8uqV^|Hyj#7Ldcy|>0a`=6q6t{R^Bz^!V zz!s1K5RQq9HQNqqg76G1#N2rn=!o17Fzq7x2GNTs?g6h1PgWgB+7e2r7Rhm|0DHhP zFas#iF*C@H~B8`ucHpM x9wG8;B!TPy6aaOg4NLL+zY+j-pjD%I_6J@P*LN3At0i)lLI+0iK1*7r zO=AR=e--b;t0siQ_7c6ViXX>(1A)a7Cgw2Iiuh6_*>~K+F@L{*C${1Y?qMMkx73V@ zzB*5S8(k&hyKz4fKc~d!=)miU`?F=;=P-)jL9Q1X6y|8e`MDOvtGF1+ccC6RQM=Uc z6eJH5*TaK=HER&^oWPC}!rL%jN4(m8V4x_;kob{o8IN%uyQP22F6_$2#xqWtopK&W8<~i`iFURH z3>TT`Ra+D7Zi_flWTGNHMol%5^erw+3$6@*rpQ1QiS#6MLwfa^&D<~JV>WgZ2Xis~ z(t;~vV%;#H@damH4UkrQ?81^?5$ld&^{;Yc|HA-jwa-}lg&pi4DQM8Sc zqGBfPB&6x2#-Btg8e$_6OLpB=8ba*E%Erb>Dv_WGVv8U$4GAGcBoZYo1R)`$+EG)P zYQxmLTKr~I-rVzh_r81QJ-*3r^Si%u&iCARf9KyD(LdU_3A?ZzTd@&qm!2QT5qyKs z@g6?HLJgaZUsVVya2<$4eMJhUak)Ca`8nzKx4<1NP!I{82*Rd=pM= z(fiH+fIZUvD2sJ?xP3 zRN1jV5I%(S2jIX4{2ItV-Ai~>T$nvrl0aPt;E_OnPRc7Gb_IeboGFb5;lO(Q8R)n< z5^60uP=pyN8xIO|cq@1oanzEUks`cPmr);hJJ^pnI$P?bitt&mU*)sNogXRKI~bgu z$Qg)k|Aq{qCRPzP24{bX$d5>wa81Fpwv-Kv9B2YXzd&2M$lX{F)JCm}238x3!Twp1 zKua8HE~-tZI@SgI^N~PH8hsR@@fNQH#)AEyBY~DQw<*GP!Tw0FB2+mabz@&e%3D&? zUWD5-q*e>J1^b`mglw&`WBnZDjk)|=$yjWad{2mm*VA;n>kW!B(mF{ogtO*GNOGvgE^Nf0)>=e1N!jNE~}& rN^d8g8ydTk7?a|B$I8#n00000NkvXXu0mjfXY1KY diff --git a/app/open-iconic/png/zoom-in-8x.png b/app/open-iconic/png/zoom-in-8x.png deleted file mode 100755 index 85b9cff087636485f42bdb0fe35293438e037043..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1382 zcmV-s1)2JZP)1yhX zk&`AOjYEqtQmRFf76p;`k&6ftL|U|{pj=5UWGolaE*B9}yNDQ9(WVF&3Vq;5f=oJ* zHx!yNbH;HhOlP#kxx-vY4X{KJN2zp68q?5g&7ab--i5{XidZ zFR-94026gN51au8fg`{%U@8Zjaz_Q&3LFH+ft!Ic4h#TWfVqWw5QuJIFYpK9PN&I5 zpdaWe%o`6>fqlTA#CN<|CXgU^7UG!!n}KuW?|8G+fQ<$Cmx_77hZOI4v+M^ta`yE< zSO%QPXn0IH3M|dl;|BBrzeX_n8Za7xXIjnz_hogiq>T3ghk?61d9MIp0f&I&$XP#D zAFBZKkza5%uol<=Jc{HHKDYop4*cx-oe9hE|K-02ULN7Dz+qN1Xz<*nFrP*8>?nljf@%NK7*2R;K3|P0BjzK9)wg~%S{;`|-YlWD8L(B}h; z#lRbaod(`bK7S6AYrCjlZK0CbBf1^GOqbX33;n?Wla^} zx??=+642mU0v*T&DGk?9UXU&4r0Fbe5hj)KvPO^~l@}N0o6RX6+7$mwBd`SE9c zLwgLpq!A=YiP{DAC}|;9E907PBGM$$q&p^Trf zkUWh0LU98_Lg7GOm!WRtcy@7{9&YELcXhm#!O*+{@S4JV0gpF~0fp>0!b{S51Rz1y zw~P0H58)Prp|1uSn@0d%Fz`O*LpT@7`CWvg_*aQB80w2oq#)|ztPzmG_8W{H2rxKy z0Nyun?h4?g3&{#K^4CMiBjF|FRC3vO3BxTg4VL1_B(i4|i4yjT^_LhfL20-HTT{eU z!s`Sf*kiD%QNBS6y+PP$R5C^2TJyxq=n2p5+GVhWYBwa|Fs$Hc+WEglGNo2}MdK+8EF4b0Ft2&5$^n{;!Tc^<@n!Pr)66U?9Bx$@&9MePg-GUo>+xmEoyW= o_~EpjQ3c*b5~{Q{f6KK07q)pFt=#a#asU7T07*qoM6N<$g8qVcga7~l diff --git a/app/open-iconic/png/zoom-in.png b/app/open-iconic/png/zoom-in.png deleted file mode 100755 index 0292fedd17092e2bdfe1fdc2183e95a695291217..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5@S diff --git a/app/open-iconic/png/zoom-out-2x.png b/app/open-iconic/png/zoom-out-2x.png deleted file mode 100755 index 18d6a1d8ac93fbf0629999a60e7dab0fb491e71a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY5)2HCY@RNTAr`$;FKzU44&-5baDJDF`CPBx5|0!*Cja1JUFaNGQ2gRb zpv#+Tjy$ENA96?en(_l(-v?C7=4JIi{kDzm&`HmKe>~4|)-P>kbUWb`U(mcvw5W;y z$-?`cb05pTUG*fBA%A1H@0G%a-yOcEJ)%6He(vI{Zj@X+k&R7oN3@}m4a+yH(!N7G z_p=>LOlV(e%$;ug?x#@e+70{DPHt_4G>fWJy-c6~qlH!7!mT#!eE-4Uv zp8P6DYnqDtex;w6{@D77H|KtKtvY5{wxM_N3!~Z#oK~qS$*1cR1DC(hn`9#5Z4^=y yD)vqE+@d0{PmzX2D@!H?rZ4^zy(_S?=^uY#WXw9&b8?_CWbkzLb6Mw<&;$T*M2@-u diff --git a/app/open-iconic/png/zoom-out-3x.png b/app/open-iconic/png/zoom-out-3x.png deleted file mode 100755 index 7b090ecbe43f626c90b448b51444db8c6b4ea92a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 501 zcmV$#RD>X62&jeF zB?OfqN%RW@wKHI2;U9_l0Sm=4m6eHwilmEaER3S@8ziiiF={b8@-ms-osD{7$n1Of z-Mg82GYi2e0TrMHbb-GA+X4=OVn}T$a=-=f45wC6e1C8f*!TrkU)DFx+w=a~l2;(1NX6AnXTUCbX%gB$U@AMeF~uqWo%X0piOkss>g2rQ$n z6|J#iBh>`q37B&f&jKA$+W{tnh@L?#MTnPx7lu2l4kT>_Wz-VMcB=wAz#=dOEcm=C zgY9jOOP_Bw@j?pYj0P}mGs&QCMHdm<63KC9GtelYF0Ll(`0H=-tsh@SZD>8hk=0JWiKhIsZHV~p71chBQl00000NkvXXu0mjfeNxLZ diff --git a/app/open-iconic/png/zoom-out-4x.png b/app/open-iconic/png/zoom-out-4x.png deleted file mode 100755 index b7abceacb04abc5a5ddacd81c3056458f468720c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 671 zcmV;Q0$}}#P)GD>D)KWU<%Lh9BVmh=0XQX@gXgm z$7V2sa=YYxc-;hXXs^)QD)~t)G$2^YAz~gwt&lHAiv7SHobd1acVauv;XW24dCSd+ z=&SMMchQw2zZ(xC`SWsojt;zus6U@qeFmfW6V!UCL1T_alwW9pyn@S-dY5VimsBsc zdu@A?30UkecM5sw33$fYdVUbA>w0C@$I z!T3-t=(F{&X@Jwa&R}jXCLr8+ItvuADVSRd$zy9X+NmvKwGm%g@=ML4yFdXw z!T3u|z)axVAB;;)S{D0)@%xy7slazO3~B>sg7J%3&{5Tm60U?+uob_8+6Q8RCCO*V z28J6*D;N)IzO5HLqIx-9YlHk|q~4W!31!JKDx0v1>n)Jqh>)-0JNoM-_DT*9Vd5lq ziMTW$WWGi@ri`XmqTXtbj>YGSo^6ZogINnG^>`fGDix{paqE~fK z6m3g5R!>A(a*Ud8qUbwZl{8$Q_}O{_Dkw=#GPfjGuentH3O=R2+c=!b>6bKI9uXUc z0gW#>8!CXL+hZ4&?26cM46A*W8~YyuNV4tP zzjYIDmrpTXH~H&uv&@p;C0OFDGt_38i{@IuDN%9-ftVDHNqJ%Ky=Al{BW zQc{cjO;_GyY4J z9s2|2!#KZwz8%R2DF&qoRkY4lNq+FQI57z@^aiWC~s+@=WE2J0g=NfDxM?91E+4h7e4 zi0UZJQ%)b zU@eXW9G)m+U@}l%!b|n@?Z8uk@0PgK>A-=&$Pyl?m+u*PFyr@?Du%X8r9+XSMch>z z<O(sW65gm7-G=Vu!hj(g&NACuVAL-omR= zobSiZ8&x*2f=OxIH`jy1qf*&$)v~S4Qk?JkLG;u2Hl;FmU;@A~a rx^LpSp|LB8F)7ZsbbdDfJo&!?amV1gv!PDd00000NkvXXu0mjf85-CI diff --git a/app/open-iconic/png/zoom-out-8x.png b/app/open-iconic/png/zoom-out-8x.png deleted file mode 100755 index ff965824adc6e6d77605943402a3b83393cdcaef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1355 zcmV-R1+@B!P)5#eBzBZjC68qCYf2V8Ms0Ei8opW*qA|nu}lHJAp67{?GVtCa<2bj zK5!|a@Q`*Mn3rnCb#wv01rYrh7zp5J%&r5^Crz%Pw08k#foB~3-Um(sXMl^yT0dB8 zD*@Axzu*#J1+W%)8L1&$xDC7t{Nng~R?Nr!FaHDZ7Jf7KJYY96*|~lR9Uk$FOu=o; z_W*AMid_WW0s0)`pGUr|VA#&~qsSVaM%6YGIBcn-3LFd-c(Y}|d%)|Vf*RNXJhIfZ zA!)EOc12DLMUWxjg(N{dS&QA5(Cr(b9lf^y2UzbLAOJgJ zbk*B^V78C*{T9wYOC&!GU!m*V=jybCzNP&YSswFdCNc+^wEm9c%CuE+SOvBPkspS4 z(e-X}ad=E|b_Km`&XOW}m3qX*nYP623?@AsdoXJr1R@(ps}x6n;W?|OOb0N6S^G-O zNrar%MQ6TO;~9J!{nFVq}FjNjJ8amQLt_Vg?5T5c4OvpQ4NR094swC6blT96G=9FI{> zkZsmUtF<&IMwIrV<{(0DUQA50mXkf&C;q4Az@`J9wU(1T+F|Hj%|V1*QJYYgk{ns0 zv}?H$p)Vy`Iax^AOsr7auPW_C$dR^*b()hLS*^5RvT^bf`Z1VVP~<>6vOJr#TOHg^ zLVwlqQCRIk*o9g1Z5+-pjw;S>k;9d=fe0DjCe4Rk9BxsZRe|@zXb-}6biJ>+IGl{s z{3eG3xZe_|K`U}0YSLQ4qk`>LoK}&ck~g2D>)hkxxDBZaHRm5BlAnyXkyXj0?=BX* zz&LC!M@Eo2BTEX{-&mi(ViOd{RO}u_JR;kBf_)a6>g_ag(d)%V%OIn8jx|T#Loaxq zW@kw-6b?BAI*vT23C$efTL&Fav+sdfKEYd%XD7CShJn2#=rMVsnRe185TtD)qj3B2>9gIJd zTZ6v0Ps-0ob=c?ni=DVXU29hB1s1q=0LWj4XyU6fN%rLf8#pu}>#} zJVmQCK@v&rDo}QPn+x(T_e-QEf06Xh35Jl#v@@{ZIU$_1A!VwzmG-ed;A5naDI(=< z=ot4xbOOkE!Y1Td%3wl4-_(3HZfMHLk{q-X(s=h1Aw#47-{uw~RpN|VVh@p`=_WFy zE(6~oRh#L$YdUZWdDSvunT2#zsITCENjvh@OxO+psqK51z#RZmq4wgR{FUq_hi3uq zyVfy#GY7q?un6~m=KMMjp=q)h{kEt+dGCYMW~K~$iWF3FWB!TH{$CAgy$7FRHgf;~ N002ovPDHLkV1hUwa0dVY diff --git a/app/open-iconic/png/zoom-out.png b/app/open-iconic/png/zoom-out.png deleted file mode 100755 index 33b1c90abcd47a2e8325451904472c94707b75e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf4nJ za0`PlBg3pY57uC}cmob(seY0&EC(vpJPgg&ebxsLQ0RLD;VE_OC diff --git a/app/open-iconic/sprite/open-iconic.html b/app/open-iconic/sprite/open-iconic.html deleted file mode 100755 index 82b0fb5..0000000 --- a/app/open-iconic/sprite/open-iconic.html +++ /dev/null @@ -1,929 +0,0 @@ - - - - - - - - -

-

- Make sure to run this through a web server otherwise you won’t see any icons. You can use Serve for local testing. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - \ No newline at end of file diff --git a/app/open-iconic/sprite/open-iconic.min.svg b/app/open-iconic/sprite/open-iconic.min.svg deleted file mode 100755 index 19b6fcf..0000000 --- a/app/open-iconic/sprite/open-iconic.min.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/open-iconic/sprite/open-iconic.svg b/app/open-iconic/sprite/open-iconic.svg deleted file mode 100755 index cba89bc..0000000 --- a/app/open-iconic/sprite/open-iconic.svg +++ /dev/null @@ -1,452 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/open-iconic/sprite/sprite.html b/app/open-iconic/sprite/sprite.html deleted file mode 100755 index d945efe..0000000 --- a/app/open-iconic/sprite/sprite.html +++ /dev/null @@ -1,926 +0,0 @@ - - - - - - - - -
-

Make sure to run this through a web server otherwise you won’t see any icons. You can use Serve for local testing.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - diff --git a/app/open-iconic/sprite/sprite.min.svg b/app/open-iconic/sprite/sprite.min.svg deleted file mode 100755 index af927c6..0000000 --- a/app/open-iconic/sprite/sprite.min.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/open-iconic/sprite/sprite.svg b/app/open-iconic/sprite/sprite.svg deleted file mode 100755 index 63d2cf4..0000000 --- a/app/open-iconic/sprite/sprite.svg +++ /dev/null @@ -1,673 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/open-iconic/svg/account-login.svg b/app/open-iconic/svg/account-login.svg deleted file mode 100755 index 225d912..0000000 --- a/app/open-iconic/svg/account-login.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/account-logout.svg b/app/open-iconic/svg/account-logout.svg deleted file mode 100755 index 123cece..0000000 --- a/app/open-iconic/svg/account-logout.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/action-redo.svg b/app/open-iconic/svg/action-redo.svg deleted file mode 100755 index 373f7cb..0000000 --- a/app/open-iconic/svg/action-redo.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/action-undo.svg b/app/open-iconic/svg/action-undo.svg deleted file mode 100755 index 6e4cfa3..0000000 --- a/app/open-iconic/svg/action-undo.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/align-center.svg b/app/open-iconic/svg/align-center.svg deleted file mode 100755 index bbac8ec..0000000 --- a/app/open-iconic/svg/align-center.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/align-left.svg b/app/open-iconic/svg/align-left.svg deleted file mode 100755 index 2e92e0d..0000000 --- a/app/open-iconic/svg/align-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/align-right.svg b/app/open-iconic/svg/align-right.svg deleted file mode 100755 index 22d127a..0000000 --- a/app/open-iconic/svg/align-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/aperture.svg b/app/open-iconic/svg/aperture.svg deleted file mode 100755 index d45f6ca..0000000 --- a/app/open-iconic/svg/aperture.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-bottom.svg b/app/open-iconic/svg/arrow-bottom.svg deleted file mode 100755 index 005d723..0000000 --- a/app/open-iconic/svg/arrow-bottom.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-circle-bottom.svg b/app/open-iconic/svg/arrow-circle-bottom.svg deleted file mode 100755 index fffa96b..0000000 --- a/app/open-iconic/svg/arrow-circle-bottom.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-circle-left.svg b/app/open-iconic/svg/arrow-circle-left.svg deleted file mode 100755 index b4d7600..0000000 --- a/app/open-iconic/svg/arrow-circle-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-circle-right.svg b/app/open-iconic/svg/arrow-circle-right.svg deleted file mode 100755 index a62bc17..0000000 --- a/app/open-iconic/svg/arrow-circle-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-circle-top.svg b/app/open-iconic/svg/arrow-circle-top.svg deleted file mode 100755 index 2ac6e7f..0000000 --- a/app/open-iconic/svg/arrow-circle-top.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-left.svg b/app/open-iconic/svg/arrow-left.svg deleted file mode 100755 index 6de9f24..0000000 --- a/app/open-iconic/svg/arrow-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-right.svg b/app/open-iconic/svg/arrow-right.svg deleted file mode 100755 index 735e5f6..0000000 --- a/app/open-iconic/svg/arrow-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-thick-bottom.svg b/app/open-iconic/svg/arrow-thick-bottom.svg deleted file mode 100755 index 0c05067..0000000 --- a/app/open-iconic/svg/arrow-thick-bottom.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-thick-left.svg b/app/open-iconic/svg/arrow-thick-left.svg deleted file mode 100755 index 2075e42..0000000 --- a/app/open-iconic/svg/arrow-thick-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-thick-right.svg b/app/open-iconic/svg/arrow-thick-right.svg deleted file mode 100755 index 8b407e9..0000000 --- a/app/open-iconic/svg/arrow-thick-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-thick-top.svg b/app/open-iconic/svg/arrow-thick-top.svg deleted file mode 100755 index 78b310c..0000000 --- a/app/open-iconic/svg/arrow-thick-top.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/arrow-top.svg b/app/open-iconic/svg/arrow-top.svg deleted file mode 100755 index d03d52d..0000000 --- a/app/open-iconic/svg/arrow-top.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/audio-spectrum.svg b/app/open-iconic/svg/audio-spectrum.svg deleted file mode 100755 index 7077ec7..0000000 --- a/app/open-iconic/svg/audio-spectrum.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/audio.svg b/app/open-iconic/svg/audio.svg deleted file mode 100755 index 803d592..0000000 --- a/app/open-iconic/svg/audio.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/badge.svg b/app/open-iconic/svg/badge.svg deleted file mode 100755 index 47b8322..0000000 --- a/app/open-iconic/svg/badge.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/ban.svg b/app/open-iconic/svg/ban.svg deleted file mode 100755 index 3a23300..0000000 --- a/app/open-iconic/svg/ban.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/bar-chart.svg b/app/open-iconic/svg/bar-chart.svg deleted file mode 100755 index a1cde5a..0000000 --- a/app/open-iconic/svg/bar-chart.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/basket.svg b/app/open-iconic/svg/basket.svg deleted file mode 100755 index fc5f8c5..0000000 --- a/app/open-iconic/svg/basket.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/battery-empty.svg b/app/open-iconic/svg/battery-empty.svg deleted file mode 100755 index 61efd9a..0000000 --- a/app/open-iconic/svg/battery-empty.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/battery-full.svg b/app/open-iconic/svg/battery-full.svg deleted file mode 100755 index 85d8839..0000000 --- a/app/open-iconic/svg/battery-full.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/beaker.svg b/app/open-iconic/svg/beaker.svg deleted file mode 100755 index 0eb1c02..0000000 --- a/app/open-iconic/svg/beaker.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/bell.svg b/app/open-iconic/svg/bell.svg deleted file mode 100755 index a701e7e..0000000 --- a/app/open-iconic/svg/bell.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/bluetooth.svg b/app/open-iconic/svg/bluetooth.svg deleted file mode 100755 index 36a4028..0000000 --- a/app/open-iconic/svg/bluetooth.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/bold.svg b/app/open-iconic/svg/bold.svg deleted file mode 100755 index 72432db..0000000 --- a/app/open-iconic/svg/bold.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/bolt.svg b/app/open-iconic/svg/bolt.svg deleted file mode 100755 index d6e8df1..0000000 --- a/app/open-iconic/svg/bolt.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/book.svg b/app/open-iconic/svg/book.svg deleted file mode 100755 index dd6a29b..0000000 --- a/app/open-iconic/svg/book.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/bookmark.svg b/app/open-iconic/svg/bookmark.svg deleted file mode 100755 index cd349c7..0000000 --- a/app/open-iconic/svg/bookmark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/box.svg b/app/open-iconic/svg/box.svg deleted file mode 100755 index 9d1abb0..0000000 --- a/app/open-iconic/svg/box.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/briefcase.svg b/app/open-iconic/svg/briefcase.svg deleted file mode 100755 index b211550..0000000 --- a/app/open-iconic/svg/briefcase.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/british-pound.svg b/app/open-iconic/svg/british-pound.svg deleted file mode 100755 index ef70d88..0000000 --- a/app/open-iconic/svg/british-pound.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/browser.svg b/app/open-iconic/svg/browser.svg deleted file mode 100755 index 616cfbe..0000000 --- a/app/open-iconic/svg/browser.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/brush.svg b/app/open-iconic/svg/brush.svg deleted file mode 100755 index bad9ec0..0000000 --- a/app/open-iconic/svg/brush.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/bug.svg b/app/open-iconic/svg/bug.svg deleted file mode 100755 index 70c1473..0000000 --- a/app/open-iconic/svg/bug.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/bullhorn.svg b/app/open-iconic/svg/bullhorn.svg deleted file mode 100755 index 885f0d5..0000000 --- a/app/open-iconic/svg/bullhorn.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/calculator.svg b/app/open-iconic/svg/calculator.svg deleted file mode 100755 index f756287..0000000 --- a/app/open-iconic/svg/calculator.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/calendar.svg b/app/open-iconic/svg/calendar.svg deleted file mode 100755 index a35049b..0000000 --- a/app/open-iconic/svg/calendar.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/camera-slr.svg b/app/open-iconic/svg/camera-slr.svg deleted file mode 100755 index 0ee45c0..0000000 --- a/app/open-iconic/svg/camera-slr.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/caret-bottom.svg b/app/open-iconic/svg/caret-bottom.svg deleted file mode 100755 index 2b4c525..0000000 --- a/app/open-iconic/svg/caret-bottom.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/caret-left.svg b/app/open-iconic/svg/caret-left.svg deleted file mode 100755 index 9d2c25a..0000000 --- a/app/open-iconic/svg/caret-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/caret-right.svg b/app/open-iconic/svg/caret-right.svg deleted file mode 100755 index 23b33a0..0000000 --- a/app/open-iconic/svg/caret-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/caret-top.svg b/app/open-iconic/svg/caret-top.svg deleted file mode 100755 index 2ad42e0..0000000 --- a/app/open-iconic/svg/caret-top.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/cart.svg b/app/open-iconic/svg/cart.svg deleted file mode 100755 index 55bdfc0..0000000 --- a/app/open-iconic/svg/cart.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/chat.svg b/app/open-iconic/svg/chat.svg deleted file mode 100755 index e1a1da0..0000000 --- a/app/open-iconic/svg/chat.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/check.svg b/app/open-iconic/svg/check.svg deleted file mode 100755 index 8b0e73d..0000000 --- a/app/open-iconic/svg/check.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/chevron-bottom.svg b/app/open-iconic/svg/chevron-bottom.svg deleted file mode 100755 index b919722..0000000 --- a/app/open-iconic/svg/chevron-bottom.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/chevron-left.svg b/app/open-iconic/svg/chevron-left.svg deleted file mode 100755 index 256902c..0000000 --- a/app/open-iconic/svg/chevron-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/chevron-right.svg b/app/open-iconic/svg/chevron-right.svg deleted file mode 100755 index 2da0760..0000000 --- a/app/open-iconic/svg/chevron-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/chevron-top.svg b/app/open-iconic/svg/chevron-top.svg deleted file mode 100755 index d8bf89c..0000000 --- a/app/open-iconic/svg/chevron-top.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/circle-check.svg b/app/open-iconic/svg/circle-check.svg deleted file mode 100755 index 5df0f15..0000000 --- a/app/open-iconic/svg/circle-check.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/circle-x.svg b/app/open-iconic/svg/circle-x.svg deleted file mode 100755 index 0244752..0000000 --- a/app/open-iconic/svg/circle-x.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/clipboard.svg b/app/open-iconic/svg/clipboard.svg deleted file mode 100755 index 6b0be4d..0000000 --- a/app/open-iconic/svg/clipboard.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/clock.svg b/app/open-iconic/svg/clock.svg deleted file mode 100755 index 058e443..0000000 --- a/app/open-iconic/svg/clock.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/cloud-download.svg b/app/open-iconic/svg/cloud-download.svg deleted file mode 100755 index 485cf92..0000000 --- a/app/open-iconic/svg/cloud-download.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/cloud-upload.svg b/app/open-iconic/svg/cloud-upload.svg deleted file mode 100755 index 2bb2196..0000000 --- a/app/open-iconic/svg/cloud-upload.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/cloud.svg b/app/open-iconic/svg/cloud.svg deleted file mode 100755 index 8c858ab..0000000 --- a/app/open-iconic/svg/cloud.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/cloudy.svg b/app/open-iconic/svg/cloudy.svg deleted file mode 100755 index 0bd98c6..0000000 --- a/app/open-iconic/svg/cloudy.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/code.svg b/app/open-iconic/svg/code.svg deleted file mode 100755 index 14e4937..0000000 --- a/app/open-iconic/svg/code.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/cog.svg b/app/open-iconic/svg/cog.svg deleted file mode 100755 index 7bbbce4..0000000 --- a/app/open-iconic/svg/cog.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/collapse-down.svg b/app/open-iconic/svg/collapse-down.svg deleted file mode 100755 index 47a37c5..0000000 --- a/app/open-iconic/svg/collapse-down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/collapse-left.svg b/app/open-iconic/svg/collapse-left.svg deleted file mode 100755 index 31ef1d6..0000000 --- a/app/open-iconic/svg/collapse-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/collapse-right.svg b/app/open-iconic/svg/collapse-right.svg deleted file mode 100755 index 6f104f6..0000000 --- a/app/open-iconic/svg/collapse-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/collapse-up.svg b/app/open-iconic/svg/collapse-up.svg deleted file mode 100755 index 6693e1e..0000000 --- a/app/open-iconic/svg/collapse-up.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/command.svg b/app/open-iconic/svg/command.svg deleted file mode 100755 index ae05df6..0000000 --- a/app/open-iconic/svg/command.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/comment-square.svg b/app/open-iconic/svg/comment-square.svg deleted file mode 100755 index 591eb51..0000000 --- a/app/open-iconic/svg/comment-square.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/compass.svg b/app/open-iconic/svg/compass.svg deleted file mode 100755 index 7b923b7..0000000 --- a/app/open-iconic/svg/compass.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/contrast.svg b/app/open-iconic/svg/contrast.svg deleted file mode 100755 index a38a3a4..0000000 --- a/app/open-iconic/svg/contrast.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/copywriting.svg b/app/open-iconic/svg/copywriting.svg deleted file mode 100755 index 910f8c0..0000000 --- a/app/open-iconic/svg/copywriting.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/credit-card.svg b/app/open-iconic/svg/credit-card.svg deleted file mode 100755 index 58b508b..0000000 --- a/app/open-iconic/svg/credit-card.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/crop.svg b/app/open-iconic/svg/crop.svg deleted file mode 100755 index 8a7f1eb..0000000 --- a/app/open-iconic/svg/crop.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/dashboard.svg b/app/open-iconic/svg/dashboard.svg deleted file mode 100755 index 083918d..0000000 --- a/app/open-iconic/svg/dashboard.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/data-transfer-download.svg b/app/open-iconic/svg/data-transfer-download.svg deleted file mode 100755 index 9f14f33..0000000 --- a/app/open-iconic/svg/data-transfer-download.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/data-transfer-upload.svg b/app/open-iconic/svg/data-transfer-upload.svg deleted file mode 100755 index 5fb17fa..0000000 --- a/app/open-iconic/svg/data-transfer-upload.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/delete.svg b/app/open-iconic/svg/delete.svg deleted file mode 100755 index 2f7ca18..0000000 --- a/app/open-iconic/svg/delete.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/dial.svg b/app/open-iconic/svg/dial.svg deleted file mode 100755 index 0371785..0000000 --- a/app/open-iconic/svg/dial.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/document.svg b/app/open-iconic/svg/document.svg deleted file mode 100755 index 8e2ba05..0000000 --- a/app/open-iconic/svg/document.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/dollar.svg b/app/open-iconic/svg/dollar.svg deleted file mode 100755 index f49a4ad..0000000 --- a/app/open-iconic/svg/dollar.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/double-quote-sans-left.svg b/app/open-iconic/svg/double-quote-sans-left.svg deleted file mode 100755 index 1ceb012..0000000 --- a/app/open-iconic/svg/double-quote-sans-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/double-quote-sans-right.svg b/app/open-iconic/svg/double-quote-sans-right.svg deleted file mode 100755 index 93705ae..0000000 --- a/app/open-iconic/svg/double-quote-sans-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/double-quote-serif-left.svg b/app/open-iconic/svg/double-quote-serif-left.svg deleted file mode 100755 index 3e04ae6..0000000 --- a/app/open-iconic/svg/double-quote-serif-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/double-quote-serif-right.svg b/app/open-iconic/svg/double-quote-serif-right.svg deleted file mode 100755 index 9d38e9e..0000000 --- a/app/open-iconic/svg/double-quote-serif-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/droplet.svg b/app/open-iconic/svg/droplet.svg deleted file mode 100755 index fc4a2d4..0000000 --- a/app/open-iconic/svg/droplet.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/eject.svg b/app/open-iconic/svg/eject.svg deleted file mode 100755 index f7ff102..0000000 --- a/app/open-iconic/svg/eject.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/elevator.svg b/app/open-iconic/svg/elevator.svg deleted file mode 100755 index 1e839cf..0000000 --- a/app/open-iconic/svg/elevator.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/ellipses.svg b/app/open-iconic/svg/ellipses.svg deleted file mode 100755 index dd2a7ee..0000000 --- a/app/open-iconic/svg/ellipses.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/envelope-closed.svg b/app/open-iconic/svg/envelope-closed.svg deleted file mode 100755 index 9fb9588..0000000 --- a/app/open-iconic/svg/envelope-closed.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/envelope-open.svg b/app/open-iconic/svg/envelope-open.svg deleted file mode 100755 index b67740f..0000000 --- a/app/open-iconic/svg/envelope-open.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/euro.svg b/app/open-iconic/svg/euro.svg deleted file mode 100755 index b109761..0000000 --- a/app/open-iconic/svg/euro.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/excerpt.svg b/app/open-iconic/svg/excerpt.svg deleted file mode 100755 index e83a3ee..0000000 --- a/app/open-iconic/svg/excerpt.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/expand-down.svg b/app/open-iconic/svg/expand-down.svg deleted file mode 100755 index b1d8ed0..0000000 --- a/app/open-iconic/svg/expand-down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/expand-left.svg b/app/open-iconic/svg/expand-left.svg deleted file mode 100755 index 380eae2..0000000 --- a/app/open-iconic/svg/expand-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/expand-right.svg b/app/open-iconic/svg/expand-right.svg deleted file mode 100755 index a75dadb..0000000 --- a/app/open-iconic/svg/expand-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/expand-up.svg b/app/open-iconic/svg/expand-up.svg deleted file mode 100755 index 36c3973..0000000 --- a/app/open-iconic/svg/expand-up.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/external-link.svg b/app/open-iconic/svg/external-link.svg deleted file mode 100755 index 6fdc00c..0000000 --- a/app/open-iconic/svg/external-link.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/eye.svg b/app/open-iconic/svg/eye.svg deleted file mode 100755 index 9f6f158..0000000 --- a/app/open-iconic/svg/eye.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/eyedropper.svg b/app/open-iconic/svg/eyedropper.svg deleted file mode 100755 index 97b8e13..0000000 --- a/app/open-iconic/svg/eyedropper.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/file.svg b/app/open-iconic/svg/file.svg deleted file mode 100755 index 145853d..0000000 --- a/app/open-iconic/svg/file.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/fire.svg b/app/open-iconic/svg/fire.svg deleted file mode 100755 index aeb99e7..0000000 --- a/app/open-iconic/svg/fire.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/flag.svg b/app/open-iconic/svg/flag.svg deleted file mode 100755 index da93787..0000000 --- a/app/open-iconic/svg/flag.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/flash.svg b/app/open-iconic/svg/flash.svg deleted file mode 100755 index 20a8a37..0000000 --- a/app/open-iconic/svg/flash.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/folder.svg b/app/open-iconic/svg/folder.svg deleted file mode 100755 index ef47dd6..0000000 --- a/app/open-iconic/svg/folder.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/fork.svg b/app/open-iconic/svg/fork.svg deleted file mode 100755 index 12e41f5..0000000 --- a/app/open-iconic/svg/fork.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/fullscreen-enter.svg b/app/open-iconic/svg/fullscreen-enter.svg deleted file mode 100755 index 4efb890..0000000 --- a/app/open-iconic/svg/fullscreen-enter.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/fullscreen-exit.svg b/app/open-iconic/svg/fullscreen-exit.svg deleted file mode 100755 index c57d8ad..0000000 --- a/app/open-iconic/svg/fullscreen-exit.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/globe.svg b/app/open-iconic/svg/globe.svg deleted file mode 100755 index 42a6dfe..0000000 --- a/app/open-iconic/svg/globe.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/graph.svg b/app/open-iconic/svg/graph.svg deleted file mode 100755 index 4727dd8..0000000 --- a/app/open-iconic/svg/graph.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/grid-four-up.svg b/app/open-iconic/svg/grid-four-up.svg deleted file mode 100755 index bdcc178..0000000 --- a/app/open-iconic/svg/grid-four-up.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/grid-three-up.svg b/app/open-iconic/svg/grid-three-up.svg deleted file mode 100755 index 2a929a0..0000000 --- a/app/open-iconic/svg/grid-three-up.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/grid-two-up.svg b/app/open-iconic/svg/grid-two-up.svg deleted file mode 100755 index 71503ba..0000000 --- a/app/open-iconic/svg/grid-two-up.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/hard-drive.svg b/app/open-iconic/svg/hard-drive.svg deleted file mode 100755 index 8fcd853..0000000 --- a/app/open-iconic/svg/hard-drive.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/header.svg b/app/open-iconic/svg/header.svg deleted file mode 100755 index e794cc4..0000000 --- a/app/open-iconic/svg/header.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/headphones.svg b/app/open-iconic/svg/headphones.svg deleted file mode 100755 index 63e4559..0000000 --- a/app/open-iconic/svg/headphones.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/heart.svg b/app/open-iconic/svg/heart.svg deleted file mode 100755 index cc5f71e..0000000 --- a/app/open-iconic/svg/heart.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/home.svg b/app/open-iconic/svg/home.svg deleted file mode 100755 index 8057619..0000000 --- a/app/open-iconic/svg/home.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/image.svg b/app/open-iconic/svg/image.svg deleted file mode 100755 index fa9a105..0000000 --- a/app/open-iconic/svg/image.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/inbox.svg b/app/open-iconic/svg/inbox.svg deleted file mode 100755 index 4c8fbd0..0000000 --- a/app/open-iconic/svg/inbox.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/infinity.svg b/app/open-iconic/svg/infinity.svg deleted file mode 100755 index bdc5569..0000000 --- a/app/open-iconic/svg/infinity.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/info.svg b/app/open-iconic/svg/info.svg deleted file mode 100755 index a61e598..0000000 --- a/app/open-iconic/svg/info.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/italic.svg b/app/open-iconic/svg/italic.svg deleted file mode 100755 index facb403..0000000 --- a/app/open-iconic/svg/italic.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/justify-center.svg b/app/open-iconic/svg/justify-center.svg deleted file mode 100755 index 544162c..0000000 --- a/app/open-iconic/svg/justify-center.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/justify-left.svg b/app/open-iconic/svg/justify-left.svg deleted file mode 100755 index e5787c3..0000000 --- a/app/open-iconic/svg/justify-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/justify-right.svg b/app/open-iconic/svg/justify-right.svg deleted file mode 100755 index 2e8c6fd..0000000 --- a/app/open-iconic/svg/justify-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/key.svg b/app/open-iconic/svg/key.svg deleted file mode 100755 index 9517346..0000000 --- a/app/open-iconic/svg/key.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/laptop.svg b/app/open-iconic/svg/laptop.svg deleted file mode 100755 index b8e7e56..0000000 --- a/app/open-iconic/svg/laptop.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/layers.svg b/app/open-iconic/svg/layers.svg deleted file mode 100755 index 564c4ae..0000000 --- a/app/open-iconic/svg/layers.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/lightbulb.svg b/app/open-iconic/svg/lightbulb.svg deleted file mode 100755 index 8c0d98a..0000000 --- a/app/open-iconic/svg/lightbulb.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/link-broken.svg b/app/open-iconic/svg/link-broken.svg deleted file mode 100755 index 7bd085e..0000000 --- a/app/open-iconic/svg/link-broken.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/link-intact.svg b/app/open-iconic/svg/link-intact.svg deleted file mode 100755 index cdfbabd..0000000 --- a/app/open-iconic/svg/link-intact.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/list-rich.svg b/app/open-iconic/svg/list-rich.svg deleted file mode 100755 index cf816d1..0000000 --- a/app/open-iconic/svg/list-rich.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/list.svg b/app/open-iconic/svg/list.svg deleted file mode 100755 index 83ada76..0000000 --- a/app/open-iconic/svg/list.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/location.svg b/app/open-iconic/svg/location.svg deleted file mode 100755 index 9fa01f2..0000000 --- a/app/open-iconic/svg/location.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/lock-locked.svg b/app/open-iconic/svg/lock-locked.svg deleted file mode 100755 index ef54f3a..0000000 --- a/app/open-iconic/svg/lock-locked.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/lock-unlocked.svg b/app/open-iconic/svg/lock-unlocked.svg deleted file mode 100755 index 7f78a6f..0000000 --- a/app/open-iconic/svg/lock-unlocked.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/loop-circular.svg b/app/open-iconic/svg/loop-circular.svg deleted file mode 100755 index fe5853a..0000000 --- a/app/open-iconic/svg/loop-circular.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/loop-square.svg b/app/open-iconic/svg/loop-square.svg deleted file mode 100755 index e052f40..0000000 --- a/app/open-iconic/svg/loop-square.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/loop.svg b/app/open-iconic/svg/loop.svg deleted file mode 100755 index 4b524c3..0000000 --- a/app/open-iconic/svg/loop.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/magnifying-glass.svg b/app/open-iconic/svg/magnifying-glass.svg deleted file mode 100755 index 1e4ffb6..0000000 --- a/app/open-iconic/svg/magnifying-glass.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/map-marker.svg b/app/open-iconic/svg/map-marker.svg deleted file mode 100755 index e1f5b99..0000000 --- a/app/open-iconic/svg/map-marker.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/map.svg b/app/open-iconic/svg/map.svg deleted file mode 100755 index 28f377c..0000000 --- a/app/open-iconic/svg/map.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/media-pause.svg b/app/open-iconic/svg/media-pause.svg deleted file mode 100755 index a74159e..0000000 --- a/app/open-iconic/svg/media-pause.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/media-play.svg b/app/open-iconic/svg/media-play.svg deleted file mode 100755 index 54cebff..0000000 --- a/app/open-iconic/svg/media-play.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/media-record.svg b/app/open-iconic/svg/media-record.svg deleted file mode 100755 index 6bbe079..0000000 --- a/app/open-iconic/svg/media-record.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/media-skip-backward.svg b/app/open-iconic/svg/media-skip-backward.svg deleted file mode 100755 index c60167b..0000000 --- a/app/open-iconic/svg/media-skip-backward.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/media-skip-forward.svg b/app/open-iconic/svg/media-skip-forward.svg deleted file mode 100755 index 13b8a52..0000000 --- a/app/open-iconic/svg/media-skip-forward.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/media-step-backward.svg b/app/open-iconic/svg/media-step-backward.svg deleted file mode 100755 index 78ac714..0000000 --- a/app/open-iconic/svg/media-step-backward.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/media-step-forward.svg b/app/open-iconic/svg/media-step-forward.svg deleted file mode 100755 index df21299..0000000 --- a/app/open-iconic/svg/media-step-forward.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/media-stop.svg b/app/open-iconic/svg/media-stop.svg deleted file mode 100755 index af6f4f4..0000000 --- a/app/open-iconic/svg/media-stop.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/medical-cross.svg b/app/open-iconic/svg/medical-cross.svg deleted file mode 100755 index 71028f9..0000000 --- a/app/open-iconic/svg/medical-cross.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/menu.svg b/app/open-iconic/svg/menu.svg deleted file mode 100755 index 79a4d8c..0000000 --- a/app/open-iconic/svg/menu.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/microphone.svg b/app/open-iconic/svg/microphone.svg deleted file mode 100755 index 088bc44..0000000 --- a/app/open-iconic/svg/microphone.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/minus.svg b/app/open-iconic/svg/minus.svg deleted file mode 100755 index 82f4163..0000000 --- a/app/open-iconic/svg/minus.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/monitor.svg b/app/open-iconic/svg/monitor.svg deleted file mode 100755 index a7c4667..0000000 --- a/app/open-iconic/svg/monitor.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/moon.svg b/app/open-iconic/svg/moon.svg deleted file mode 100755 index b5520af..0000000 --- a/app/open-iconic/svg/moon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/move.svg b/app/open-iconic/svg/move.svg deleted file mode 100755 index 4674db8..0000000 --- a/app/open-iconic/svg/move.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/musical-note.svg b/app/open-iconic/svg/musical-note.svg deleted file mode 100755 index 644ca61..0000000 --- a/app/open-iconic/svg/musical-note.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/paperclip.svg b/app/open-iconic/svg/paperclip.svg deleted file mode 100755 index 380fe55..0000000 --- a/app/open-iconic/svg/paperclip.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/pencil.svg b/app/open-iconic/svg/pencil.svg deleted file mode 100755 index 8109530..0000000 --- a/app/open-iconic/svg/pencil.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/people.svg b/app/open-iconic/svg/people.svg deleted file mode 100755 index 7d909ca..0000000 --- a/app/open-iconic/svg/people.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/person.svg b/app/open-iconic/svg/person.svg deleted file mode 100755 index a9396b2..0000000 --- a/app/open-iconic/svg/person.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/phone.svg b/app/open-iconic/svg/phone.svg deleted file mode 100755 index 883f3ba..0000000 --- a/app/open-iconic/svg/phone.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/pie-chart.svg b/app/open-iconic/svg/pie-chart.svg deleted file mode 100755 index 8d04463..0000000 --- a/app/open-iconic/svg/pie-chart.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/pin.svg b/app/open-iconic/svg/pin.svg deleted file mode 100755 index 3aa1c8c..0000000 --- a/app/open-iconic/svg/pin.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/play-circle.svg b/app/open-iconic/svg/play-circle.svg deleted file mode 100755 index d668d52..0000000 --- a/app/open-iconic/svg/play-circle.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/plus.svg b/app/open-iconic/svg/plus.svg deleted file mode 100755 index 74aea49..0000000 --- a/app/open-iconic/svg/plus.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/power-standby.svg b/app/open-iconic/svg/power-standby.svg deleted file mode 100755 index 0a08500..0000000 --- a/app/open-iconic/svg/power-standby.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/print.svg b/app/open-iconic/svg/print.svg deleted file mode 100755 index 4fa2202..0000000 --- a/app/open-iconic/svg/print.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/project.svg b/app/open-iconic/svg/project.svg deleted file mode 100755 index e8e9154..0000000 --- a/app/open-iconic/svg/project.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/pulse.svg b/app/open-iconic/svg/pulse.svg deleted file mode 100755 index 751c7e0..0000000 --- a/app/open-iconic/svg/pulse.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/puzzle-piece.svg b/app/open-iconic/svg/puzzle-piece.svg deleted file mode 100755 index 6a56995..0000000 --- a/app/open-iconic/svg/puzzle-piece.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/question-mark.svg b/app/open-iconic/svg/question-mark.svg deleted file mode 100755 index a5e65ce..0000000 --- a/app/open-iconic/svg/question-mark.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/rain.svg b/app/open-iconic/svg/rain.svg deleted file mode 100755 index 0891310..0000000 --- a/app/open-iconic/svg/rain.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/random.svg b/app/open-iconic/svg/random.svg deleted file mode 100755 index 9908f14..0000000 --- a/app/open-iconic/svg/random.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/reload.svg b/app/open-iconic/svg/reload.svg deleted file mode 100755 index 92611c5..0000000 --- a/app/open-iconic/svg/reload.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/resize-both.svg b/app/open-iconic/svg/resize-both.svg deleted file mode 100755 index d4d0fb4..0000000 --- a/app/open-iconic/svg/resize-both.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/resize-height.svg b/app/open-iconic/svg/resize-height.svg deleted file mode 100755 index 8ddb0e5..0000000 --- a/app/open-iconic/svg/resize-height.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/resize-width.svg b/app/open-iconic/svg/resize-width.svg deleted file mode 100755 index 864ebaf..0000000 --- a/app/open-iconic/svg/resize-width.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/rss-alt.svg b/app/open-iconic/svg/rss-alt.svg deleted file mode 100755 index b55d816..0000000 --- a/app/open-iconic/svg/rss-alt.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/rss.svg b/app/open-iconic/svg/rss.svg deleted file mode 100755 index 1e70b74..0000000 --- a/app/open-iconic/svg/rss.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/script.svg b/app/open-iconic/svg/script.svg deleted file mode 100755 index 14b7ff8..0000000 --- a/app/open-iconic/svg/script.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/share-boxed.svg b/app/open-iconic/svg/share-boxed.svg deleted file mode 100755 index 46f29a5..0000000 --- a/app/open-iconic/svg/share-boxed.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/share.svg b/app/open-iconic/svg/share.svg deleted file mode 100755 index 604cf5a..0000000 --- a/app/open-iconic/svg/share.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/shield.svg b/app/open-iconic/svg/shield.svg deleted file mode 100755 index 1ebf81e..0000000 --- a/app/open-iconic/svg/shield.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/signal.svg b/app/open-iconic/svg/signal.svg deleted file mode 100755 index 14137f4..0000000 --- a/app/open-iconic/svg/signal.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/signpost.svg b/app/open-iconic/svg/signpost.svg deleted file mode 100755 index 965e95a..0000000 --- a/app/open-iconic/svg/signpost.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/sort-ascending.svg b/app/open-iconic/svg/sort-ascending.svg deleted file mode 100755 index bb8d497..0000000 --- a/app/open-iconic/svg/sort-ascending.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/sort-descending.svg b/app/open-iconic/svg/sort-descending.svg deleted file mode 100755 index 6af7349..0000000 --- a/app/open-iconic/svg/sort-descending.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/spreadsheet.svg b/app/open-iconic/svg/spreadsheet.svg deleted file mode 100755 index f2f7c8f..0000000 --- a/app/open-iconic/svg/spreadsheet.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/star.svg b/app/open-iconic/svg/star.svg deleted file mode 100755 index ab716a0..0000000 --- a/app/open-iconic/svg/star.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/sun.svg b/app/open-iconic/svg/sun.svg deleted file mode 100755 index d8245ff..0000000 --- a/app/open-iconic/svg/sun.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/tablet.svg b/app/open-iconic/svg/tablet.svg deleted file mode 100755 index 25d0eaa..0000000 --- a/app/open-iconic/svg/tablet.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/tag.svg b/app/open-iconic/svg/tag.svg deleted file mode 100755 index b9efc2b..0000000 --- a/app/open-iconic/svg/tag.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/tags.svg b/app/open-iconic/svg/tags.svg deleted file mode 100755 index d01264d..0000000 --- a/app/open-iconic/svg/tags.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/target.svg b/app/open-iconic/svg/target.svg deleted file mode 100755 index 68daa5e..0000000 --- a/app/open-iconic/svg/target.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/task.svg b/app/open-iconic/svg/task.svg deleted file mode 100755 index 786c7bf..0000000 --- a/app/open-iconic/svg/task.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/terminal.svg b/app/open-iconic/svg/terminal.svg deleted file mode 100755 index 59fabc5..0000000 --- a/app/open-iconic/svg/terminal.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/text.svg b/app/open-iconic/svg/text.svg deleted file mode 100755 index 7a4ffb4..0000000 --- a/app/open-iconic/svg/text.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/thumb-down.svg b/app/open-iconic/svg/thumb-down.svg deleted file mode 100755 index e2d2706..0000000 --- a/app/open-iconic/svg/thumb-down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/thumb-up.svg b/app/open-iconic/svg/thumb-up.svg deleted file mode 100755 index 2c936b6..0000000 --- a/app/open-iconic/svg/thumb-up.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/timer.svg b/app/open-iconic/svg/timer.svg deleted file mode 100755 index 9041be3..0000000 --- a/app/open-iconic/svg/timer.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/transfer.svg b/app/open-iconic/svg/transfer.svg deleted file mode 100755 index 39ace35..0000000 --- a/app/open-iconic/svg/transfer.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/trash.svg b/app/open-iconic/svg/trash.svg deleted file mode 100755 index 83d8cdc..0000000 --- a/app/open-iconic/svg/trash.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/underline.svg b/app/open-iconic/svg/underline.svg deleted file mode 100755 index a6f8073..0000000 --- a/app/open-iconic/svg/underline.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/vertical-align-bottom.svg b/app/open-iconic/svg/vertical-align-bottom.svg deleted file mode 100755 index 1e8dd01..0000000 --- a/app/open-iconic/svg/vertical-align-bottom.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/vertical-align-center.svg b/app/open-iconic/svg/vertical-align-center.svg deleted file mode 100755 index 2069a11..0000000 --- a/app/open-iconic/svg/vertical-align-center.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/vertical-align-top.svg b/app/open-iconic/svg/vertical-align-top.svg deleted file mode 100755 index d303529..0000000 --- a/app/open-iconic/svg/vertical-align-top.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/video.svg b/app/open-iconic/svg/video.svg deleted file mode 100755 index 001148b..0000000 --- a/app/open-iconic/svg/video.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/volume-high.svg b/app/open-iconic/svg/volume-high.svg deleted file mode 100755 index c8a52c6..0000000 --- a/app/open-iconic/svg/volume-high.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/volume-low.svg b/app/open-iconic/svg/volume-low.svg deleted file mode 100755 index bd492db..0000000 --- a/app/open-iconic/svg/volume-low.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/volume-off.svg b/app/open-iconic/svg/volume-off.svg deleted file mode 100755 index 38237b2..0000000 --- a/app/open-iconic/svg/volume-off.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/warning.svg b/app/open-iconic/svg/warning.svg deleted file mode 100755 index e3594a8..0000000 --- a/app/open-iconic/svg/warning.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/wifi.svg b/app/open-iconic/svg/wifi.svg deleted file mode 100755 index d5ae76b..0000000 --- a/app/open-iconic/svg/wifi.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/wrench.svg b/app/open-iconic/svg/wrench.svg deleted file mode 100755 index b10e33b..0000000 --- a/app/open-iconic/svg/wrench.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/x.svg b/app/open-iconic/svg/x.svg deleted file mode 100755 index fc7251c..0000000 --- a/app/open-iconic/svg/x.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/yen.svg b/app/open-iconic/svg/yen.svg deleted file mode 100755 index 2a77158..0000000 --- a/app/open-iconic/svg/yen.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/zoom-in.svg b/app/open-iconic/svg/zoom-in.svg deleted file mode 100755 index 6a39b37..0000000 --- a/app/open-iconic/svg/zoom-in.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/svg/zoom-out.svg b/app/open-iconic/svg/zoom-out.svg deleted file mode 100755 index 9898a86..0000000 --- a/app/open-iconic/svg/zoom-out.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/app/open-iconic/webp/account-login-2x.webp b/app/open-iconic/webp/account-login-2x.webp deleted file mode 100755 index 1fc520b9fc0197da4e142158ab583653715478ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmWIYbaQKAU|Tz(`# z;H1~rHogn39AQRHfjKAVa|r$of3huCdG4m$`3yf2oy#1!`g@*eX7K5y?$DbR@n^L- k0|U@}1qq;OMvM$|8MOp}_6XjvP+!8pT)^<}_nZR^0OVgP{Qv*} diff --git a/app/open-iconic/webp/account-login-3x.webp b/app/open-iconic/webp/account-login-3x.webp deleted file mode 100755 index 97693c7d9b0564f7dfb8baec9b8e1dc47a8bf180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIYbaR`>z`zjh>J$(bU=hIuWD5YXI2bwl1b74jd4ll?OLCvQ==D4L@NvJrlG3*d z8PQcq(Vh1$FdmXP=;db6r21p~-DA@f7X5d*Y_@Xt9Z8Fqb>2TOnHcJBdQJ$(bU=hIuWD5YXJQz9p1bBo1d4k~%Y6&y9gmWqGaCJE$x%^0g zz)7#87Z`U5G|?eO*TUfvNSgKACkovn#Jte4hRNb;1!-6~V(V zS{BW8IAGu;&=|@6&rXto0ce|o8qn-ZObl}wwG80;n*^|`1lQk4F}J$(bU=hIuWD5YXJ{URr1bD;&d4k~%Y6&y9gmWqGaCJE$x%`NO zuxD1?2Zp!_0^S}DTy~RVTxBoTyXM_CyQ2BBqT}7O>rD67DsC{#;xlX98hAa+14tHc zSi;5cXYb{hI)xiVbYIeYc9ZWK2Ll7pUIh)HEkeu;a~ZV^7z`NfRys^`QB_u)@q{Uu XtK~}rgM;_ybCL-R|GslHFfafBT`fAX diff --git a/app/open-iconic/webp/account-login-8x.webp b/app/open-iconic/webp/account-login-8x.webp deleted file mode 100755 index acdfca89d0050aad705429ed259b6a209b2b8387..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmWIYbaOkvz`zjh>J$(bU=hIuWD5YXJs3Iq1bAcvd9v*ZDwD40v|9)5IqK}ecJX5Wj}Z5wrvecS@}%DuyFq!hZ{lpdOSMuclke*f0)V$vSCX<=K;gNFMD=2096A3;Im2K diff --git a/app/open-iconic/webp/account-login.webp b/app/open-iconic/webp/account-login.webp deleted file mode 100755 index 22c39c73f56f115cf0e3ef78b8a93edbd61fb215..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|@bCAW0}KEjwIU1v diff --git a/app/open-iconic/webp/account-logout-2x.webp b/app/open-iconic/webp/account-logout-2x.webp deleted file mode 100755 index f5e6c9bfddd982c5b248c276813353681a1d60e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|?Z;~l1_q$H3KBq5 cj2Ic_GHM9`%@@33p}vHHxq#u{?>Pq;0G3H9a{vGU diff --git a/app/open-iconic/webp/account-logout-3x.webp b/app/open-iconic/webp/account-logout-3x.webp deleted file mode 100755 index 4d5a0e926078216d4f4bdb9c946a1cc861e10a82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmWIYbaR`*z`zjh>J$(bU=hIuWD5YXI2bwl1bBD@d4m29DhxB17CBuj6%-8Ev0Ly8 z3&SOWR*tZRlNon}#j&PyF& F008mQFOC2J diff --git a/app/open-iconic/webp/account-logout-4x.webp b/app/open-iconic/webp/account-logout-4x.webp deleted file mode 100755 index 6ed57933c6f7e79a8d4a33503847da331c8341b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmWIYbaPw4z`zjh>J$(bU=hIuWD5YXJQz9p1b74kd4lc^Dh^UtPI39&=J$(bU=hIuWD5YXJ{URr1b8F?d4lc^Dh^UtPI39&=+Hpo-hS-wR~w{aPaJ$(bU=hIuWD5YXJs3Iq1bAcsd4lc^Dh^UtPI39&=f(mJ@8u4>;i_ zWTKV+>6h_YSyz|;lVf)BoQX6x*r^gO$G`wIML`0n$B2<(E~6F)0|$fP4GZ-p49o=# K|9;OozyJU>z8-u4 diff --git a/app/open-iconic/webp/action-redo-2x.webp b/app/open-iconic/webp/action-redo-2x.webp deleted file mode 100755 index 850cd221c4a9f4f4c8912778060fb23994eba07d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmWIYbaUIrz`zjh>J$(bU=hIuWD5W>KNvas1bCDKd4lW*H72RJ-nKpc<2mzxxo|g^ zB~6RJx|HvT4f1aL(W<|(kX5We!gJHAGvx>Q%5VHxT+`6vs=GPU>* lGtge3ixeb)v=Jl2Tt+PcpvwerSg0>yU@lJ$(bU=hIuWD5YXI2bwl1bD0l@&wxtE|{p|dcF8eztO$@wjzRp znLA7?)VThXy-QiIbw@-x%JuP;-pzXoZn#ZS`f6-^#@M**-^IK4&b&!x5d7=^Co+AL zt*zhfLg|mMX4Qo{rc@-pv1yQwOTSxVc7OK$72g?sO2eCT->iIYR1(#qFT28f$yceQ zwbol(FSyh=$|{Noybm_#usq^@McIk%qt4e(^NbH(5`srs{XTeQu&i%g`9L;Nsls3A z575;NKwl`R0qILj409Q^Bp4(Z>?RuZxu`5sl>Wlx&B^kmfgzl+gMs1SkMmLo7yy;R BV+sHO diff --git a/app/open-iconic/webp/action-redo-4x.webp b/app/open-iconic/webp/action-redo-4x.webp deleted file mode 100755 index 64d1eb728059df409cb635866e8b4faf47b3362a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPqWNk&F00RRA3MM6+kP&il$0000G0000V0018V06|PpNZkMc01?N*D3T;a zTQz%3FY>Rn&qYLJ<2P3)W~^Zy%viIBsoZ^#TPhzJ@xYa=bW#GAWZSBmjk`M>+%*Zh z=RdM1R}Qi7i2f)3jYM;{`+5eS+i4>KMQU)Np(R*#d)qdXRonksD zb{2P9&lc>;ZIy$SU(>plVWtj4I7cs<`y`CP5S|gO9^%9p-Zjlr0#PjoZ{b0+j;IR7 zlI8?a7K$#-4WbMbC7K_I5>RAlKA@%rH7%%w9)Vxz6ljDFflg=%v_eCm7e<12gn{5a z3GiP400011P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^ E0RPr^NB{r; diff --git a/app/open-iconic/webp/action-redo-6x.webp b/app/open-iconic/webp/action-redo-6x.webp deleted file mode 100755 index 622aeab772200f76e021eb20d344f05787094503..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmV;F0c-wJNk&GD0RRA3MM6+kP&il$0000G0000l001ul06|PpNIn4o01;=xpphg+ z*E7$|@89W>h=|CbhSW9Ww%1@0m9RK{nY@eCHL*uCZbcOOjfppvXvqd7*|t?R2X}|K zCl_~j;(F#kp2+9^_g*W_i2f)3S;3RqX!G##{jeTZkAtu-be^a_w)3#c&uB2s!8qLf zqS0p~1hedd#`6qJ%J;O`mf&B0<@fvOvXTgXCn{It5Bj{6;FrDU<82H|{O+0hHUmAf zWG?}qRG<1h1hx5f4ui`tstsuQw^JCMeNp?&L7APy@Pg_D`-Luy`&9GTt0!QbdZyNb zH*^h)Dz(QTJO?pY#6PGV!Bd3QgxVcEX;|G*8^9BV)giSNJONlGsqNq*MC~0;sKNQwoIifB-;C^UfJy0RHy~fB*o~c(=d+ diff --git a/app/open-iconic/webp/action-redo-8x.webp b/app/open-iconic/webp/action-redo-8x.webp deleted file mode 100755 index 9b7e0b2bd57eb2e4358aa69282079b01ea46ffdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 486 zcmVMNk&HA0RRA3MM6+kP&il$0000G0000#002J#06|PpNQwaf01@xOux;B& zt(@fkfB#+Gn<65z$*4MsL!DrfFByNLNJ?H~Ea6XyHCsPJ1Og;Sk`zhNu*1yDxy&$( z@&9ivb!S%gZBG&XPy91zMAn!enh^&=)AFhWm-Ko| z^Y$u1_-MwU=@5a*9fNNZgj7H1@LqwvHKoh60c&f?pTq0*xLu0BO6|$@>w%_46SnG< z-?NJ7S%qIuxLul!2J3zp2 zM|GM&x!w;DG(1qfLVjs`jKCABn03nohsa^!ksGIgn@!^VUWN>7$EQwngw1$qrgvS5_k#?0$-sj@D?fpe_^hm2w{$( z7-2?Gl<<$BIN^_=Na2^DSoy+#0{{S4P&gni0001z0|1=?DnI~006xJ^okk`jq89`L cV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw06EXyo&W#< diff --git a/app/open-iconic/webp/action-redo.webp b/app/open-iconic/webp/action-redo.webp deleted file mode 100755 index 6d915d5c88df71ed329bff945291a01d9edc4b92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmWIYbaQKCU|{@51??-;Iov zlsZ{cE8S8n=L;^^kT9EcCGBLwFc*8<{2?KKh!@u8i4ln=!HzzJ% diff --git a/app/open-iconic/webp/action-undo-2x.webp b/app/open-iconic/webp/action-undo-2x.webp deleted file mode 100755 index 22295ae09bb96172fdfbe1307002ccb370755e3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmWIYbaPwBz`zjh>J$(bU=hIuWD5W>KNvas1bE~Fd4lH`Ea+8v`d}uH!SCrmjFglZ zxBhI2OnmlY(y?ZKYp&J;0nbTFR}GD~)h|BH&!zNh{-5P>=a0*HyIS1gS|?|}XH)d- z*?I3be$}-W>`_gddbdOBjOJ}2(HZV$>Zc5fRMJ?DKkArIo|T$*Y4gMRK>L6$QIG)A cMvM$|8MOp}E)u+9p}vHHxq#u{?>Pq;0AN8twg3PC diff --git a/app/open-iconic/webp/action-undo-3x.webp b/app/open-iconic/webp/action-undo-3x.webp deleted file mode 100755 index 04dbebbfc24c5db311ce090fb061f005a42bd486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmV1oVIaR{@9s0RH&T8o&U#(PugU diff --git a/app/open-iconic/webp/action-undo-4x.webp b/app/open-iconic/webp/action-undo-4x.webp deleted file mode 100755 index 9f3c1251137da435c9ae5863e145dfe9d154a0b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmV+_0oDFeNk&E@0RRA3MM6+kP&il$0000G0000V0018V06|PpNYwxU01=PDD3T;a z+pu)_LjOklTtq|`{M2EDL!LpJ#>psGZMbNCu!x;27MLO+Ig+GEieYBXVP=T`f36|3 zss?t?5&cj6E1AxGdwoWi&8(F{KyGxV<21~|S3l6Rufg5B(|hZ})qB!B7X4~Is`i(U zXBW19r&*O?%IjMVI(MXgjp3Z^vQQ(MF+7t2(#)B91@AP2q)q)O!CPq}nNu$i&_J@K z?jxXxDj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0E*IjCjbBd diff --git a/app/open-iconic/webp/action-undo-6x.webp b/app/open-iconic/webp/action-undo-6x.webp deleted file mode 100755 index 816db0c5eedaa4a10cc3f88ec25f98c98193f12b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396 zcmV;70dxLRNk&G50RRA3MM6+kP&il$0000G0000l001ul06|PpNHzfg01+3$pphg+ z*E7$|@89X(s)&dzYN)*lb)mt^fzy`>Z=$x*3|d4_2>qtv7AacNfF#?ts^;MCt`~QA zh@bfnD)PDiz1K=JqW_71S+LSyo~|F?*W;pB4#GM=xl_H3bFj*7X|Tz{I6V5I(dRG( zv&^2xyEIIS7h0SP@Grj7=Y82MC4%3HQfu|W@0SAnG8gK%P7F%C``|eZJ#wHvO~5BP z=Pm?wMD?oQwoIifB-;C^UfJy0RHy~fB*o(s;+MU diff --git a/app/open-iconic/webp/action-undo-8x.webp b/app/open-iconic/webp/action-undo-8x.webp deleted file mode 100755 index 3640e1e90c9c3b0a3675bdf146b42973a5899ea3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmV{wMx5(tQithnElUUk{gu+w;9?_~ynB9;rO;k7eOj zUAd>}Zn*-N(%K8n&nrcQk6tn8Vihm!{EU6*t@?|`-ImZs06)$#61 z?yJ&0v3C5)pPNqDS}tk1T5Lva>(Vv9&zoQ=oYHVNm4%v{zUS9T4u&lnb}BGcclose zeU$q9B+N4(9D-K5qWU_BfT6dGB9t|%?*j-L{#ZtQ^@Zvr0%xDfh+Uz&gWx?uT<)IQ zZ3V%#vn*o9sZPORZUiw0)UL8{$gd-sd7`!mmzfkIebhdi;nLQF$O5$^IQ1j4O>GrU z?T8#w8;4UJkxOdba4I44K&=ArcWOC!Q-wQKxKo8YRk#TQ1>wRVfrl_a;3G5(yo5%9 zpU@=m6dDA+LRH``R0RIQSV0oP7(p_^h#)E9A3<`$A3>7BFF~^Mh5r@+09H^qAT9s^ y0Fna$odGI906+jf!A_kQ76$_dgWwGd^(73<1q}aw&pE&V04eJ%Gynhq diff --git a/app/open-iconic/webp/align-center-2x.webp b/app/open-iconic/webp/align-center-2x.webp deleted file mode 100755 index e41a42506187911132fe0620ad453b08a7104d39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmWIYbaRVgU|>bfc*8<{2?KKh!@u8i4ln=!d^j1> diff --git a/app/open-iconic/webp/align-center-3x.webp b/app/open-iconic/webp/align-center-3x.webp deleted file mode 100755 index b85809a0b55c7fa3c52e3a8637c0c5e502d3f373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|;M1& diff --git a/app/open-iconic/webp/align-center-4x.webp b/app/open-iconic/webp/align-center-4x.webp deleted file mode 100755 index 98b5377c24646616e83fcd9a8fd451129c3866d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|3JVAbg|AK-}3KLxR{gM*=+n>tF lzyMUOAOVy!Vq}=hsKvp+!610ULVXDXa{1E~AzJP`}^}3-u)o%mobpe$P3;002EW7>WP@ diff --git a/app/open-iconic/webp/align-left-3x.webp b/app/open-iconic/webp/align-left-3x.webp deleted file mode 100755 index 6e943edd7770dce8291a177c3f340551240f5fff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|#& GzyJWyMIEdF diff --git a/app/open-iconic/webp/align-left-6x.webp b/app/open-iconic/webp/align-left-6x.webp deleted file mode 100755 index cb5dee361f3b237a11c68e3c19a28699cc0e08a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmWIYbaSg4JVAbg|AK-}3KLSc*yU@l1E~AzJP`}^}3-u)o%mobpe$P3;002~S80-K5 diff --git a/app/open-iconic/webp/align-right-3x.webp b/app/open-iconic/webp/align-right-3x.webp deleted file mode 100755 index 8fe0c2dea97f94007587eac04453054b63360e9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|Vq%!fs3pN5!C*JhsLw@Zk)re$CT~ubFAWUgj2#RN L|9+g8I=}z`3_>Dl diff --git a/app/open-iconic/webp/align-right-4x.webp b/app/open-iconic/webp/align-right-4x.webp deleted file mode 100755 index 11553b723d5bbe0a2d723fa040a5b104c40401e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmWIYbaTsMU|^< z@-KY_jV}jyl#LcIxXU3tuNJ5Zs9!+?NDDDD%w^OvU@%~?Tj?;(MO9gG#uKJsu9hzi T3=ZC(&q*dQ{QJ()z`y_ibpRq< diff --git a/app/open-iconic/webp/align-right-8x.webp b/app/open-iconic/webp/align-right-8x.webp deleted file mode 100755 index 051140ad41b9bbdf4b058731a0ddd3ec520db360..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|SCX<=K;gNFMD=2096A3GodG} diff --git a/app/open-iconic/webp/align-right.webp b/app/open-iconic/webp/align-right.webp deleted file mode 100755 index d47e89fb1e68141fca4aa8c4740a93cfc54e39a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94 zcmWIYbaM-1U|3sV9 zVnJt@|H4+bw`}8gCkjpbGx69_-nV(}0&{}T3luy4vJq9-YQ3~2k$)xs)7#$_KG%P> z?wfz5qv}ob53Lh{Zq}!EauoM(sxOdid+JbmSBfuUQ%FC{oV98`va94>uKj5}`7-F- zftgx-yA?yZuWnz-{c)W}bj$uL+~!ltKc$LDpGtqwrfIFa_@B9l6Eo01K%Xi|0BIve ahPjMd0ze-N-mp+#!oXa>@bCAW0}KF|NN+Cy diff --git a/app/open-iconic/webp/aperture-3x.webp b/app/open-iconic/webp/aperture-3x.webp deleted file mode 100755 index 6c46daf057f109628501d41446d01012f13188c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmV-)0gL`pNk&F&0RRA3MM6+kP&il$0000G0000N000*N06|PpNFMbN>inhP82aeS*Z7&yWg%EV?MC%CRhM85LBD8x*OByoH zK>Od+6AyI$P5pAg^%g&5O!E?l4sIzUNSZQ1;E$GX1lrY6X~>A8f=ybk30M*?xSrIl z70sCk4k;R&2lb}}#{rG!A7vkg^PPsG>bl^Zps9{2Xm=70eVR8nbo_jT! S1oVIaR{@9s0RH&T8o&T9!J8fc diff --git a/app/open-iconic/webp/aperture-4x.webp b/app/open-iconic/webp/aperture-4x.webp deleted file mode 100755 index 7605bed1eea7452d7016df087df715764eabc1a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmV;@0WJPgNk&G>0RRA3MM6+kP&il$0000G0000V0018V06|PpNPYnT01jsx0LfL?0QP)4HEs`DVTNI_aW@?opuK@!+agmi0NdT3Z{Ba z(}$cgkDJK%>EAVB7h}Fb)Gy@#`j7r&8&2nG2QozySLWztyAiyo4mqY>IHLPCL4o?A zJ$ayWSwqp7&hrmVyn^CGI{zuN zg)A`i(SY0iroD$$68fKQ_^lV3tPZ)N_s~R0?`4z~$P%4oOQE29p7It_%P4;bO_ZoD zpJ~X&{lTn800011P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco I_|F=^00Pz8(EtDd diff --git a/app/open-iconic/webp/aperture-6x.webp b/app/open-iconic/webp/aperture-6x.webp deleted file mode 100755 index 6613b0b7e706a807d0bec1a047d13c4a0eaf3528..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmV;50(JdTNk&G30ssJ4MM6+kP&il$0000G0000l001ul06|PpNHhWf01>Ccplu^b z*QB$@pYc8%%#G zq+4Si?%NSvdI3@_{?OqOEdcyXf|z_JREe#8)W4<{`p+ibvRN#K8)z-=Gq0KyF5i zt-{tgY-BOqqkbPk%zty(3t;bP_c6${m{89_WX?Hwg!Q|$Eg$`LCbcV2%5AQ~Rv6zv z|BVT6lTfE#0@xeI-w_(BX3vAuSchVwO7(XMjz!9q6KXeExL#47KT~#A;Ow<1-+w7S zX5e0+QtvQk4n3r}pkn&8^&HZ84JO_NNR^`+vESW5%2R4lou6|M9vth`e%?>UAZ9-1 z;IvHjZW3~>%RM+9Q{90GZaMgb(;wAk#B=|&GjQ>B#Joep*bYWB^Fi@}k*sy8Oko5y zs@oWW-=Ox6QLIrj6R-zew=&|-)HY$4>GS|G(WLT%Sc4AramZYc(uA<*OpcbJRSo4j zY@Ugx41L8=Ji&S`CPZZ<721sV0@!Qn%^Z?vKN(+zEm3`)gv;1|MEd}n=~A{f;W~BM z;~>hy-Z9=j43J`C|A+k=Y>h+nvgRZ0+}0{=_VeMW6d)M@09H^qASeI;01^WLodGH^ k05AYPsX&%QB_ko2IWg+aeTrm}bS+Uj%IYrS0UmeX)Mz57aC^xP=ImA~{%!-tv& z2mX4C7GEnKtP@AHd!L1UxlOA84s!Rj2;szQL^R%qqhBFS1DNmZ`;gLCGz($A#o=oS z;%bj3`%v@i(A7EaE<>Dtqd@?5Gpa(K>r=T*K}sA^8zT0|-Ylf#Cu3m%vD~I+A8Iz@ z@G}YFltR?-Am#2U2T<2JK0*91<%c{ZuMtrQ5xeK)4^;1insxjF)KC-+(yv#_>MX^nkHdjGt+Cv}B(3XEf#BM0eVYo+=yDSWHb*RZcg?$X)sPAvVu1@I#8R|dgV0lHc zP@(oD0n0>>;?gcP?JBIRln<{c-{)a}LHX{L(xBnN-tSQUYEk%{hl?^by&>agNjN#9 zE~470!;ROb;ZqTg{!u&NINJ5#>V(=hN8tjTdEeBvKRCQhL-b+wo7$JV?lQ#Wc@tJg z)Sj-EAO>H2gH?;#HHcm_;;00RU)0Y+Dm-$s1B(M{+mPxVDlf1|WwdF;ljn>V@P7nf z6t>{rYetlw;JoliIm*Ftr9<619IsM)569jIbx{V6|5CdOHP^Na5Wk@A4zX9-oI^;r zs2QZ8HfRy1AuUAIEJK~9`CtL^1~oT`eb9Ivx+BW{6x9D{x)1#sH_sYe_>vHV*C=S_f6eR7FHV_s@(+C6Ut!~wwc2| zl?v2oE4b?8A{?zG$=KLp|p>dTva^sW-n-fco$Lbo*}-#sC0T zP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw E0P3oW_5c6? diff --git a/app/open-iconic/webp/aperture.webp b/app/open-iconic/webp/aperture.webp deleted file mode 100755 index aa1a2127bcef260e5463faee3ed23951c0d44302..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWIYbaPw8z`zjh>J$(bU=hIuWD5W>I~Y0o1b8F^d9w8j7xbz;6@MrBXZPN6LBYs5 z6->7ss&7B`Q{MhZq-Q4ARlz)ux+PK)Zj+XnSnsg5dG}86FMo${)PM8fue~B~g)1&S zNZoc@q$K@o%cjEQ!nM_LMmKfZ?Db^M$y}-0&k3}G0cg8|1dujjWSGmS#lgVAAb7(< QeF+0|0mHxFa}F>70NGPI-2eap diff --git a/app/open-iconic/webp/arrow-bottom-2x.webp b/app/open-iconic/webp/arrow-bottom-2x.webp deleted file mode 100755 index b1a7a8ec24269eac6a4325e30daec293d1b987d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmWIYbaR`+z`zjh>J$(bU=hIuWD5W>KNvas1bBo3d4lT~?8sFy-FE!UpF@UtA6U4KvS4DGHa@D{2f0|llS;g9w`gTa z*ZMbmPWjr2%H955`a?#z4QMLRJ_QLNZN$hhmr+XqXs_T63-u)o%mobpe$P3;0018n BH)8+* diff --git a/app/open-iconic/webp/arrow-bottom-3x.webp b/app/open-iconic/webp/arrow-bottom-3x.webp deleted file mode 100755 index f836804d2c7bba81ed3e421e387f7119943d2bd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmWIYbaUImz`zjh>J$(bU=hIuWD5YXI2bwl1bAcvd4k^;Y{*qMEv-4vBPiI=a^}>u zL$98n_gcCkJMWq@QH4|IDcwY{B?efR- zn#>Bp^^3N-?BDb^*qyKaQO(uRLo2J6wmBAu=WA9lPro4IlFY>kvHq@(N}ES0 diff --git a/app/open-iconic/webp/arrow-bottom-4x.webp b/app/open-iconic/webp/arrow-bottom-4x.webp deleted file mode 100755 index 74d573075a91feac5bf273ff8501ab33aade2ad8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmWIYbaT7Fz`zjh>J$(bU=hIuWD5YXJQz9p1bDOnd4l!}H6|@-J1zO+QM{&}l9ITB z0hjg<_x+DP%`)?wCf0geUBS&_l1gOguid+)`HKH*D=9~Z3H}YAv5i;wVkK9^7q*M_ zI?9?pHFrYSofUSgnDk1fbN!c7*L9oM)D(SPwcujW%LT@NuC39rI9>jBpBYD=e{9kV zRq;jcjNO0ycynIK88I*bU8kT1bju|shPjMd3JeMib`y>ITvQe*N`GPU=4AQOz!1*Z N!NBnE$9bs(3;>;pPM-h( diff --git a/app/open-iconic/webp/arrow-bottom-6x.webp b/app/open-iconic/webp/arrow-bottom-6x.webp deleted file mode 100755 index 3fe07aafaf896aa3a8de7dba43cf3a682e234037..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmWIYbaVU1z`zjh>J$(bU=hIuWD5YXJ{URr1bA!!@&vapT+plXRQ%n{Kdb-l>FPMa z(iDGAqyMOD;N3-cFQ0uTrn-95rUeSoB8oN^lX9Xn^$Jzi36!hO+x~xV;`hCUY=VE) zXDpd{q>j-sDB-z(nQ`DuW9?j%+|yS~{c6O;=P0CAZ#nR4-_Cu^ACBE|%5d@V4lM{f z`gZlMg=HGAo;jZ0|LprKhxLEY+~p8!+doI?2FK>LvWpWZzKht-H8nO!=0IPy*v~Hs zD=VjS=6qcq0CX?VCkh%sT8NopE~AzKg8_rxN{4AKs>+Hpo-hS-wR~w{aPa=Hi7%{{ud&Y}gGTr-hr6p_jJ$Oj8?;M%rrv)Q$6D|PDB zO#c6?e9pP=9TELEn6ynLunTqs$Se=2@`r5`ONd5aWG#~(r4Om2L`E7M`5V7y5j@oo zH?sk*Hg^N?4SCHWAhh7LjY|xP9lc8yGBRgs?=qy6Uc|K^r)iQJK~j&>G7M3(;0{U1 zifw|r=OHb9^6y)Nyu!nGU8qq1`J_ROjyF9DMaJ%oG*k(%?2GlO1SIzs^HT}PU9CRU zs!SmP00011P&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz M0RHs6xqtuw03KU@uSJVzT>9~qZS7P2ZP`Z R3-u)o%mobpe$P3;001+>Au0d> diff --git a/app/open-iconic/webp/arrow-circle-bottom-2x.webp b/app/open-iconic/webp/arrow-circle-bottom-2x.webp deleted file mode 100755 index 6bbc6d16934cc22aac4a05211497022f0c9108e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmWIYbaOkwz`zjh>J$(bU=hIuWD5W>KNvas1bB1-d4k6mXiU1&AAB=W}w`{SQiY&~^C|pLly)Z;HC?e2;C>^WN`%9@g`< zD|Gs+_lzE5H;T{PJg6gUcuS9U#yp|x;g9~lP~Gr+@5265mXDK8U0Bt<(ri;g(kYFg zw`$9xC(Us+d^O|94ZrKZ=Q)4=&&a?4bfba<&_za!409Q^1b}W8ykVifgn_w$;ot8$ G2N(bbsa4ki diff --git a/app/open-iconic/webp/arrow-circle-bottom-3x.webp b/app/open-iconic/webp/arrow-circle-bottom-3x.webp deleted file mode 100755 index 2b62818f7d3eef4307d30491b49a76b85c526964..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb2qNk&E%0RRA3MM6+kP&il$0000G0000N000*N06|PpNXh^J01-dIHj<=9 z%pffAFmY7^pMPpHh=|BA_+1gZh?MEg-S9}|Nr-R|Ns=PXF*Dyi!?u5m|2H5ZqW=us zwrwQYT{quBXOsT8eLmNti%2wH9hhzog%&S}K6BO<0C4^X06=wKLkHRaiI;^(K(xRD zCQ6(Q7xu7$_OP kDi{D506vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0G0@D`~Uy| diff --git a/app/open-iconic/webp/arrow-circle-bottom-4x.webp b/app/open-iconic/webp/arrow-circle-bottom-4x.webp deleted file mode 100755 index 5af378b47e15293e3827089dcba594e8cb690da9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmV-o0iFI*Nk&Fm0RRA3MM6+kP&il$0000G0000V0018V06|PpNDcu201=PDIFh6` z%pM+oq+lfFpP&sQBGM)PgD<0rIHIAB&}Bhrh$nL!w}->Xww2~V+}(q_{@nh%BcJ#F z?;xW84&1hJBuUK7@qfOSDx&!umB4y&%L64;q}L zLhNEk`=6VFk6XSX-6I>j1C8AzFfd*br~6dWRsV2EaN{-HRr6hwf%D5JEc(6(Kj#@S z0ssJ3P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0I3t2 A^Z)<= diff --git a/app/open-iconic/webp/arrow-circle-bottom-6x.webp b/app/open-iconic/webp/arrow-circle-bottom-6x.webp deleted file mode 100755 index 6037e27baa87f6e34f4c83e5dacba2c3719d8a13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 526 zcmV+p0`dJ)Nk&En0ssJ4MM6+kP&il$0000G0000l001ul06|PpNVfq101+?3pphg+ z-@W@xCdj|T0}~OELsAZ!6lW>F7|0e(w?}HB4y(?>48*8kZoIaq7xU~AvDg7 z;}G}c%zsLe|IdBDM-b8fgkQdHy>=R*z&_FGd1Od5L#%)Cw* zIDSbZK}PkC^#i3Lz$ovq&P^x{u2GJ&*fgjO zj!{>!-5XOIq*0Gb*uBs(2&40aNcxwKA!c;GQ-~go=olhKXK;Y{*^-W7YjhSTP!)QH zwb8qQt}N-;n$F?|-szBu1}E?jf0*F=03qq;F#|_WDFl{l69$Z{B_zn*f2=51?{`@w zEne2!o!)HS>$K|^1^55}09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2G!|z`*g80-`j+sQTN&%-P_f!2!ZOR z?+g`*gWaVl`B zjH0ssoeEqkueGRHqy(4J9Ljayl;BeOtU+m-8eD3VC`R|x;8MGZQ0S%zmtrRhYZT#9 zTt?xJB3z1BXr>C6YGWT&xKw)yF(Q&)vXJvaH*a@QH4wO@s}!Gsz3i!;Zptk zXQd&qvGVVi2}4k0;`@n7LqKEl;esiKV8)cQ9i|xq8PhiBnQ91POr7avx*>ouy{Cze zA+ynGz%3m^Mx%3y!YVyOCZo56LKj^_2BX`7LUc#hARFCll&0t#M58}}QtcOggJkqS zs!?8`U=WPL3@Ym0C>UI$@LYq+F)9YfsEi;HpHMNR8kNHc$+jOVh7_an*@Cn|N`{0{ z>PPw-B}0W#T7nbrP%@N^(nbWYYM+v!V3hXq@T;~dS%K0<9!k8zU`sK?fo}%+>WAKX z!~lma$P$mfGULlggp74_pUm(vQ-c6ClQ$HvC#n%B>Ri5}d%4tsu#G*lTj!5Ie}(Ud zv(1^F2FL&a09H^qAT9s^0Fna$odGI906+jf!A_keWx2O=CU185_D+6+t4qq4 za2r7`wXL~FlRjn0NV&3bZO|}qRbWhA;lL_3P0HinpQ~4t7X4RrcWU)3{QvRiZngz+ sF0DCb$7Z(zO#|AaAOWO}7#Zd=YH=`dFbLkTP+!8pT)^<}_nZR^0K0TACIA2c diff --git a/app/open-iconic/webp/arrow-circle-left-2x.webp b/app/open-iconic/webp/arrow-circle-left-2x.webp deleted file mode 100755 index 9333628ce7c4955abb98136c0f48f9b64f2ab862..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmWIYbaOk#z`zjh>J$(bU=hIuWD5W>KNvas1bDOqd4k6mXiU1&ABC>nPjCG=XQyBHM8EJoKl$V{PuWXwx@>Ax z482hF??$G;kG-9rE8DLB<^j3`=t2bvAZ^6RFqctF0O(S|8y4zI7?=wf{{5bFfB^v1 CIZzb< diff --git a/app/open-iconic/webp/arrow-circle-left-3x.webp b/app/open-iconic/webp/arrow-circle-left-3x.webp deleted file mode 100755 index 987e2a26aaecb2848b4531fd4f450e7e78769a06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0p{^ z+eUKKee)UepP*j$_j_9^PiXw{tB`N+5|dkLt{5!gehm(?|1m0LG5TF`qm0uL8BmIL z5`0n4*R9b9v|Lag)p;jAu)ZH8yv*5*C&ovn%JfEsXZSxqj`T{3(Tcbi7UQr)Bvvd! zD8J-bXbMk^PNg|Q@?59;;^@=bLgSY6`g*NX;lTX>00011P&gna0002e0sx%>Di{D5 g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^035G&VE_OC diff --git a/app/open-iconic/webp/arrow-circle-left-4x.webp b/app/open-iconic/webp/arrow-circle-left-4x.webp deleted file mode 100755 index b6a37edbd1813dc7cfd3636f9833c762de70b4ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmV-i0i*s>Nk&Fg0RRA3MM6+kP&il$0000G0000V0018V06|PpNCyD`01=PDIFh6` z%pM+oq+lfFpP&sQBGM)PgD<0rIHIAB&}Bhrh$nL!w}-|FZ5iYKrIfZm^_arvXYNMTzvz9Pvxor*Lz-m*M2v-Qyo#XpTMbb?cW!uFkw zb8DjPfR5Hj)%MvuJT<`#7fxOM=H*YYhub&1dT(0rFdeTC_uub+SdS9+ZvX%Q09H^q uASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&VMxu4en diff --git a/app/open-iconic/webp/arrow-circle-left-6x.webp b/app/open-iconic/webp/arrow-circle-left-6x.webp deleted file mode 100755 index 37f4ee132b436c887255266bc3fdfa6a2bbeb3b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 470 zcmV;{0V)1cNk&G_0RRA3MM6+kP&il$0000G0000l001ul06|PpNPqzV01+?3pphg+ z-@W@xCdj|T0}~OELsAZ!6lW>F7|0e(w?}HB4y(?>48)@j3nE%_I=y7ZQCdR zoWAa!7ePe-9l34fNRl-(8&ByEFdN7X$J_n=zTb`qSwFOTYI89-tGYE;q2W~sFa02U z=oxpJ{w+(32PIcPCSDvmg6!*#8v!-)JD*6!fyfO+niK4|_i6Ud*T|m;hB_rl1VC zFU)w(E&zRDM$^ID;F%fA>HBZ7Da=Uf_|mar#<8&QZPcdU`9m1LCT;m2dBpM0f*8k; z2mVj}Klm^OB#xr;5Qo{wQqv*~Mn~h!UY+U|NCVvqb9L_cq0n8KzW(3ynv`A8>dW*- zo89fU+l+c?FU$e}09H^qASeI;01^WLodGH^05AYPsX&%QB_ko27#(f@?HV|exO_Pt!KmEUg0Wd>nT$sXi{J7LNawljliJCd5pvi zH3E}9Q!rb8s1PLR^Oc9OMui|ruVpj~MY;tRdi~|lSfE>Aqu(6r(F>gdEBziL)CTAj z*y-7a+BRJR2R%1Xd!|F+qUSw2=nw>>*)~kOARNuXRaylBX)YboCJ0G$|CSa(P?|UI zObWu%d@C~{2u!n7r6~wavr?rg2u-t6WNbZ3Hp5GU`|sbFzGXiM0`n&z@W!jgk*P#8bOo# zzfRc3s1h`&AAxc9IvrhQLQ(yG_oQ&XESpK8O?_v%Ca&wPVKFnqjDC*m|r}J*T7h&55m-cVo zN|jpi^?Gk{uoY?m09H^qAT9s^0Fna$odGI906+jf!A_keWx2O=CU185_D+6+t4qq4 za2r7`)2rKp^Hg)vCM*46jZyMg(8I;`XR?mehT0^TFZPEevjqPbzwoT-d-T~fV{*dX nb3zOZKpPY!faV!7GR$Sv;$Yxl5WHcbzJ!6ffZ^ZoIR_X3zkV%X diff --git a/app/open-iconic/webp/arrow-circle-right-2x.webp b/app/open-iconic/webp/arrow-circle-right-2x.webp deleted file mode 100755 index 7d5e2a33b2f4b0fc1bb8b7ab5d9c6518172d7d43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmWIYbaOk!z`zjh>J$(bU=hIuWD5W>KNvas1bFlSd4k6mXiU1&AteOch*|B$Tbzqe**iL7evbwZnn#Su7>t}X;;*-yx@^Zsx*PVUOLD*>~pS9YeJ%@ikQ$At!XSJ#Dm5FST zJ3p2$**anRXZIg%P75W^AMe{2#>Bt?bftm>&`m~+409Q^1c0s;ykVifgn_w$;ot8$ G2N(d^URcQh diff --git a/app/open-iconic/webp/arrow-circle-right-3x.webp b/app/open-iconic/webp/arrow-circle-right-3x.webp deleted file mode 100755 index af60c654d0ecb82f1a70c0c0d4f7d9355b94e443..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0pixBL(y`p>{^ z+eVVR+nc|@-Jo9f&u3dI4^)5riSpOGq$Dq)Ua=~rKHI1pWcR*kp%eX2ycjyC0}MjZ z=@9%lIzP9T2Xx9s1XP`Qe}H8DJV5d`XEPocZ<#973l*N>_xw8ODY{4txEFzx!vYW! z$o~!TH`nNr;%;;b^$4MLI&zDi{D5 g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^002#O7ytkO diff --git a/app/open-iconic/webp/arrow-circle-right-4x.webp b/app/open-iconic/webp/arrow-circle-right-4x.webp deleted file mode 100755 index aadd027b55f94a5387fd726562880cc7e2e03815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346 zcmV-g0j2&@Nk&Fe0RRA3MM6+kP&il$0000G0000V0018V06|PpNCp7_01=PDIFh6` z%pM+oq+lfFpP&sQBGM)PgD<0rIHIAB&}Bhrh$nL!w}-Oh>Ez?fbp$SHpz;8vp=SP&gna s0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0EcFrYXATM diff --git a/app/open-iconic/webp/arrow-circle-right-6x.webp b/app/open-iconic/webp/arrow-circle-right-6x.webp deleted file mode 100755 index c18f5316af681914f8d94717b62fce31b8bb6309..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmV<60U!QSNk&H40RRA3MM6+kP&il$0000G0000l001ul06|PpNQnUe01+?3pphg+ z-@W@xCdj|T0}~OELsAZ!6lW>F7|0e(w?}HB4y(?>48*0jBQ(0b8vT!;O>^- z4!8fFuzT*WAfo>c+(uHQq-vQD-vHfkaWGnKE|<+})Gvf!)nA>7;iHKAA`AB`O<^HY$J6MMhR7j|hXdgu(gEN<86a}>0adX;qzufgXqg}^CWzdFMeV9o ziR1?w_H;)Y_6%1V_AECV_N*@&_MDx^`5EUoasEL4=YEd9PYN35N-iXVAckrqeNbkhtHU-`I!qRyRjPCk@o!Zx2APsk@_wb=@`m^IJPwt WQwoIifB-;C^UfJy0RHy~fB*oOXV@?R diff --git a/app/open-iconic/webp/arrow-circle-right-8x.webp b/app/open-iconic/webp/arrow-circle-right-8x.webp deleted file mode 100755 index 440ff67363620535a81ad80e2af5d6e75ec4d921..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 684 zcmV;d0#p4`Nk&Gb0ssJ4MM6+kP&il$0000G0000#002J#06|PpNKgU*01@ZHsEs5? zSJju}@AyNV-6atbInlyKb0IF`XZs~(m}3^?kP7#(f@?HV|exO_Pt!KmEUg0WdnT%@rchJtLNawl4;Vttd5pvi zeP9YTQ!rb8=!1k%@s)?MMlU3Vie)qlMS8&^bpPehSfC$lLiZf%(F^@x6*?ay)CTAY zyU^K(+BQAm5V|%{d!{E`LdQKiXd;-<(KbvI;e__VRhkGWv@RXeL`b1+|CT0#3N1J9 zG!a&qd@IvLU}2(ErHRl&vr?sr&_c6PrisA9MDd*_!U~hGw=@w{Xt_S5iI76u-U>|w z6j~RDXd;}@KG;qZ!Gw-hJkb*_q2msE;3xk@i2g^EQOg>U*GAyjc9IvrhQLQ(yG_oQ&XESpK8O?_v%Ca&wPVKFnqjDC*m|r}J*T7h&55m-cVo zN|jpi^?Gk{uoY?m09H^qAT9s^0Fna$odGI906+jf!A_keWx2O=CU185_D+6+t4qq4 za2r7`(}{0g8s)02vb0oOINDi664J$(bU=hIuWD5W>KNvas1bB1;d4k6mXiU1&AqV+`AFbHDsNuUG2d ztr;gLIe+^V_wH?u={v@!l5;!FwjMoFQRUOK{``?2f3L)ET6C}aeMfPhgw)S~qmPW4 zD!<Wz-S?x>fLoh58Z(<^qO)zvmoa F006M_R%QSI diff --git a/app/open-iconic/webp/arrow-circle-top-3x.webp b/app/open-iconic/webp/arrow-circle-top-3x.webp deleted file mode 100755 index eb841caf883fbcf313ad500b2f8935566fd9054a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmWIYbaUflWMBw)bqWXzu!!JdU|RcA2ge^#O;iN&Ig0SP^S6y zSwF|e9g;KW@fmC|dMm&YxAo9k zQzKpRUZ3Z&%9p>UUitE~)#?3IuJdWLN)6A3%v|=NCDM+4Z)DVgy*@<|3`vt)p2!!~ z1_dk%-XybsYtv=U(yv?1BJLE$%}<}p#V!K$0nl#>YC!rD6T@6aEeQq*2D^zyeJ(1C a6s5l~d2_OSX|kK{_v5_O0R{kzMQzdm diff --git a/app/open-iconic/webp/arrow-circle-top-4x.webp b/app/open-iconic/webp/arrow-circle-top-4x.webp deleted file mode 100755 index 5c2e0d1c72110a56baaeb477cddf16a48fde5e1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmV-e0jK^_Nk&Fc0RRA3MM6+kP&il$0000G0000V0018V06|PpNCW`@01=PDIFh6` z%pM+oq+lfFpP&sQBGM)PgD<0rIHIAB&}Bhrh$nL!w}-}Kl#X6Jdf~^!>;vHRXJV%MOFo%kE;cQhVD;+BB-q_$63h;n1PdxA z!E(hUSf@1Q^n04JD^1BmQv%l%`(es$-I!4?;hEt82W3LH1MoHBjox`8C$dI=W1maO zwitWKWn^be-N#yBv<2ntqqw8)J${3_=+@Lx?d%|Mb+?1O>+-<9EkOtX09H^qASM6+ q0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&S~zm#?W diff --git a/app/open-iconic/webp/arrow-circle-top-6x.webp b/app/open-iconic/webp/arrow-circle-top-6x.webp deleted file mode 100755 index 8898d9d5384268b35b07a08a04aebeb898592550..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtnkNk&G-0RRA3MM6+kP&il$0000G0000l001ul06|PpNO%DN01+?3pphg+ z-@W@xCdj|T0}~OELsAZ!6lW>F7|0e(w?}HB4y(?>48*0tZmzLwPTwfvF&Fk zxBs4^d(N#OqW_NEHgY6Ony~S>`v%C#cQ-rT3`0}jtvfkzNe@p#!f}w|TopIIAmFVE z)T_kQ6GYreoK*ED7+foanvP)MG^G9Cg@oBmNVxw>`V-Ossp7lMJ0XJi`j@H>A(D3a zqr{C6(aXn|P6?46<3-VvN7v2c$%YWa1%R|qh@qDPhSHe!ffFH?2jmIyd}OS;UG+pbk_*-^b#PVpWY9Mx_Q4Aia% zq&$^#lK@sKH^-BLt8UKw&*DVgMtCEBRkd>r?^GN$vr71+aaXaZhHw0;*bngCJ9m*R zpl%BmRt<8>7f$CAD8$Du^~xE=KqSBLC|B;B^=Bv5KRmua^4Ry1;F4`Gx0(?IhPGX{ zGLQoR09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2kNmOuFj2Gy&(Gjz-HSp*X@G zrM6AR7WY)<&?x5Tjp87~bV3G@9><$Hq@&%By}3>2a3iKMM-GQ0>nb~PSnR-mQkQIA z&mx|gV)HwJMw-6K1b+T|4Xm;$Ttb~fkxk)m4mIZZ6wUxhJo71hNC16~B=!JXjwG%F zPmUzsq0N!VmO)1%`&S%^Ts&|ja_`2G$m_QdA=1}!kPv058YVeWx2O=CU185_D+6+t4qq4 za2r7`v#ndVE_{0?=Zues1EWNSP(XvEPJ*I(c23Hhy}LVJ)Sob0n54E*P}G#+s_*W! szs~<8*XyzXO#|AaAOWO}7#Zd=YH=`dFbLkTP+!8pT)^<}_nZR^0P$ijzW@LL diff --git a/app/open-iconic/webp/arrow-left-2x.webp b/app/open-iconic/webp/arrow-left-2x.webp deleted file mode 100755 index 4b58205a3f4b1bc9460284fc5bde332e53b79c57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWIYbaU%tU| w;&rI_w<0k<<4J-H3_zO{B!K1`F*3|$)Di&ND0ss{eF+0|0mHxFa}F>70B4yq9smFU diff --git a/app/open-iconic/webp/arrow-left-3x.webp b/app/open-iconic/webp/arrow-left-3x.webp deleted file mode 100755 index eaa3cc43237e651c47f1421a26ee482cd045e35d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWIYbaUIpz`zjh>J$(bU=hIuWD5YXI2bwl1bCzZd4lg3Y{*qMEv-4vBPiIQvn0vz z&A$JuB8=I6&+ghSAhCVol8mzcnLn-mhrIqEd$E3#r?m5NyQKWn<^>luwv`A@&QCh! z+_73!J$(bU=hIuWD5YXJQz9p1bEZ}d4l!_cjPJ`zbJcqve~`QN=j`9 zS;7^p1LueTiDus(u2UMO(#sU%IcbU3-#fhJ?fd?#a&rCed0~HZN$w#Z#?Q8(Jqwn6>Uke diff --git a/app/open-iconic/webp/arrow-left-6x.webp b/app/open-iconic/webp/arrow-left-6x.webp deleted file mode 100755 index 0ebad68d3cf41d4e8cbad5586b77b580318eb9e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmV+v0qg!!Nk&Et0RRA3MM6+kP&il$0000G0000l001ul06|PpNWK6701?Nbu#u#M z6Wsdm_MwW1$b`=)y0)U?>gets7iWq+w_J-l8w)B56cix@T-&y-B->WNZn3*N_Wyqw z4elq0PZ9l3{9Kt4w50_hwRUu%te@#Z*nQH2EM+qQRbj>;MCOJeXsSnsA!*+k0Y(4A zD14urFdAPQD@sw`Q`@{!Jfs@E7qxI27fRt;TSh}roHG)Nw9P1JIuC{+s+|~u%3L!D zS$@g@go8IdC|ftWkX8QwoIifB-;C^UfJy0RHy~fB*pWXJ`lj diff --git a/app/open-iconic/webp/arrow-left-8x.webp b/app/open-iconic/webp/arrow-left-8x.webp deleted file mode 100755 index 998c1b9f0cbbb9a69d81568b5e578eb877ee3733..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPqWNk&F00RRA3MM6+kP&il$0000G0000#002J#06|PpNY(%V01*$upphg+ zKfQAd{^i1(h=~032Z2jM$=Tr(J-QoPTg_z3$vD%=C{ttcEU0yE;u=52wfu;xu$`!C$8ohT;~Lz@HGhk1 z^E;}_VWMiD$JM)yYx)w`>NBe1Zp@&58a3KiaT`5G?jUw-eZ>uCuTcZ~cQFHKu7CRT zibQ@@%7fZKHl-qqt*(#k-B+gN@dOjp~sNw!Uo4UTyU6Y&6$4%KQAA2mk<9 zP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw E0Lp`lx&QzG diff --git a/app/open-iconic/webp/arrow-left.webp b/app/open-iconic/webp/arrow-left.webp deleted file mode 100755 index 7dd923b2223bce8b0382f69c44dd9b7ba309820e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|F>Ettx!{9N_kN@ zm%mHNGpmhf|K%=L8H(UjAOWO}7#Zd=YH=`dFbLkT QP+!8pT)^<}_nZR^0No=Wi2wiq diff --git a/app/open-iconic/webp/arrow-right-2x.webp b/app/open-iconic/webp/arrow-right-2x.webp deleted file mode 100755 index 0a7fad128af1cba7de171a1277fb7103b841c930..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWIYbaU%tU|1S+XZ}3C|LXC^hK_&gjK^iVp9yVVxAoYH>imgM-=tbv@$A~p xHhJCBLn~Guut`y2WMBZ=q#yw_*NBl}E~AzJ&_=-<7V1kFmJ$(bU=hIuWD5YXI2bwl1bActd4k^;?8sFy-NtkL%iazS2PenS z??(53q@E1;oH5hZhqFh;Gw9Ne-O>O5&$Q4!V7cgj=XNnMmYY=qkF8n+9+@2#c(`wg zz=M@r91osbp5c4&)InkYnT_u6ikTSml34`T)iNlW=^ZH&u4iRn0J=dz4QS&fCWg6; mS`rKr40aQZ`dm~NDN27~^5$gu(!dbT*ulW?@5gzm0}KGm;zO+f diff --git a/app/open-iconic/webp/arrow-right-4x.webp b/app/open-iconic/webp/arrow-right-4x.webp deleted file mode 100755 index aacab212266672871d928f084ce29011071a874c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmWIYbaOk!z`zjh>J$(bU=hIuWD5YXJQz9p1bEZ|d4lc>Eha5#*;^EI@5y|%6hXn6 z4hbjJPv_KJC@>CxcgZH$=Hc@Mj)R5Do?RiQdybzef4YBq<)5Ax_BWUGE{xW{7@j2< zcrRrNzvxqM|DT2n-=z9fh6mW0PKw;#xGBBlI^Vm9!>7%}H+voNVOIPe=yY!Fj9SgK zxm~9GU)@<47=Z3lPy@Q+5);E*MlA&f1qQo`Mtv?Sixj25FnM#bd}&|^XY62L`1j+y H)By$n``J%o diff --git a/app/open-iconic/webp/arrow-right-6x.webp b/app/open-iconic/webp/arrow-right-6x.webp deleted file mode 100755 index 60c0597bd912215f449b1d49a44676a83dd2795c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmV+x0qOoyNk&Ev0RRA3MM6+kP&il$0000G0000l001ul06|PpNWcI901?l@pphg+ zH?X_+{QlJ*n23mM*n%Mjiz8i5UU=|Vo_TtlaX5MMfJb;JV2A^bB*`|de&4qFzHRpY zH};Gk{rIDZ{wIFCSqfrqi_p?K*CD0-=s`*6JBE;+MFui@_hqQ)yEY-B|J8?vLDK{j z3|!?PVDPaDo6>s+7PX%ts5U9Sx2ZkVKrjD|>pZk(5`QNE09H^qASeI;01^WLodGH^05AYPsX&%Q cB_ko2U0Nk&FW0RRA3MM6+kP&il$0000G0000#002J#06|PpNcI2#01;QBpp7Ku z7mo7&{gR1@$b~QPK!kaMCwUT1Zg8WfQk87;s3PU$X*%FT`6yrz!~rBpwoP00ZQHhO zd(D49*XPGxy&u03(f{PnWVao&&inByyC27@{B;4RitlxdsvLG=Q}t>HmugSbm{fmX z!lS0GRvc

A|4p+fm|`c$p(ysjpR{mEP+hR=>Cyppf%nf?U?OMKXDRHjw*3=BFun zuZNNKxSLGQ?N%a{{#+qe$(LDzmAV@vT8Xnh!qvRrLA;v2*KnxeZ61s2kCS**yBx%% z>QNUiRW@6&srXpNsQh^br?Q(7tUB$*yVJ%$1pok6P&gni0001z0|1=?DnI~006xJ^ kokk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw02+dtyZ`_I diff --git a/app/open-iconic/webp/arrow-right.webp b/app/open-iconic/webp/arrow-right.webp deleted file mode 100755 index 1b8d7ebc555706e6e214c5f30e6e38d26b31f538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmWIYbaN|VU|mTBg0%qEe-|_ U2EiK^>Pr}y3mE?Wo^yZ!08Kz8vj6}9 diff --git a/app/open-iconic/webp/arrow-thick-bottom-2x.webp b/app/open-iconic/webp/arrow-thick-bottom-2x.webp deleted file mode 100755 index 05d268f14d370ff00c26dcefdee92f568212f3a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmWIYbaU%sU|J$(bU=hIuWD5YXI2bwl1bBo2d4ls7EX!qH)|~%yerSM;OV+}J zm4^>(o2cSiT=V_U{-5rrpUoEh8-8P3ZgAM#`3}mAxAbMZV`k5~oNeBB_??0M?yH>9 zmt#MK+~kdaDCd&0NZjycGb;lF&^`quALpeGFaQ9!vppOD diff --git a/app/open-iconic/webp/arrow-thick-bottom-4x.webp b/app/open-iconic/webp/arrow-thick-bottom-4x.webp deleted file mode 100755 index 82ce3eb23b3f3c64bc395046fe7938e6495bea65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmWIYbaUIqz`zjh>J$(bU=hIuWD5YXJQz9p1bE~Dd4l&76mn;mU#)s~|KK|%rJ@MK z{H(5(l`k2$^{QyjN>AH&*8XDq&Dig2JN{|s+}_4H`=-CcN%j@>I#!0SPG;v?Uf8(t z$%>k5Rel#jqRw5IY9k&Yq7#1O$^APCQ}-6P$4b4kc`%X1QaM~<-xU@H2B13>)PS~L rVq%!fsHMQ5z+gAgsLw@Zk)re$CT~ubFAWUgj2#RN|9+g8I=}z`elJQJ diff --git a/app/open-iconic/webp/arrow-thick-bottom-6x.webp b/app/open-iconic/webp/arrow-thick-bottom-6x.webp deleted file mode 100755 index 12130d32727945fa0cb072883f6479a01eba5312..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmWIYbaQ*ez`zjh>J$(bU=hIuWD5YXJ{URr1b9pa@&w}-F36RBIjg`%wqB*0&&B15 zXS|)H;L45@CzixXhx->rZ>X()+yAgb}$0n1az%}29OqFW|+&UWx!y-V7Jm? gnv1Hk;*2Lu!CWn08WFz{s%?f| zvPXek0nxP;8q>UIE<}zw=FmNyk-mp+#!oXa>@bCAW G0}KFz+Z>Pp diff --git a/app/open-iconic/webp/arrow-thick-left-2x.webp b/app/open-iconic/webp/arrow-thick-left-2x.webp deleted file mode 100755 index 7ca0d3f4bb216295732db16685fc83382e5ed674..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmWIYbaQK9U|F4s@#=m@c`VPc!8 zVk)KS;m9R4p-E)Tk@Kscc?v20nxA9w%PrkC{7C*4^{?}Pt(fOt;`l{;Z#vK{2B6sr f5QmH^NW!5bFpOBk3782J$(bU=hIuWD5YXI2bwl1b74hd4ls7s4)n&U7Y^UJfpqC!)5C{ zS5_V=&mfcX^E_|w=i761yx8BMVrVt_zUfW(C(J?pR}{B;@U9E7JbG^J(@RBJmJA)4 z*EeNGZqJ$(bU=hIuWD5YXJQz9p1bAcsd4l&BEXb8k^WD*B-{P*MwCU2G zo;^JiJ=y!DJ%g4+rCIIs{@;6cak)uVHaH*sdVNKL3(!ne{jE5JKz z$t%^VX7kLt+NVCsQ#IEOXE4|ww`I=OIa_3+%5-N>Gp)~LU;w&6K@Di%B_@Wsj9Ll| j3Ji7=jrv?v7AZ=9Ve;l=`O?4;&e*}g@bAZYsRIlEo`yf& diff --git a/app/open-iconic/webp/arrow-thick-left-6x.webp b/app/open-iconic/webp/arrow-thick-left-6x.webp deleted file mode 100755 index 21b42c075b67a0c0e6683ba95d4cb455eacc70f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmWIYbaVT|z`zjh>J$(bU=hIuWD5YXJ{URr1bD0i@&v;dF36S6^tQP7F?|!ii%Uw1 zeczNVCpxBVIdh&(#&eR0r{U%^)n{tFfBt9Z<5pZNaq<6?UsVqK_}|59UAcW_hIyvI z_soxFFBjxqK6-0O`xZa>^iogx)XI|##~umwr`2_O*jgW7GHc#qBg^Bm^OfY2`uiqI z%03F3`af{x>HRZIp60vUdZg~GakQMRplkh?jdquve|w0(x0OAzeanpXnE~-ZkL{K_ z)p31O4wqwK0Qy5g1L$fYW`?gh=|C?`5YprWF1UdVlWt5VrUtWaefw%Y}+>NtZ&=4ZCi2D|Mob$l$0X+ zpZr%;5m#zx%XPG+CfZ^PZJ~oU*F~G{qse-u+x(+6!&Z8Nr<77r^zgUpkt`@WrD`MXR;z!p#;z#!#;wR4y z@w4}e_}PC({2VwUehD4;%J6Hve+lmpzeYBQU!yC;udyZKx5OOrTWX5Y<8KKS& zQ0IH73tiO3HtJFfb-97MQb%3o&kO(n09H^qAT9s^0Fna$odGI906+jf!A_k>9~qZS7P2ZP`Z3-u)o N%mobpe$P3;0019bj4KdCsbpb0G^OB52Xe(-d1`9FE{ksk)D3|_bJ$(bU=hIuWD5YXI2bwl1b9RMd4ls3mgUaYaCl|4;7kTjJLemu9q{d*b$~M}8l>n)5uVBB5%QSet5^ z==;6bS?);*t=FA6z3A|VYDq9iFxX8r>T^+9q$vG`$(xhq TO9MkVV+RAnzaQtN4ln=!zUDwG diff --git a/app/open-iconic/webp/arrow-thick-right-4x.webp b/app/open-iconic/webp/arrow-thick-right-4x.webp deleted file mode 100755 index 35e8fc89716c822ff3b6d7cc400b2b6f9e680b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmWIYbaUInz`zjh>J$(bU=hIuWD5YXJQz9p1bAcsd4ks)7W7^@FgGaSpXr|%7nd-8 zA;TYn&PT2%+;N+<=$>ubvUBz~t*YF=+;_NTc60Ruy)WLc4f$udpAmj0`MIg`=pN5W z7r#0DofOX3IhYs1qy0F`z|pt%w^P4 lU{GMNn`qSMqOwR)`U{gcC(D-xhH%CX28Mq>&PyF&002QzMic-5 diff --git a/app/open-iconic/webp/arrow-thick-right-6x.webp b/app/open-iconic/webp/arrow-thick-right-6x.webp deleted file mode 100755 index ccf9536478a87fd9f3f660d42b3161f38bdf1909..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmWIYbaVU1z`zjh>J$(bU=hIuWD5YXJ{URr1bA!!@&wZx7v$dF!+ChV{q%1dN=p7^ zGkvtg+9R}-xb@{Hq}&dR%2oJx_pWKdGkd!|8>2JbzSvuS$lF-lKIfa9`CaC$U+!mk z{5vFVAE*9lnszd~amvf+#>q3kGpQEKt2!S!KgsS{xTpBn-HUpEM+^R3-}P7cXT4zg zew9~suF{+1F1xNV|MKybu3OqHS+8Yh1^v{{8V0GUM@Y_Jlv>g@{h^HEU)Ho;-dDDS z@7U?K@8Jg~1_q!{6f}VD7Gh?Y%cy0*V8CFv(qWp5se}#xhBXU+oMvlmsI75SvnBo#*iYZ#>03_SCO*<>LzHQr%^IrcO6|YiK zis*mxZ*spw-tKRZ*9R-)<>3N(el$a#9#4?RCnMzH=>WNZ)(dev=iLyuebEka8<(vB zw|>{xRF{G z`L2Nc^oaYM!F|r+zT|LU^0==B+}9HBTbcKJ{8q^4Zx!62iW}5%g9dKc#0^`xVF$U3 z+(RBBkCCUybL1uR8hMBPz+V*r09H^qAT9s^0Fna$odGI906+jf!A_kE~6F)0|$fP4GZ-p O49o=#|9;OozyJX5DsWv$0L@mA e0MbT`409Q^1b}u3-mp+#!oXa>@bCAW0}KG#j3^!e diff --git a/app/open-iconic/webp/arrow-thick-top-3x.webp b/app/open-iconic/webp/arrow-thick-top-3x.webp deleted file mode 100755 index ae381e3bc6c4cc7386acd08e23506fe23d391392..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5YXI2bwl1bFxZd4lsD6dVHge64Th6}-qiZJ9m$ zwq6y@Th(c={!F%=5&QXU$3Je5NlT2E)tpRJ=zKfEk#!CUs1KOmZ2Ba@BG0bJul3J$(bU=hIuWD5YXJQz9p1bAcsd4ksyCgd*JefG<}_{Wk;i`ZWZ z9I^kvwXIi0^Hz1*ve|!>ZEsnAU)%9-w(o7VRoCT|xIT+cI?NiK_LXTv=rOtJyJx*~ zTcWso!iAu@9J$(bU=hIuWD5YXJ{URr1b9pU@&wZtF36Q$#-4aw{_If!!D@zW zC#s&+@6tB2n51Gp(ZuHTnKL2(>mMvw@>x#lm%o9h@pa=xBKE?CqI)ZrKhmgTntx{f zhrke<^4ES>w?DqZ`|5p_NKEFZ*On!X&%U3XyYMaZW4{ak7Oqs*Qg&vaa_rT&6~0s6 z8q8RAE6FH$%fXC$x1=_^dTYz*xc0hTdJ$jFzyNfqf(FoCLd*fTII!tp> eRaTtwgejP-A%FaQAD3tQp< diff --git a/app/open-iconic/webp/arrow-thick-top-8x.webp b/app/open-iconic/webp/arrow-thick-top-8x.webp deleted file mode 100755 index 2eb1f6644553675e790b469f9d03268926949d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmWIYbaNA9WMBw)bqWXzu!!JdU|QVU$`JwdRhC;WAdT96FWL= z8E&umIs5<1XdUT%OH*614&Ex!fU96P(;d_r=Z0C13#WudTEw{e&>)bXDo|xPT5>`>l zMqGKVXDl|TI!#_6=HbgcOWDlWT+e80{S`K#4}gAC&;!zwm>K3WYB?}CFxVaRo9m{g iyhxmdDVc}mO9O)u!{p4aF7_FF9x(j-vS()lP&EJwR&m4t diff --git a/app/open-iconic/webp/arrow-thick-top.webp b/app/open-iconic/webp/arrow-thick-top.webp deleted file mode 100755 index 06304a48eea636aed25937656b17a5153061a712..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|J$(bU=hIuWD5W>KNvas1b74id4lT~?8sFy-Ld=lneUG}I1*A^ zN>(1-dL#UDg|4bouZri%hwt9}|KHVmMDVZr>@6!(Ua6OS=)3nu=Gn}54#E8?M}v-t yp0`jb(|aToXYO!%J{toA&@KfDpvgvz409Q^1b}u5-mp+#!oXa>@bCAW0}KEpfjC|O diff --git a/app/open-iconic/webp/arrow-top-3x.webp b/app/open-iconic/webp/arrow-top-3x.webp deleted file mode 100755 index 1f6bd1984ceaac6401df1f90db49582ba052dac5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmWIYbaUImz`zjh>J$(bU=hIuWD5YXI2bwl1bE~Cd4lg3teB{h`g6wp=l7qT=;%-p zo1yF;o&RrJY2=eD*)J^*B;59xwCHep+N?jH@7!hne757?WZzpMo4yK(YK1S~w1c_( z+%2Aj6D!$YU)nnV#_c7m#&zyJVVL`!x6 diff --git a/app/open-iconic/webp/arrow-top-4x.webp b/app/open-iconic/webp/arrow-top-4x.webp deleted file mode 100755 index 893abec29913f77028936ddb288ba3627b19be97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWIYbaOkyz`zjh>J$(bU=hIuWD5YXJQz9p1bEZ~d4l>2S4>n%mF#<1{jYRhPlt!Y zuSNGytlDv>aedKq&BNN$LZ&Ggw%qoZB=T~`%$c|A<=_8jzcO9vm%f7Mq;nEmtc**z zVm7{d!e$m<)gWh@m0Z5?ebGU2(`qNd<(d{^1%z1mmD|uiuN2$-R8c5t$SUo zLvqK1)IUGwvjXi0x=cY0NMB-Nn9Hc8z@WfjH_@oiMP-qq^cN;?PL?kX4B?C&3=IE% JoR>Pl007VnQ%wK> diff --git a/app/open-iconic/webp/arrow-top-6x.webp b/app/open-iconic/webp/arrow-top-6x.webp deleted file mode 100755 index 15cc68344266e7054563bafd2a316bc1c475f9bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmWIYbaVT~z`zjh>J$(bU=hIuWD5YXJ{URr1bD0l@&vaZ+%R#8Sq#hbf4h&yy14ND zDe2jiWE&f&zi+Dc^rBxSg%4ZGQx0zF;C0{jc3JPC2tUizw12k9d}&~C@cw*GGJ)aWca8=I F1^{)#Yfk_G diff --git a/app/open-iconic/webp/arrow-top-8x.webp b/app/open-iconic/webp/arrow-top-8x.webp deleted file mode 100755 index 26f0a1205526c5dc143e65d696f72f928a039003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmV-A0mc4ONk&F80RRA3MM6+kP&il$0000G0000#002J#06|PpNZtSd01-#RAYj`z zlkMJ(KVFYTMC8M-SV2)^O+1vTS08J4cn@#OU0KdVhfz{uTtXv6;YzY?(>d?Owr$&X zvgbdf@Sb!3QxW|akR(ZGh@%xHy-L{nNT>7znA%C7@Ci>{lXP*f@TN+dSV#DfBRv}U zbWM;Bd3YYgjl*T40YK23C^gnB%7=i86aoP#{Sam2ppzoGjFwBVxxciec>$ z+Pi_Wu}xPmQRqBdB{0vExQVV`<%yTqA?j$qsQS-X}HFmo`r4k4m%QLhdmH4=jl zq{|<*00011P&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz M0RHs6xqtuw05y1gzW@LL diff --git a/app/open-iconic/webp/arrow-top.webp b/app/open-iconic/webp/arrow-top.webp deleted file mode 100755 index d4b1ead92c37eceb78e3926f4d09c76e36f175dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|J$(bU=hIuWD5W>KNvas1bD0m@&wrrEtsg{dfoVZkJY{XyLW~Q z3Pwf+ib}P}>%6j_5te!A;^mqXDPn%jv!}()*uRlO=GeAeE9-5!x66utt$$^_N@3Ce zlkZO^N`!Bieq?iqbhx{=ziYO+c{ z?AyZmd#11B+88RQyjnK#uA0_`y-y4_P1j@fjgoqNJ|Xo_&y}uuSC3r1py~8=!l9{l sVTQ?jIzO`m-3#=If&`E@Vq}=hs3idOk>Cvr^(73<1q}aw&pE&V00A3d;{X5v diff --git a/app/open-iconic/webp/audio-3x.webp b/app/open-iconic/webp/audio-3x.webp deleted file mode 100755 index ebdbddf4a6f4270a6c4cc9bfc95e2b938e83f32f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmV-e0jK^_Nk&Fc0RRA3MM6+kP&il$0000G0000N000*N06|PpNCN=?01+?3AYj`z zv*mvNd_5Kskss#QB%*Fiz4VA^4#s0=64o}=UR$BhiiQYY!38WyvQ1lkuC3>5+ctO4 ze@ea2v;HIcpZG)JSrngyCt+A;&RrBAhPPZeP=zv&`0&Y4Rd|n79iKF)lQ&20JWwft zH}Nv$Jy7{RRfE#z5QQ7vn+#N^25Tw}^{GDG9yNsSsLh4)LI)}hH%T2KA9baLy;5Gd z4rO2sb)f>#p31;YQwPXTU6#}X)TR1xdsGj)r&e961to9$DBQ@-q@X6%d#28Qs1V1S zSP}A_sI2Eeb?`}>I(Sf|&Emrs+7jeUxeVgN(3&#`HaH66lh8PXe*gdg09H^qASM6+ q0MY^godGHs02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&S_oQ;tH diff --git a/app/open-iconic/webp/audio-4x.webp b/app/open-iconic/webp/audio-4x.webp deleted file mode 100755 index 7f27743db8d37ca7eff29705385658ba92b69ef5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBl3Nk>0RRA3MM6+kP&il$0000G0000V0018V06|PpNKXL(01-FBplu{a zzsZ(w{PFIwh={zBNRcT-wlK<0!^xs3JbgR-NtV+t-q|F@iU&ZFWZSg0o^9Ls#jUOW1!3_~512c3r9#k_ z%EOYS_E3T)zX$*T09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIa OR{@9s0RH&T8o&UAnz=au diff --git a/app/open-iconic/webp/audio-6x.webp b/app/open-iconic/webp/audio-6x.webp deleted file mode 100755 index 24ac1e4de7468e4b91b9c50874cafe168e593a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570 zcmV-A0>%AONk&F80ssJ4MM6+kP&il$0000G0000l001ul06|PpNaFzj01 zk(`eIA5OoBh+HW@wghnygTK7CLu9;|GRTPAW_w@r2$3y8gd|C}RW~|fW+pQ;GqbI7!Ob1XRKGR!IUfhtV}D*P}!M(jSr-!fF8X{=F?Fqe$>5wp$c2Ih&{yr2%Cf}=Ju zw@Oon_Nc1|Y6NXjK@D@|A8H30QcoXL8M>p65VJ?!Lq+NJ%}D)E!i%KJTezXpIVL zm@EHMThN$#IHAs=TtIDLZiR9M=$N`#qCQ~G8SNuxo6#lAE45mn=|lN%hR2BAXZTx$ zS~Mj*QFkz7o?*cemtd}_XM|fcZI}TT4q$4I+Ci8LsHX({?x|@3voo4qcx}*JA}R)y z8^NP9rKV+QkLD+bKWDyZj$l&HjNB4DmK~$FG;BR!=$7EM>=;hln4i!s!E@Ph4RISw z@Lt}-e*ypi09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2_5cdBwS#>9)iy<^&tia;R5vlHs7YH!NE0+Hw;suX-~qz)Gy5)bcS{jPF83aAP+Pr zaCAoV5<+j1<~a;Ukr$dd^loX!;B1_xif+=QUc;_t@TcTD>pJd+1cCC74W;otFdxV~^~#^Dt%VJtA%DJWPqbr#J$lckI<+=BZwMoZ5~+Cn)y= z@Qu_cbI?eOI-(U*Vqj9PigDz8AWAGhn zP&T3ACUq|QOI?A6Uf63-AYin~-bVyFLz6(2T8Eir_jekB<1KdQVQ#38=xou9z?{&V z!yl&Fynso2)I)UAGzFMYaS4B#twvzZXok?O(2T=b?w9(A-aO577_KTbtLTN^XpZ4% zgXSxO{tE3ZoQ$?W!Us1g*WK;4t-egy0CA#_)d#00011P&gni z0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw0NGGw AZU6uP diff --git a/app/open-iconic/webp/audio-spectrum-2x.webp b/app/open-iconic/webp/audio-spectrum-2x.webp deleted file mode 100755 index ccc26a3eb9ff8d34b93be34e17765e544203ffbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102 zcmWIYbaRViU|( z#--y$y~3{I&N%-35)+^j2B2;QH6VS7iD53ImIQ+YgWW` diff --git a/app/open-iconic/webp/audio-spectrum-4x.webp b/app/open-iconic/webp/audio-spectrum-4x.webp deleted file mode 100755 index e27a76217ec2f6182b114977a19750e992a4ec3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|34Mb zug#&zyJW-CLLY? diff --git a/app/open-iconic/webp/audio-spectrum-6x.webp b/app/open-iconic/webp/audio-spectrum-6x.webp deleted file mode 100755 index 8407274bf08d3db7205096d9ae682a8eb39de8db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmWIYbaN|VU|U|9645 z@EKbelaCu3Oes6$^#8tKP!doTP``p6kepPuXLfb5&)D;T;op}%I~#zi0msrNkN^Mx diff --git a/app/open-iconic/webp/audio-spectrum.webp b/app/open-iconic/webp/audio-spectrum.webp deleted file mode 100755 index 048eff1cd68502f6be02d953bfc7a9c0c751ab40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94 zcmWIYbaM-1U|J$(bU=hIuWD5W>I~Y0o1bBo2d4k^;teB|sH0|MxxaSQrbL!Kz zm6a|TUSaByXFBo4IdG%lMvnyv7d$2{vP`RM`>g-@qO;3?Vf))3LX6%0^`GJ^jGaD$l?Gv`;|-Xu1(2!(2u!4h9Ye!5bFpOBk3782J$(bU=hIuWD5W>KNvas1bD;&d4kguR3=^dasTl>rI!v&GJ=Aq zZk*MBwm>1^g4?8`^7B0Zt{O>pyx4zeTduU$+~p4ayC>;3Tgqi?>m0kPXso^14jq_21u_LDH-Cw*gHD+N&S|q>UIE<}zvt0PPpNVWGZ+fw_R; J-|smG7y#i^IywLV diff --git a/app/open-iconic/webp/badge-3x.webp b/app/open-iconic/webp/badge-3x.webp deleted file mode 100755 index 86ab7090dd4979f97f7c37051684dc56d3a29766..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmWIYbaT7Fz`zjh>J$(bU=hIuWD5YXI2bwl1bDOnd4ks$XiS=;Q69(H&NAi0vHc5< zy1J;aCT|vrZ`<(Yv3`Q(qy!buphc20*JA(u56X_Pb^kIy=hCqYYo}k(j4V5SNvtVp zW~Qyls}oNOqnVSRa-G`9m$`v;=KG6EreO+_YR5iT9rNH{uGyvfDQ({Co|ixOq?Rcj z{rE|Ll~$l@i0aC7`;!?MfUZ+e1G?oB6T@6aEeQq*2D^zyeJ(1C6s5l~d2_OSX|kK{_v5_O0R{lP1ycF| diff --git a/app/open-iconic/webp/badge-4x.webp b/app/open-iconic/webp/badge-4x.webp deleted file mode 100755 index 796dad8e59f3714f99a2cf494a075c6c794434e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmWIYbaVT{z`zjh>J$(bU=hIuWD5YXJQz9p1bD0f@&x%8nlMao3)_@?`^>-pau0+B zCpsQrbJ@VHf6)Cx>n%og0}UDTNlQHTo;hRlc>i?nSljmd9si7rZkzFh&cF3m@raoD z>wW7>T@Kv|dl|i|C}pSddHqf6&TU(WjNO2%QztYVsV?hS!Q zPqQkgKQX%@^d#(6;q2QgIy%#HXLmR3+otzX=eB>f<=+?UPa8Q)2Btl^Q^}L^!2dhY yoj@Nbr~&CqObl}wwG80;n*^|`1lQk4F}(3GtxgsVal%)(U5>E*>=-LDKlf3IokjFicc!{ zE294l+_r5*<@S6BAq|gVT$XWo7?4VRx8|!Vr>n5cbG}(N6)#)9SF;u_bLRUa+wJE7 z&bksVL)n65SYxU_?#N(!T!;#AF)G59sN!kpA3Wfe18RpGRM=AWaO7Yt64cF*CFw}e zthv856Oy&LJI#uuO|v^!CnT?H-}p{tbx5WDK8T7U3U)pEjJ1$o5SDt2QQI)uQwoIifB-;C^UfJy0RHy~fB*p1JBwog diff --git a/app/open-iconic/webp/badge-8x.webp b/app/open-iconic/webp/badge-8x.webp deleted file mode 100755 index 3778e4f767fe1c7a1f2eaa3af3df94ea96443a00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 416 zcmV;R0bl-7Nk&GP0RRA3MM6+kP&il$0000G0000#002J#06|PpNJ9Yt01@BesF5T` z+RXL#wGj4>Kg2d9A|i(|2ub6nT*x0O(`OJq^xtU=d?nq8k(dF?wr$hVPF`%=ws}wg zdzNu?_qpZziRixrw{0Vd8qdt$`wkE#TJ!bAn9F+BjKf2P`CTmCrgj8kz;Yx4-k~hM`<;a<$!EM;Ul1)|jl$&*ynHu1E0;tDS_k zWE<*Ht8;qn804KWqa!e%JU|ocE1n;|+&u*=YHhjKs3)BlVRY3ws8! ZWz^ze;9wBEVWGZ+fw_R;-|smG7yv(SC!hcT diff --git a/app/open-iconic/webp/ban-2x.webp b/app/open-iconic/webp/ban-2x.webp deleted file mode 100755 index a6faa4d3600d5359337971d125fab811dd2df650..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmWIYbaVT~z`zjh>J$(bU=hIuWD5W>KNvas1bFNL@&uP3)Y`Px?2gm#CK1+)BLAZ@ zl$4a33qtl7@co-1vhio3iJrmhV@7N;Zj*AOet*n)efyvI?D_(KLzge{iMPyn)Ly<* ze9`$$Uo(EUfbyBM?+2;OSEtD)e-F}|Wg9F>!8K3**3BFu!eQoOY{e0ifEZ=p* z)Lfs<*y+^rCq-@s8cX8NaEQ6apW%>{w-z&YI;?kP|L>5-0K08Zau@MOAF%iszr1a# zY1462hT_$hPFwf7?Kk&Vl$+Zx$G`yem4XD&4@Qg(a~ZV+fW8yFVWGZ+fw_R;-|smG F7yz+=WAOk0 diff --git a/app/open-iconic/webp/ban-3x.webp b/app/open-iconic/webp/ban-3x.webp deleted file mode 100755 index c8735986218f47eb09624832c88f0975272bf40d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 364 zcmV-y0h9hxNk&Fw0RRA3MM6+kP&il$0000G0000N000*N06|PpNEZPB01+R;pphg+ z-+j-_|NfO8n23n1h>`*>Qe>47e@S9o#DIMDY8oXP+LLy4k`_sD7)iEi?fbTE+cxgz zpVYbUy^}&j{}r}v+f)^r?)3%SWM`+x_xm_aGw>z7`P0L1o%FHwrZ2C$$B`Vu96GsB zFx%c6Im5smi`SC(%;lG48>XfA6oZ$At5YUy$V*gF!WFWAnxf*oBKxFg_nl9LnJ zR7ICOKFE|R^5p$X22>FyKVKS06%k3cqKbl4WJpUDJsC13cdC#Pc3Rha-jFiDDma>M#28tieli_47u*WdgpW zC&&Beb3cx~p9cT{09H^qASM6+0MY^godGHs02ly1kur`%B%&c3^a4u>1oVIaR{@9s K0RH&T8o&UL44zy7 diff --git a/app/open-iconic/webp/ban-4x.webp b/app/open-iconic/webp/ban-4x.webp deleted file mode 100755 index 51118dd8a33b1580da88d2bceb58b67e36e79c91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmV<60U!QSNk&H40RRA3MM6+kP&il$0000G0000V0018V06|PpNQ(gg01>CcxNRFr zBW3UBHn89AzrrLlMMOjnT2ks1L)t@LsUS`ke@WRd=6-#V_%NlUyvQIo0I`uIMN%Cz zGc)5eGxP6#`EShk>};D5(SHVR+s3ITz}eYrpMZtL^!WU9xBEOln#7@?eEdTT--jiy z6j|@+fwKx*EnQK;Wx-qOdYD z;)U_RTDq{ZC-i>J2NnRzJIPAv6oF%TBC7Cr@Idka30aQ5#xBMrzhYC8H$Ii{-;*3k zJ=Y1Wq&z3tP>MFmvrm#KrO1%{khl7kB1qEtZ+||e2uqV9sT5f$+Q6O? zl6fA2Pqz# ziU(h|^tG3Vg4pQb?89+B&i04a-v|Hz09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3 W^a4u>1oVIaR{@9s0RH&T8o&UFbKK7W diff --git a/app/open-iconic/webp/ban-6x.webp b/app/open-iconic/webp/ban-6x.webp deleted file mode 100755 index a2ca18eeb7d1a4a14e504ba248d079b1e5ee7e25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 624 zcmV-$0+0PtNk&F!0ssJ4MM6+kP&il$0000G0000l001ul06|PpNEreE01+R;IAGd1 z0g?3nb^lpur-+Cgj)JKcpQ*w;kPrSHk(av6g>zwLrw{HvT}%}~kZn6{^Fp@6%*@OT zcB^RrtIC(GuN6e}-=QQ)b&_SuBM+QXApd~yc&*v-@e$(lILulexN-Uy8Inui;Z(`# zpEO7?F}^)A3Z!9zVZ?~^RWfo-8_@72D}Ftc?pNb zN^7AS>03jscNv5xvs08rP2-YQp7`s)B$2Dq{B)?vt6;`j?aGVtr6Yw57b%DMB^l7G z1wPUzGi*vFIy{tLY68Hab9KjK6*#s_#1i{^}sG`9d2L}PZO!&v}r;<2a0<}H8%5xIZJNC^wTB_?mWt|Asdgs2F5 z*Z?tl&`#U}YKPvEvj9rO=1wPY(*o!aojsi=GYeoze5T4gv;dxTY;~UVsZb+VT}N!N zB}Qkc>omh9r&*^C-DY-7a3V^917Je+t~`3wX$$}!{oqmlCr-YLUxs{gZz?sQ8j&lz zRyeCtXQwoIifB-;C^UfJy K0RHy~fB*nFF%x0{ diff --git a/app/open-iconic/webp/ban-8x.webp b/app/open-iconic/webp/ban-8x.webp deleted file mode 100755 index 7e3160990994394ebf47eb761620ff84149abd89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 794 zcmV+#1LgcuNk&Ez0{{S5MM6+kP&il$0000G0000#002J#06|PpNWKC901A46F69F-jBt=diJ)`)U#mtQN zI>D{~{wUP5yJJB_{~bt@Bqg*J4#;W+?)3&Zr`+AWeoTMz{3m_9-tCm3oA$wrvF3Td zrFJEmS+0l|rin&X*#0se$rk>_aA`b~4*aUhy-~}S^m%~hnHNxk0UrF8p^ky!xFj0?~bJsi}{Zr zXKm1xgq~~g$fj7zzf+Zd^)mLM`XL^f*#D&NdI&X)xf6tj+Hm?LR1mtvr7k9=LA=c( zPiieVi+@H5xB0Cp@xJ*>2HC&284GP|QI#Il6aZdWC{hCvYdiyJv(ZQoV8j|N;D8jC zks^pb$zu<~`GF?DK8ZY`%uWqe&}5ZTmz{J0*rvl1#+foWCz)-Y?ncUBLN-^AB(SCo z)=1|eC4q`EsFKeIPlbsxNJ!{ACxJj21Z0%+p$#HF_#{#WMRNM)Tgu8vx9}IOD1!~M zdfVvl5=kU{@6!k=YZ3DJ%^&iN$$S zcmxAQq@|__2&Zq69x-?JzjFv($jsFc9<`YOK$4Ng&!!d)9_!ivb$TJ#Dv`Xh-JC?0 zx&$|Dm-04YpbCx!y`JE5r$``i3n7(EjYRm=Wb#ba5sytD8n5npJCe}vcH~;c`?(*!PVx^&w3pBqa)&L?ZtB#4UDjp?PeXP&wM za089FZ}2*qPL=s|jLMw`w`F*xpZZp5557qjUX8MO422}qXV>a!5<@Gky(fn&drj!3 z)Y-mz`1sEA?~jM8?X8l#9{>PWP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJ YfB-T8lWB^I2bjFz0RHs6xqtuw0KO!0T>t<8 diff --git a/app/open-iconic/webp/ban.webp b/app/open-iconic/webp/ban.webp deleted file mode 100755 index 6ca2eebe71cfa13cba060850f483e2ee36f82e34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmWIYbaR`=z`zjh>J$(bU=hIuWD5W>I~Y0o1b9RMd4ks$XiQr2tf=96BGbPg+qW4h zDPXxu)>(GvRmDaYy4 z#W(yfq)&O;c<0T!pmd`Rf9IqD%>~-1AOWO}7#Zd=YH=`dFbLkTP+!8pT)^<}_nZR^ E00S*LYybcN diff --git a/app/open-iconic/webp/bar-chart-2x.webp b/app/open-iconic/webp/bar-chart-2x.webp deleted file mode 100755 index 970db46f0ae2e2e40d69fb2abc62d369ce043a43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmWIYbaP8!U|J$(bU=hIuWD5W>KNvas1b8$7d4l{0ttKrAStC;a;ZE$Q{)q-k zO3WgG$NLm2IDS19=T49C(9lY_;4x`YW!kg-)e`^p`c+-N#3$a~*4y&to1nz9>qr}f^ZYk#J8sc3xef7V-eEi?AoAHo_)}&+h!Ut*u w{jRP^xY}Z88C%H6zyNfcf&|bdMvM$|8MOp}ZWO#>p}vHHxq#u{?>Pq;093zA_5c6? diff --git a/app/open-iconic/webp/basket-3x.webp b/app/open-iconic/webp/basket-3x.webp deleted file mode 100755 index 71041fdb1351b3451f5e2db6121af1202217b332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0pajHj*SK zzq|ivur!$DpW}%nA|i{B9de_=c&5&c)#wrwLJ>7Hl6WBd7NBF5^4Je4CtY^hy~Fbh&CauJN7?j29{yip+fKXM7I z$p63_trxkMKyo189ZyuwDqVbeaT%>N~suY#weu##B@NL6O+Qs zUaK$QM?l&LNI!a=XP*>g(wLRzrsiBAw}0D*Di{D5 g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^06+h700000 diff --git a/app/open-iconic/webp/basket-4x.webp b/app/open-iconic/webp/basket-4x.webp deleted file mode 100755 index ad1011479a2ea511daeff0a30bf1a52b09a0331b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQs4Nk&FS0RRA3MM6+kP&il$0000G0000V0018V06|PpNcsQ(01+R;xNRFr zBipn0@!bA9O}2`N$bo6G^P7hmy?CAeG}G^loHDI?QKnvEl_#bY8m=TsHm$jSwr$&1 z?|)PG@aaFI{|wx=ZDgT)>2SXw1=+(fL+_9{1E=^KC9r|dCa7Jk893&)ZrTv&XqGbD zI~cNa6|Itc09d--3cxe3QQ~I+yC_j?58#qimcSaoHN_OtHvrp+qF7S^uL5xt*`9?X zPm8J4M2kAJ=t@h8iS#5IMxS|9O~xJX^4od%kdOWnar{e0!O$2S5(hDj)zL g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0MQhT)&Kwi diff --git a/app/open-iconic/webp/basket-6x.webp b/app/open-iconic/webp/basket-6x.webp deleted file mode 100755 index a287c19dd0e3f0e7a606a6798ccc46250eb852e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 440 zcmV;p0Z0B)Nk&Gn0RRA3MM6+kP&il$0000G0000l001ul06|PpNMZp101@B9plu{a zpX^>g{&?>jhlt3FZ}NsT?yxyI#-XQ^I3!|CoZ_L*#2vM#1Jfpz<4KPE0ZWo>)7HAS zo^4zA`Pw%3{3o)bx2``U`p>{^BqtLM^?=YmL3-GtjrO~RCden_yiRV3t{8AWu^#j= z-MtBQqsjy->l3Lb%Oqqy6R0)Dq{OV|`M~qFT6lq|aW7GCe0nxUgKNX?chT;d=mib> zhelnipxiHU{?MVeX;60t)sjx)xKe15^J~}gk79)odW4JU5x42)4YeBEB(T#&lP}F) zpw#F@rgAz$ms_pw3TJ;LDNpD!IMQgOj7s06;0JB$TgtlAD3oxJ0%sC^@ zW(W|_nn(y(?&;ikeRmx}OJSm$8{*sxV-+U4@e;=`j8&NE1|85!?zTF_N1T8#R$-!> zJK{VDV-+U4>D>DR4_(=k!eq((clk-QB+o%%0zJlK0RRA2P&gnc0000I0|1=?Dlh;r i06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*p3ILMj+ diff --git a/app/open-iconic/webp/basket-8x.webp b/app/open-iconic/webp/basket-8x.webp deleted file mode 100755 index d0ecdfe6a07573581bb7e784d7807eb746ec741d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcmV-PqjiFDsS`e8UHxTjB>0G#5U(v6854rvk7 zgfogHD8dPe4=Eo>*mrj!(e)m-1$Lyc55X??gp_6;Sk)p8ZP+ALpGZ$Y$=;e+eH#dD zg^{v0N!8DBATD%qeXul1)jwVU;8l1Q4q+>kSUry$dE(|C8)*_(2h$*~Yhfx7H*$e- zjfpE8Pg3=@9|HeI7-_RL@kKsGA&Q-OKW~pllk_Hge}cmEJMZWiF_^^aSt#X*TX^*& zRj)!rjkuonBvl`{pusgHuA(_f@9&ilTKsEaWL$z1IqmeR`yjyj&^l`MMe_`m=F09H^qAT9s^0Fna$odGI9 q06+jf!A_k;M1& diff --git a/app/open-iconic/webp/battery-empty-2x.webp b/app/open-iconic/webp/battery-empty-2x.webp deleted file mode 100755 index 8cf98c4aa53f44bd75c31be73cba921289f0bdde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|qt zp}Rpx?(Jjm6q;DvI0aJ#AC%9!VS3(J%jJvxPn~S_xatQ2OB`oKW-W2cTJr9a0x#dg oJ-a^w4F%evAOSSdh>>9~qm}^BF2NfX>Pr}y3mE?Wo^yZ!05b3{egFUf diff --git a/app/open-iconic/webp/battery-empty-3x.webp b/app/open-iconic/webp/battery-empty-3x.webp deleted file mode 100755 index b191cb4f3444ee5a3bec60f903aebfb4acff01fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5YXI2bwl1b74hd9w2tEXb8!_VOWrVS<~IQqZ2v z8g2;&Y0pWwc>Lu4|KGoeW4`+rd&xWz-jl&Py5AOhM1?Hz4>;*#aneLqf1a)EOto@j zb>lCWO)CCrZ{T2H0NSLW1~m5)6T@6aEeQq*2D^zyeJ(1C6s5l~d2_OSX|kK{ K_v5_O0R{k6^D?;r diff --git a/app/open-iconic/webp/battery-empty-4x.webp b/app/open-iconic/webp/battery-empty-4x.webp deleted file mode 100755 index e8b2a6536b2b408c61563e9bd80dd554585459ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWIYbaPw8z`zjh>J$(bU=hIuWD5YXJQz9p1bBo2d4ll^7UYV&h&!;~?1-yNLgv4# zGo1oeJkNGHGO_VO~1s%FqctFfkA=6ZlY12i^?KJ=`T#)oGf1& R7{VDl7#RNjI4^a80RXmQH}?Pl diff --git a/app/open-iconic/webp/battery-empty-6x.webp b/app/open-iconic/webp/battery-empty-6x.webp deleted file mode 100755 index 9096654a30abe351d968e0084e3feacb8c86bab5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmWIYbaPw9z`zjh>J$(bU=hIuWD5YXJ{URr1bD;%d6Lr?Ea+8vDlz|0b;ZQzN=iZ( zJPP#o_6Iw$_o#S!g;>1a@c;i>>!Pj~^^;;=<^``=RuFyMt9Z7O<|Cy{vAm6U(hnI0 z2|nujy(rqIbDsXBDT?>5ZO*!rtJ}%OzyP#WK?7)q5HrJEMlAyd0|vX54%1vzl@(_^ ZVG8DI`O?7P;QjfWWCFv#?;H&b3;;tGKgs|A diff --git a/app/open-iconic/webp/battery-empty-8x.webp b/app/open-iconic/webp/battery-empty-8x.webp deleted file mode 100755 index c885f96d24b0bd310629e9374ca5cae07425ab1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmWIYbaUIrz`zjh>J$(bU=hIuWD5YXJs3Iq1b8F@d6MfFtjJYK|6Tn3m+YNpI|C)9 z&cwWh>i5zs+6>g1b5%V3*eWx8|DDXbcI!~*i~6K^u|;z(TXa_WHLf_&_ry5H=W)a$ zt>upo#P2?Pob{^IaW3ia=Qk{#?W()n%7xdA31|b*ZUsFcJ&BoNE~AzMg9C%zLBF|f kYRZemS(uV}SiUqc7%@!F?CN5lvF8E9zb|`sHUL!v0Ir@y!TPI1lt2MHPe=#rsO;eBn>NR3yn9Hce!N9>F Tc*8<{2?KKh!@u8i4ln=!Bhe(R diff --git a/app/open-iconic/webp/battery-full-2x.webp b/app/open-iconic/webp/battery-full-2x.webp deleted file mode 100755 index a39f0561d477948e0d1353d836b6c8dbba7b86d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmWIYbaQKCU|qt zp}R&)u67llyke7Dr$7>Cg6YfbcN~I$)n{+%oLkM&bBpES<{1f3kBXXkn_qH|a4$Im lG=>3agMtK*HezI$%cvy)v`O%Wh58Z(<^qO)zvmoa000@DD!l*z diff --git a/app/open-iconic/webp/battery-full-3x.webp b/app/open-iconic/webp/battery-full-3x.webp deleted file mode 100755 index 007e321c5128e748144b4172e2294757cfa25a86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmWIYbaR`;z`zjh>J$(bU=hIuWD5YXI2bwl1bDasd4ll^Cgifbh^s%LY}wu6F(uwP zJVD@O*lc%pdx?e;&A^bkPhKyU?s)N^WkJ=9%QE&$bu})Rmj96X<@W2GO#8oe>T55k zGcW+nS5O0*c8Q5$E~AzNg9L-!M58_zl|_ouUzof(S-vzdgfn(9F#P**Ug`h?03Nn7 Awg3PC diff --git a/app/open-iconic/webp/battery-full-4x.webp b/app/open-iconic/webp/battery-full-4x.webp deleted file mode 100755 index 690649aa882aa89066fb9001a97f41fd6df2cbb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmWIYbaR`*z`zjh>J$(bU=hIuWD5YXJQz9p1bFxWd6Ml57UYU_R3F^0rQ+t&g@&vQ3_x2H)PQDQVq%!fsHMQ5z+gAgsLw@Zk)re$CT~ubFAWUgj2#RN|9+g8 HI=}z`PwO{u diff --git a/app/open-iconic/webp/battery-full-6x.webp b/app/open-iconic/webp/battery-full-6x.webp deleted file mode 100755 index 22f34efeb42076d45d60da2f52d5d8b4342adedf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmWIYbaPw6z`zjh>J$(bU=hIuWD5YXJ{URr1bBo3d6NAL7WAq-m6-phx?&w&S0A|LfCvjGKG!s`;dBKXAR&)%f?)h1&K_ z65l2-ntFcsi9F+FQ}0^w^8!r;+NYoaq=lFn<}zv-Fc>h{t#p{?qN=Po;|WtRSId_M T1_$rY=Ohyt{(a|YU|;|M)ippG diff --git a/app/open-iconic/webp/battery-full-8x.webp b/app/open-iconic/webp/battery-full-8x.webp deleted file mode 100755 index 1ad8fb55a90062c330c5526a8abf540ee9d02edb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmWIYbaPw9z`zjh>J$(bU=hIuWD5YXJs3Iq1bBo3d6M%NteB``y6w*s<(=Y!j4E2k zj^A?+F?W*LkgMVuXn)rD`TV!*Os{3m?f9pD_WEg)3F~f`OlZkm^2_Qd=k=1~lUMzn z|Krgwk@Qpf^*+*>6El}eG6GEn+NYogq$e>m%w^PaU~pitJLospO-*@`I15uU56hPZ Y1|x>anO$A%Gxj`S`1fVc&IX`r0E$UL2><{9 diff --git a/app/open-iconic/webp/battery-full.webp b/app/open-iconic/webp/battery-full.webp deleted file mode 100755 index ad71e6a345479cae29fb33939cf3a39b4e942ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|J$(bU=hIuWD5W>KNvas1b9pW@&x-2T1;AE_C`k`zs`)~>3mtW z&W;lcn!JJzde&?0%y{~xRsGAv03Sb<$!qNnC92$9w)OtD+~QCE?|v;4xcEQhv)?0y z+j}P7&^&M=(TmHlXvU-_B{#m{K!YbLJ1@-zQ;o!PbV&!itZuNWABZdH%~y3B}?VJ@SV0MN~XH!Reb OFfbP|{QEuU00RIz9#@|L diff --git a/app/open-iconic/webp/beaker-3x.webp b/app/open-iconic/webp/beaker-3x.webp deleted file mode 100755 index bfdf748d63846233a76a524c14dcd5f0f4b00374..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmV+_0oDFeNk&E@0RRA3MM6+kP&il$0000G0000N000*N06|PpNY(%V01*$upphg+ z*E7$|@89W>h=|C5F$0!~j;-TB7k&JCM6X0=rM72L=XNJH(Ghi6RDc-CwrOiU+qP}{ z{Xh9!PME@DNZR1FscA72EkOB+bJX-5-hO!vJ#9?NQUzLIpe}Q|QX34>MU6;2O7=xIs}S&k~w)(1E2#h7z2^PDL(I zlH^-KRgP+~_DN-4Qc>vmTBlH*7u7bew)uOt|KqEj`mZ*K?p~YQn4-Od`)S_}3IG6B wP&gna0002e0sx%>Di{D506vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0H1Gxo&W#< diff --git a/app/open-iconic/webp/beaker-4x.webp b/app/open-iconic/webp/beaker-4x.webp deleted file mode 100755 index 5e67d2c8f4dfc6597a31fdeb25ec9091031882fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 376 zcmV-;0f+ulNk&F+0RRA3MM6+kP&il$0000G0000V0018V06|PpNF)IO01>Ccpphg+ z*FDet{>>hkh=?q7D{XQ?443B|>NPpBWU-QY+Nm3nDGR@EXql&KBZew1gdrfvww<6L?(ES0@iWfE5)q zswiw!(5RxYQ9+}M!bSy+DheAFG^!{paVlt3DOk=aU1&YZ1CoDTY}{0r^tGs5rmzA409H^qASM6+0MY^godGH!03ZN9kur`%B%&c3 W^a4u>1oVIaR{@9s0RH&T8o&VB8=MLN diff --git a/app/open-iconic/webp/beaker-6x.webp b/app/open-iconic/webp/beaker-6x.webp deleted file mode 100755 index b8b55268ed5c1716d2818f5c6c4386a364f6688d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmWIYbaT7F$iNWp>J$(bU=hK^z`!5?#QI?5=o8@42$U7{KeQlM+0)uHUH)Iob3Rv> zC!f|o=zFurew{&rEPEyeQl^k37w-hKUh^{tCGwzcGUm7U1YV!fSWGPUVqTT5{3=Ivj8mBp-H8YI44 z;QIQYIZiSAy$ZPs|7so8Jo0t52sXh2j^zU8s}3ozS-hcHc6H8@gM6ZLiSo%>RtMwQ zMfvt8-w!pqcktVlqJ~nnkPpn&k^!e5Xn*s5J9&rf)_0GVUHK(lz3Qsfho-qJbEUSg zY|6c}CrWR_aXZl~{x_yRQoS>)%dFsZ*Q)3@`+@@RGnd6{MjX{$UBJ41;rg%2WlJx; zVyk|2eR}SlrY`Zq>QBz=Z|tnvao}Ft(>@RDX}z@*uFbsg++XPbDr^5&i~hw=tXeBM z>3N^0-Cot7`xJLN|KdJ*R`TTZXqEST`zHOeTT>de{fezpVf?m#UY8y>{dw?gzj#&M zzs+Hl`R*uQ8&uJUvJm-_!+4q zsQojl(7JqCcIKU4#RwslzXgw$3V;0K^_}IVlHwHcO{$(jPc+(1c5A1Bz%;Y}|I<}s zpNDVSU*-kK3AeQeMpz%xk}(C3|z{--K3q^XTRRV5|evgMuC~ zElgr&n9Hc;z~I1OchGOHo0{?>aTcaz9+oc+3`Pu-GrPLjXY6^v@bAl>oeeN6#VO7SS0hpMS0iG3wgcMY@<91LKm&f wD%ZPx`l+VJ$(bU=hIuWD5W>KNvas1b7q!d4lW*7fe(+dQsY`fWG&hgkFf8WSgLDRsQ4e-zI5-Bjel(}V8=9e73b zSImCY#IusAW7evs7b~s)e4730%!kf&spOWDg_f%RR{h=QI_=-qtT(uwo2vk{k^$%% g1qmQ+#KPr}y3mE?Wo^yZ!0N=erp#T5? diff --git a/app/open-iconic/webp/bell-3x.webp b/app/open-iconic/webp/bell-3x.webp deleted file mode 100755 index 1192acdab65700b0bcfddabc7fdd326fbc0b5ccb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmWIYbaQ*bz`zjh>J$(bU=hIuWD5YXI2bwl1bEB=@&xS{ZkxEIZTDg4SDY{RAJyvG$Ej8<6eG|cIj(b=jMhS zJoS8C`_ZS2?7>Hz8RyyjI8kZvx^lzO|E6=YWjHL^EfQM3N=V#bVqgHeT0sry#!E~L oa~ZWH7$g|%CK~m*s4P;H{=($V$?~OvA)K*;f#Khe^HK*G03)MdjQ{`u diff --git a/app/open-iconic/webp/bell-4x.webp b/app/open-iconic/webp/bell-4x.webp deleted file mode 100755 index 9c7c049dd69f36bc864e19a336b1c34a2e009b63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmV+>0ondiNk&E<0RRA3MM6+kP&il$0000G0000V0018V06|PpNYMZQ01?l@Ad;;% z+)>l3i1=3sQ4tXt=q4s|nry^e;~;&_PT7$cch_Vl9>|cyFK{JEvT5~wwr$(){cr4X zX3o=hME?_FqB%WWr_Cgcf!2jjmv#`AK%c@O2t$iv3wq*0@sfnvq|$&or80qfpmKl~ zpz4Pbr5b^fr<#RQr&@#T&8SWw7iq{t@{eg4`XH2PD&aMErsDj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^04qy;b^rhX diff --git a/app/open-iconic/webp/bell-6x.webp b/app/open-iconic/webp/bell-6x.webp deleted file mode 100755 index 4deb16674fe5b85ce369a6eacd2ebadaa41942a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmV-`0e}8dNk&F^0RRA3MM6+kP&il$0000G0000l001ul06|PpNGbsU01G`NT4WWQf zs~lBQ_+zV3sf=ItcdEVG@%>E2CwxVy8isRD)wwf4?WNM0RRA2P&gnc0000I0|1=?Dlh;r06wWe emP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*n#d7fJU diff --git a/app/open-iconic/webp/bell-8x.webp b/app/open-iconic/webp/bell-8x.webp deleted file mode 100755 index 155154192a1ab7b9144bb143f8c83b88a970bc37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtnkNk&G-0RRA3MM6+kP&il$0000G0000#002J#06|PpNOA!H01+R;pphg+ zx6|{?;9u*Ui-^cZgb*{)D05&&Qo8vmVoFxX?A5`F)#-}Sf&w5plB7tAVQ5%preS8L z`2U|4yF0ROdy43PLdacL`kVddW>C4w!GTxVGGbfxVVrr|Gv@G|fu%QOg0T;~aK%LH zBUpJWCR}^4$qbozl!3_;g=biJdkP011{F#b=(#PWZ5Hx1#Vg1aiXV{s6nl_26xWdV z6!%b5lv5CMlyeY0${xg1$|n%-DBnV?Q?5Z=P@Y2zX%Ikqpus(q)RG2^6ogBfTtFDo zWPs$?G`d34+>%C%EE2xc>;=irX?ThxRGH=j1Jb1ONb5 zP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw E0HIRP(EtDd diff --git a/app/open-iconic/webp/bell.webp b/app/open-iconic/webp/bell.webp deleted file mode 100755 index d0ebfdd230b0dec97f9301cacc1482fcaa386a8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU|?7j$i5G!YbR zT>AX%XY1-HJnWrnkIWY;n_yvJ$<_C`d2>;=N4mN k0Gh5K0W`~qkzp>Q76$_dgWwGd^(73<1q}aw&pE&V09k@9j{pDw diff --git a/app/open-iconic/webp/bluetooth-2x.webp b/app/open-iconic/webp/bluetooth-2x.webp deleted file mode 100755 index 0f7dfe62daf690bf09e977ba001109f0e2a38e56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmWIYbaOkzz`zjh>J$(bU=hIuWD5W>KNvas1b8$9d4m5JY@4{G?R(pV6VCrbgWOzF z7JB*IbKLtV{q~25gHhsYQ@j!`cuZPUnU*H=-|T-b9_R+3>l7q_v=Jl2Tt+PcpeqG$Sg0>yU@lH)DiTLO)V~gX58m{ z^<(k-tQMA2HSRN8TSe!4k$B#hDi{D5 g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0RE+P_y7O^ diff --git a/app/open-iconic/webp/bluetooth-4x.webp b/app/open-iconic/webp/bluetooth-4x.webp deleted file mode 100755 index cf62d514942a44b011063f5c65b805a5ae3cf397..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmV-80muGQNk&F60RRA3MM6+kP&il$0000G0000V0018V06|PpNaO$j01;=wpphg+ zKeYSI@89anh=?4(GGrC=BGba(z1-Nx*@d1bd~(FN2{^EATS>01*hz;Cc;`Pre!b@i zBKpt3ZQD3<(%s9^_7m`k%x6%Ex+dL=)1C+#A2-@H^ynS1B`dkPYJD2D_B>q5V-;8~Z>-To%oKK^yRfkgU!q2E`3 z*q4fEj+|%;NuvP(09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s K0RH&T8o&TQ35?_b diff --git a/app/open-iconic/webp/bluetooth-6x.webp b/app/open-iconic/webp/bluetooth-6x.webp deleted file mode 100755 index aee590f70630ca439548609e73d2d55ae0a40770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmV;L0cHMDNk&GJ0RRA3MM6+kP&il$0000G0000l001ul06|PpNJ9Yt01@B8plu{a zKV>_AzV|F5B0v0u3|Yx2mJ#UVbKN#Lw@%a!Dj($#!y+C52m;tBQgVmO;ckP&;c}k; ze+-zk6Fv~pe@1TGMv~*%XM9RJZ$KoHx65$q2fpvZs9!iOb7shX&kYABZbX<75$2-~ zGr~H|z|mJ#ZDIQgtlrfZ8^Q{U0uUF|VTELoh>Jm3V6sS{F7|s_lSQL04o=cA;+}u? zd5E@(Pi|I#M8$}!9|r&$OMhr~y#%zEy85;Uz)D40Os9G=E0E{&*3xKm;w*W7b z%XzO!K5v>$j?TL#tG<5P@L2Zs@T}u-(ASUa21k88IBj>_M-OYQPW1Knaheh!x+5_M z{Bs70Ii{{oFOuWCVNUKKt9=O6)#l~LHs^)x>qtPI=A$7^%D>L~*YSV&PY`J~)oDH% z(f|Me09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2h;Nk&Ej0ssJ4MM6+kP&il$0000G0000#002J#06|PpNUZ??01+?3plu{a zpKQCk=g+s1h={y+MUu#9i?&I^ef#9xn}yqbvY9hdwk=sTvHKN%u0yB zB*KU?DN(KB}QNpVSbG(1Ok%|E8Z_F1Ol^LuMDGb<^7tE1E|ElIbQ%+@$lXE zeE>2s|LFH@4$#Ph@4oB-kP7hK?~_?TtiXNR0-%=b4$Cy4m&b<<$jGVR(zbp=w`&kH zRJ#T>L%i-nOybSY=?sJ<|L}QJ_lo{UqvNTR^4rDZdO}5WXV9LIS3Gy_SJg$#onEu1 zEo$!EEK7@8_ojdj0#~^HvU_7kzc&V~kVY|oZ_eM_|J&X0-ATS%f;1KL@3#EA@!#C7L7JEe zX(6>~00011P&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz M0RHs6xqtuw04QYcR{#J2 diff --git a/app/open-iconic/webp/bluetooth.webp b/app/open-iconic/webp/bluetooth.webp deleted file mode 100755 index 2f959a71ea401dfe2f1e125003092b2cf0fd3c29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWIYbaU%rU|J$(bU=hIuWD5W>KNvas1b8$7d4ks$m~EQcVa;;>${EA0|6eWW z?(it^IhyrdA-`_QKgsS34-6P?Z@IYQOw8Z<6-&3=2vYR54?T`BvqOCHz|z7f+PRI^`zy v%S1i&lRvv%Zg3~i1wgkcNC0UgMuxeJS^_{f3f{0#U&6p#!0_+)oC6F1Jcde< diff --git a/app/open-iconic/webp/bold-3x.webp b/app/open-iconic/webp/bold-3x.webp deleted file mode 100755 index 6297e3d85f1b292a441cc7839474fc622713e6a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmV+v0qg!!Nk&Et0RRA3MM6+kP&il$0000G0000N000*N06|PpNWcI901*Hd;YMPV_cVxhk%@^v3mn$An>Ihp%qcT!|NSbv(g+d# zXW+JxBIlUl7bNvMj6OJ0bc_|O!TSmOxA_zRg3f$~-q_Ut0d&Oez(s$B#64i0B6=ze z#BD|4U>?$1#7@2zZBi{d=h7igGTn*WyV7YuX%3AHGjXdzM%+!oCGMk;6L$qd$zpFF z1l5DM+WHqJCtu9*;F7LO0o`~gpzyt}wF>|M09H^qASM6+0MY^godGHs02ly1kur`% aB%&c3^a4u>1oVIaR{@9s0RH&T8o&VYKyHQr diff --git a/app/open-iconic/webp/bold-4x.webp b/app/open-iconic/webp/bold-4x.webp deleted file mode 100755 index 78fab5734017385f449b46613ac04ef98191e5d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmV-S0ki&6Nk&FQ0RRA3MM6+kP&il$0000G0000V0018V06|PpNcaE%01?l@D3T;a zTfOjyV-M%w-hhdS$fAnLaPi3yb_}xf*M^W|lgsc%9$3TRFp^|d+3$wCySu~XpBb=^ zdqn~f{deFtk|KGTvj?9L)$rKOil9NX!)p;(5?KefWd0>??F}WLj1oVIaR{@9s0RH&T8o&S^wTjgM diff --git a/app/open-iconic/webp/bold-6x.webp b/app/open-iconic/webp/bold-6x.webp deleted file mode 100755 index 7dc16aa41a3ebcd6170a2d070666fa9331bf9156..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 446 zcmV;v0YUy!Nk&Gt0RRA3MM6+kP&il$0000G0000l001ul06|PpNM`{601=1cux%Sj zS}FVgyLZ=rs~%hv5s@8{W^opgEQmznG7dExepZ;qf&WsYIk0!&u70FRCh2JsK#XMD zw6&jY+qU^_ul(b=f8Bd_1QGpr;5L#XIm>+b2pIPLc6A>tItZ)eSRSlVqDT7wiAP2B!D%xOORV2WAQQ-&c zN8Oi-Bv?8t9k4EzCkYrjf;F`~Nx@77H0$?dZX|RI)~iQEB=cn=bOvo;86RPw!k6(B za`68~`IDU^Y-)%=wV5c}x|Pk`qUxz3qUm)I5;b2hmubx-{{sL309H^qASeI;01^WL oodGH^05AYPsX&%QB_ko201*$uxNRFr zE8BCv_O<<&YHSq|k&i;;W0t(4HREIT6_-raRj~4VeyYPBD5_K80%9XcilkoNV|r$0 zJm$Od->awU>3#zu`VYa4Bt?>A8T0tw0JAppkB9wC6v4LDL(Lhmy-J(`{i-+28s0Fg zdP6_)hReUiwSzuX1@79g7dTj}1?+ktq_b8C-L*>D;XomH*RHVod|2?Vd%Ek83*Plc zch$MzT{F5X;evN?HL={tRGU z31HNjIQxvfElv_=z_9HN+f#4AW8@7_?r;(2?@e*hxfrPqy+EvJccd`QEs3O0io>-n zkt@*Fg)vcFJhPUL!5UkWJ(2Ifkz7UtA{fByl$D|2g#hxE@gJPyUxVsa_Cag@8gytRn}GHE=QbJ`c?RwL*PtWVxCZU_@2$?pM5efm8~IA{ ze}z)CKL&4>i{k$Zouuquj-hEsMBv$tID3tpy(Z%8CK6Y(9T89Kn_N7N&kGSJn|c4` zxG5w609H^qAT9s^0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>KNvas1b9ROd9wWrmQ56~sQNQy%N&-D4u{XP zmnxr~Hd)soL&Y;t-gr;_<}LNvii`etmdxF(*;t%ZxJ7R1A`6k=3cYs^1vobPq; E02Wa-r2qf` diff --git a/app/open-iconic/webp/bolt-3x.webp b/app/open-iconic/webp/bolt-3x.webp deleted file mode 100755 index b0c49de82639bd588f80ff8547f87a80ffb8c682..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmWIYbaUIqz`zjh>J$(bU=hIuWD5YXI2bwl1bE~Dd9wWrmQ56~sQNQy%N&-D4u{XP zmnxr~Hd)uAL&bAq*35^0R@ctT=M?0RTDAIuC4KzAsp0d2j+ q#4wjpOM*dy!ET~apNq;OMd>e0-kdC78W_SEI~W-L{WvdmfB^uU&_Z

J$(bU=hIuWD5YXJQz9p1bCDJd6M%JOcE|_@D^C>((B^F!}Zjl zd%jTP#M@?lMti^i|6j)Ne#+gwZeQYaZ=3nB^uCN2a7vGAUhaCb+jZ$;SE2Zj)vonQ z>1R?j&b(w}JHyG#S)AqaNaprMnGeZJ75bk~NHhK{V!@vLd(l#zTW1&X7b)0JVFua? xbdQ1>kiNvkFqctFfkA=6ZlY12i^?KJ=`T#)oGf1&7{VDl7#RNjI4^a80RV%qM~(mh diff --git a/app/open-iconic/webp/bolt-6x.webp b/app/open-iconic/webp/bolt-6x.webp deleted file mode 100755 index eac62911a81bf8383adae7aa95b16355f3269ec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmWIYbaOkzz`zjh>J$(bU=hIuWD5YXJ{URr1b7q!d6M%JOcE|_@D^C>((B^F!}Zjl zd%jTP#M@?lTlRkcZ(q*t<=1WN`elB`t+b1!yO~zsKN*^@GF!T6tMJKfvtnx9*Uev1 z=~ZTb`wsJ@{At|B&7XHYnf>wD$9^lmCHU yQP2R=Ld*fTII!tp>RaTtwgejP-A%FaQ92U`l`h diff --git a/app/open-iconic/webp/bolt-8x.webp b/app/open-iconic/webp/bolt-8x.webp deleted file mode 100755 index 47187c89e4e57871d61a62a561e9e67d2902020b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmWIYbaOkwz`zjh>J$(bU=hIuWD5YXJs3Iq1b7q!d6M%JOcE|_@D^C>((B^F!}Zjl zd%jR(u8ODMv#*Oo|Gjk5eH|zv_*ZGjE? zQ}4{-op{fOU1{gdbeF2j{w|+B-fnwwIeW!J&hO{irr+7~pw;b~|DJ8U>-PsU1MLL5 zMnMlqPhw`6%c$kR;J{#a&~L7rn(`uX7N%q#mM;wqMhufPySmtC?0LZO@5`Q@4M5cZ D>?=+E diff --git a/app/open-iconic/webp/bolt.webp b/app/open-iconic/webp/bolt.webp deleted file mode 100755 index f83ef99b6da22083563e202ee73060102f1b4007..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmWIYbaSg>U|}taWkW;j%sR zNMBH7%fuyTj3?J`E&r~h^lQFH)QtHxx(ORUi5c0NE1$f`zl}Y9CkF!q&{PEppczJt b409Q^I2bq>1aDZVFJWLVVEFfY&H)Ah1mY$< diff --git a/app/open-iconic/webp/book-2x.webp b/app/open-iconic/webp/book-2x.webp deleted file mode 100755 index 6ab04b1c4d93d85b34094229698106350460e187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmWIYbaU%sU|P; qq^Fy(GXp4dbkTzmun9Hao0JKf;hK2eP2Ic~Wf4}D(U;qG?2QJqD diff --git a/app/open-iconic/webp/book-3x.webp b/app/open-iconic/webp/book-3x.webp deleted file mode 100755 index f60d2574878d2f7dd01d0108d82633a8679de544..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmWIYbaUIrz`zjh>J$(bU=hIuWD5YXI2bwl1bAcud4ls7Xl&zsRU5HslDo`b89B!(2u! l2?hxUyNO19E-H%@rN1zFbFzGCUJ$(bU=hIuWD5YXJQz9p1b8$7d4k6mSWH^-glD>Vemlzv`yJfM zNJ$(bU=hIuWD5YXJ{URr1b8e5@&x%8F6dQx`e3HyA8lK4!HErF zi~pn-q#WC8a51z`%umJ5u;7W?B&DZD?+udw{GV;RIB=erp5Wi~2itO$SG|4vkuUT6 z33jt3R~z(hYQKqLU=z^J2!C)%>qX<)NB%{-Z}y${6Pf8M5b4S=F_5J@anlTenQMGH zbhdqYZfM6}BwBSU{KR(svyF>uOdF@yq(0PrKl!X|e0Si@*edhbYV%kx^Ow`EP38r< z6X*j44InMV%rKWx%Yeav!EU9)G#6E6#TieSg1K70G%z@Le?BLf!0_)oM*{-`09J-# A=Kufz diff --git a/app/open-iconic/webp/book-8x.webp b/app/open-iconic/webp/book-8x.webp deleted file mode 100755 index c12415d393a4b13858c7465b84f5e0ce8f13495f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmV-00nh$YNk&E}0RRA3MM6+kP&il$0000G0000#002J#06|PpNYnrT01;=QIFh7< zy~FkGz@A%?}g&@ zQfWl=A8p&Vq2jr{Ly|hH(cYmYc>OZ>6upvvuS~8UlQ)EcJgeRooU+h29&MDw<-cq#2e!W3|AC60fC2UXe-`(+|J}yXoQiraN&YGz;9E?DnKre0-kdC78W_SEI~W-L{WvdmfB^tX$|=zR diff --git a/app/open-iconic/webp/bookmark-4x.webp b/app/open-iconic/webp/bookmark-4x.webp deleted file mode 100755 index b2779a0786a3156570ce69a319e60b313c0861ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmWIYbaQKAU|J$(bU=hIuWD5YXJ{URr1bDasd6Mc10t$wYU0fcp9nHOMvCqgO zTH(aM%TH(h``-Ct|G_1>xAOiiS{u4ut#)7yyj4 BHMsx) diff --git a/app/open-iconic/webp/bookmark-8x.webp b/app/open-iconic/webp/bookmark-8x.webp deleted file mode 100755 index 8a495d995798212bf13fc3f1f6081f3d952ce4a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWIYbaUIpz`zjh>J$(bU=hIuWD5YXJs3Iq1bD;&d4l2!0v?IaJVE^h3c1W__xIoE?Cd!3QjkmO z_Le+WMVARJm-q9$k5*XpU--bbZHh}&!VDHSu3uHmzyLH$K?11Lh>>9~qm}^BOu-u# Q>Pr}y3mE?Wo^yZ!0KBCm{r~^~ diff --git a/app/open-iconic/webp/box-3x.webp b/app/open-iconic/webp/box-3x.webp deleted file mode 100755 index eaa44dbd9484e34282192affbffca3930c7bc35f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmWIYbaU%sU|1LLT(FD~3H&(kxpVv2TsXQJ$(bU=hIuWD5YXJ{URr1b8?Cd4lc>7UW7Vd;9O${F?_{T^^YC zt2_EKEZ`K)a8z0J!I=Ax80=O$Omk6HR-EyKDVVF}O9O+0_vdqx2@LJ$(bU=hIuWD5YXJs3Iq1b8?Dd4lc>R^%!#d;HGy=V!|af`UKx zoa$|v#o!>Ub)m__<>7VF>!pPuXLfb5&)D;T;op}%I~#zi E0l)+`AOHXW diff --git a/app/open-iconic/webp/box.webp b/app/open-iconic/webp/box.webp deleted file mode 100755 index 07547852f91ccf32413cff33ac85733e6fd0fdf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmWIYbaP8#U|`V}OAv=Jl2Tt+Pp1`Y=UE diff --git a/app/open-iconic/webp/briefcase-2x.webp b/app/open-iconic/webp/briefcase-2x.webp deleted file mode 100755 index c041c5c83a281742c635e60a2991fcf2109b7d2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmWIYbaR`;z`zjh>J$(bU=hIuWD5W>KNvas1bBo1d4lB&1Q-NNuG_n)d5Q`$_B6Na zcb{!b5V>78**&mu@5(ef1hJU~39AE$dFn%zN diff --git a/app/open-iconic/webp/briefcase-3x.webp b/app/open-iconic/webp/briefcase-3x.webp deleted file mode 100755 index da9c3bc00c0f4ca9c305b56a2b042999d43c1727..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmWIYbaUInz`zjh>J$(bU=hIuWD5YXI2bwl1bCzad4kIq%$TT>@qAIlw!iD_4<)#` z@Np!4qi!=iJ^laZ*XY^@?E0_Hzj;zNRxWp6`&X z<7+s|{?65;@~9_w-SNxpp9_sX`EB35vDkK5;k7Syry`Yr_5fX=pa!HbF)_?#)RJJ3 jV6dBL)aRnINKyI=lQ$>Jmj;G##tsICe?QJk9bfJ$(bU=hIuWD5YXJQz9p1bE~Ed4k&)ESo4|ak|!2R@E%P*~Mkz zv2AYrGKm)*4(#YvaXnpqCj2M+?vk4G9sgG6-fo*1ee8~6(#J$(bU=hIuWD5YXJ{URr1bFlSd4m5JC``J-=JEclqfW^Gb4DvV zI#_<4V79e;dQ@Zwhw9Nbor?#is+?R_ntOZi|J=B5bGzHucl?{}d;3_{w|fg^3=ZWS zShupn=PA!_mW4%rXJ)w1Jt^KK@-a2X^8Nv{Pl>HRpL|~SHn5uG^~dj593v(>MdYaJ zvY2jMSrgN^TDytoeESx$LvJ$(bU=hIuWD5YXJs3Iq1bD0f@&wHfE|{p|YF=>u%!|i=wRi97 z>Nvrms*}O-=xTV1hfN1pX#XjVkJe0i%AP?>EYs4SeY<~h_y3y{Nf9Tl-$Vnqf^|FGrR?w@@7B)|Eb z{|2=VFV|-nxA^|}UF2{h%sJxaT7j(=Pr|H^@ diff --git a/app/open-iconic/webp/british-pound-2x.webp b/app/open-iconic/webp/british-pound-2x.webp deleted file mode 100755 index e8fb2aa1adff1a7f1cf899fb9d00cab6b2d68c42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmWIYbaUIsz`zjh>J$(bU=hIuWD5W>KNvas1b8$6d4lc-6(%il%TaJ=w5a(1uR>gK zVq=BuGOg1q1-`^uofk4*)qc8p;)lbDDmT4M4(#0hTXA-M%Z=L-O26ipeD?mge|^X0 z^|y*VEneD4y(?9&FQmH^O&f;TMGmoP9FF#P*H=Kuo$Ch1Io diff --git a/app/open-iconic/webp/british-pound-3x.webp b/app/open-iconic/webp/british-pound-3x.webp deleted file mode 100755 index 0615a120b7cfef78d0909779ce3efa3d4db6f4da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmV+l0rmb;Nk&Ej0RRA3MM6+kP&il$0000G0000N000*N06|PpNVWg~01=O&ri~=$ zckXklzI*;W7e+*65+cjoT(ashXXxQv2g*Mdvw5KGj)e>yMv`q>`)%7cH~-}JKAd|( zi0FSJSDl{Tuk*TzSmVsha{#+|WbWC7Iix=0dTnr}Rxo$e97&%#!@N^1Bo*on^G_9# zmQ;lKp{j7*s4iT4Y6RDk+Q2oW4u~`ROJUN4NfWU-wJ4>ClrK~po*A`+r}yQj4M*oe zP2hP@+X6fc|6c?dI*_3Q0RRA2P&gna0002e0sx%>Di{D506vj2jzlD)Ash4pO9=$@ QfB;tkhyVco_|F=^0Gjk`9{>OV diff --git a/app/open-iconic/webp/british-pound-4x.webp b/app/open-iconic/webp/british-pound-4x.webp deleted file mode 100755 index b970537239c1cefe91cfdba1b5da49faa6702704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmV-G0l)rINk&FE0RRA3MM6+kP&il$0000G0000V0018V06|PpNb3Lq01+>uD3YXx z*(JjZ|6-$vh{z!G%vK@xX-ynOO^oWQXja~c!ieONGQx-^V}3x4WZSg0p3QIDwx3u2 zDgAZv_TCvp^gpq5c=j^>eZAf(!B@Lr?qvW^@t#Zm25_8k>2ncgdqh31H0y&aCfhLg zsgD-YOX>#ZEwzVCpL&P+MfH#=Qxlj|s)TGsWtelSh{!k9MdXQEL*#}!K;($JL1cq^ zL!?73s&Fzt%EF`xlO{}>aII2zl`LH6)Gh+ODgS>O@E7i>V+0PV&pP~D3u+Vo^)Ypd zz>In*A;4rZ@*qbya&#j{Hxd8<09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u> S1oVIaR{@9s0RH&T8o&Uv!G`Ss diff --git a/app/open-iconic/webp/british-pound-6x.webp b/app/open-iconic/webp/british-pound-6x.webp deleted file mode 100755 index a0f26b8ed6c5999c149de8191eb5195aeeffceab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmV;b0agA|Nk&GZ0RRA3MM6+kP&il$0000G0000l001ul06|PpNK^p;01^Mfplu{a zpUm~+&-cD@h={zn<#>oGHoPOl9XthhD>!p-h8}rJ9iDBB6;JRiuzREwV0TLCg53sX40f}W zHP{VO&R|!glZILJozelj1Ih^OmMBXwp#ST|12xr9Qw=rMP*V*x)d)SI)Ds>AmMCYi zo1sj>Ec430?>x*_D625*rhJuQmA#`Zz$&&!xkJ$(bU=hK^z`!5?#P(q1=o8>EA1Ev6{%Aq2isvoQRp0MF=HK4u z>hdJ*`h^PxO6^zt4)05wKfmyKL}HmY@8PV;~TF{=VLo zIY`D+y5mLtp$Yl%`@VI*`~LarJty9O#oJj=*YOws*rq>2=H1l?7N3u5`AgnOt6uYM z+QF5d53lk!{c&gWFTEJE42fq2D{2GnbIz9h^I1Rl+e-e28$3;8+Oy(={$5L{U!oHh zSmwBur8q2L-oh<6m)bN`HW$rV{HNoS+%w@*)+*C9?9V{H zj#FB3b#aW-1;wYvO=-ubyzW@JKfq4;#f&UL!`UI?9W&(v|D|!vd=<1-G3C?jS3HWB z=ZEO?w(zXjHMwJPr}y3mE?Wo^yZ!0F0L_#Q*>R diff --git a/app/open-iconic/webp/browser-2x.webp b/app/open-iconic/webp/browser-2x.webp deleted file mode 100755 index 6f460e504ed6e1697dd49d704aa6401d1ce7309f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|*&E@P>u@5(ef1hJU~39AE$d8!0AF diff --git a/app/open-iconic/webp/browser-3x.webp b/app/open-iconic/webp/browser-3x.webp deleted file mode 100755 index bed2910f21e8c78279af55de2bf41abcc52cd0cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmWIYbaPw5z`zjh>J$(bU=hIuWD5YXI2bwl1b9RPd4l~33c0iMCKu$r<9Zi=FvZ11 zD6)3-yf-V^9-B=P(KQbJ_wt>go${~s3JMG^b5_3DJbk0El=~MoCcmy$qcakTjJjc4 zj4!Gwtaz$bXnd6KKb!U2>ipDnU1p%!KwA~mfb=CMhPjMd5)2Xyb`y>ITvQe*N`GPU V=4AQOz!1*Z!NBnE$9bs(3;_HbIU)c6 diff --git a/app/open-iconic/webp/browser-4x.webp b/app/open-iconic/webp/browser-4x.webp deleted file mode 100755 index 0a025c6adbcc5535fd26973067757d505e4d9f5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmWIYbaUInz`zjh>J$(bU=hIuWD5YXJQz9p1bCzad4ls7s7+FN`c3JS$EmBG760oT zTwPR5?-@LLps%;Pp-|eht7@j@|D2Z+b%KA@XK(2&c_+VXTkIyC+~rsF4hB5?#q1+! z?Z$XbUgv@#+lO}vqSD1Z?f()C@5?cp{XRce`+aOk=5rRHJwO*Ir~&CqObl}wwG i80;n*^|`1lQk4F}J$(bU=hIuWD5YXJ{URr1bEB@@&wN>(3rI3*{8q4ee%~+Id;V9)3w!46xze4v`TgZ8w%1Iy#O*z-53x+#PnzS?~-Xn&kGe3HTzLH*>$_Cv_;R4}~lWvB+ zitf@_cP0AMg*1IF@jF^uy6U~tlMbC~6VqP3H|x l80=O$Omk6HR-EyKDVVF}O9O+0_vdqx2@L_0xFI+KECAGZ&<&%0HY>m&q+S3zu(;U```AOW9CXqzt*3~y?w0Y`^x(c5g)B$ zlMcvKtUTsXxpBwyqfz_#ioyf;G-(@oCzvNbuWn;vc;#g**{)&zD(Tqsrq<>;Z#BC4 z3ms*8ODdndt(d{NBSF4*_gp7dhP6+e*2zd`9hChlsv04gESve?uZ+7+?m@}_=au)Y z;@0?9Y&?-su`;S%F#g94H!GmafqqiZ1JaY28Rjx-IWRad*d6qn>!zl>NSuW!nTO>| Z1A`I6$3d>2DiObyiLf2fwz9zLx|p{^yLC(6oBf>?!}%To@RDrYT4O^%^lU%w^Q#VBla7 SykVifgn_w$;ot8$2N(b)Ng-bV diff --git a/app/open-iconic/webp/brush-2x.webp b/app/open-iconic/webp/brush-2x.webp deleted file mode 100755 index 6fed885652c21d429b8e93ac877bb5802b590830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmWIYbaT7Kz`zjh>J$(bU=hIuWD5W>KNvas1bEB_@&u0`w3xKSY|Y{S7rcM6cZs;V zq#V=_bG|NponI?T-s|vf%Vd{EzXTqOsZ1XaCaRoVwQ0xU<6j@YyKnyg#Js!Rii`ep z*8kqqQ2yt!;Jhl2uenZa{;QHW0;ANgNO!zyeHPc8(P9~Tr&+_0RRA3MM6+kP&il$0000G0000N000*N06|PpNYelS01+?3sBI)k zld7KkHT=oeE{cfArk`P=zDvZ~nt4KAledeGuKOUuBkp4N>OqLlL;zwVNs6R8W@dc; zKX|5NzVhFth1S%X5Yhicw848CQ8E*HuZYlE(C@3(TZjOnVm71K*Zq3=kyjCxJuLg>8%Pcx4yREDy|r8EAYl$IA3Vy zkV~2)d`(zebQX(5Ix!_h{m4gBL#PV&+z(?gs9#BY`ovQDkJ~^09H^q uASM6+0MY^godGHs02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&T*7=pF{ diff --git a/app/open-iconic/webp/brush-4x.webp b/app/open-iconic/webp/brush-4x.webp deleted file mode 100755 index 5d09a1dae9bd75f3fd67741c25a3bf2af4f98595..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 364 zcmV-y0h9hxNk&Fw0RRA3MM6+kP&il$0000G0000V0018V06|PpNEZPB01@Bfplu{c z+En#3y5rBcnngt9$B8&ZYX!9jm1wTl&5NHf%aGsTVkwt3LHOUCiNYCSqHus1oVIaR{@9s K0RH&T8o&Uz?xfBD diff --git a/app/open-iconic/webp/brush-6x.webp b/app/open-iconic/webp/brush-6x.webp deleted file mode 100755 index 0957d1880a2e0b82ad3366819b6d7f49b36f622e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450 zcmV;z0X_awNk&Gx0RRA3MM6+kP&il$0000G0000l001ul06|PpNNfQB01;QBpluuJ zmh?XUgbO1gav^52GnVGErQu=Ec09jVn))pEV(<{QWHOnEML>*X+qAWwZQJ@bo{g1% zKp*#>{q~6>9Zb4hy)BFTw;FiKB1YLGPsRUj7 zLTLnD{7h-;gKkLal!CVKN^=JmDq9*}U?uWR*Dee@!EZXt(D~tx?D&5JMfzrO=Jq}h zXO(|5Kd$yo=z0ji@y4HX23LDuX!r`?zsOSq*AHmChhq@K^|1@hIjDOS?x23Bu!ed? z$qVg{k{3$Pg~AcqD5WX1WlDF@jwv;u^sFhILr|6}-9h_F;gW)~L1_$SY)@h4hb}Os zuuDQ0{GhPQKo_4}MQNk&F60ssJ4MM6+kP&il$0000G0000#002J#06|PpNZSDb01=iAi(mlA^55avZ1&xggO=K}=Ww#`Vl(6()xWgCrD z{+<6^T1j5tOdz8Fi5QnlONjN<=f@J_o38NZV+nEXe(=x7GGa+TGnhdfD?J8B3(zMn z9Yct#i!`>&M9?vj*8|t+I!yh0{Tsww$Qqayd7~wBNd+0Ih4AO}lBP)<@ z3>o<`4Po+*hFu63TQodFcrv1)pN4FzNQ+y6Z2O(2OQ=$hwAB+(WoY}Hg=(F~eaPyx zWuRMq8qqKqhjQxCG0Lq&ywYRD4dm$pLmLU`6B&kh^N1r+VDJ#Cu_Qvrdi7mk+vI8?J`T0V}TI~X$ByPJSAxmWZV+B%zrJiT?5ZS>y;?b7|hG}Hh9 z09H^qAT9s^0Fna$odGI906+jf!A_kd zd*AlvAJ%z{A)^0@Kn?HDkwQYB!2k(223N$*pTQTR1>)}Odct6AnkN@Br)0A6LUj(}Grf>11d^!fQVQBGVu+QLe z?7k=lKR(;uJqJgl@>xL^?=n;hkwO-d&LaW<09H^qAQ%7u05SmpodGHk01yBX*f=Mo M00VFU{`;K305SS)KmY&$ diff --git a/app/open-iconic/webp/bug-3x.webp b/app/open-iconic/webp/bug-3x.webp deleted file mode 100755 index 0f1f31f1152f6513d808143ea03c191bb0773dd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmV-&0ge7rNk&F$0RRA3MM6+kP&il$0000G0000N000*N06|PpNF4zH01T+cursUIK>;kG3)qXAI)xbe>~9Y$qfa4*u15GppF#}XFZA?HO`k#x z{bL{Q$WW&cLsefV5ZWrEOCg5#zocD)yz+j2lP-Z6+O3K6>TL+p8G%ICly}${%2fmz zP7$OB-+kEGxBUcd34DYG00011P&gna0002e0sx%>Di{D506vj2jzlD)Ash4pO9=$@ QfB;tkhyVco_|F=^0Pi}Tm;e9( diff --git a/app/open-iconic/webp/bug-4x.webp b/app/open-iconic/webp/bug-4x.webp deleted file mode 100755 index 23c9502aacf41916928408de24bd154895d69f2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmV;h0Z;x?Nk&Gf0RRA3MM6+kP&il$0000G0000V0018V06|PpNLv8_01+?3AYj`z zvt{oe{%kWA5s?eyC^(E)Qnq@V48LhatbRFBV~%cfKQdE+iPp9w(qGFJ8&hn4wemSiv&_q zt3fQ48QkH5ih)>$#qwtZm4cyxScVC-jG=*81`BBQFNOwU8DuR~%+ZV$1F;N?i#q&H zM#VrZtFt4xlA3{7YGVl9?16!SSo*skx(&z^7w7flmEJ%s-Fvz`$oZVY_3MyMPRZdu zDbp^*bfNZtS#H6tS^f?X)4E1oVIaR{@9s0RH&T8o&U2g}smf diff --git a/app/open-iconic/webp/bug-6x.webp b/app/open-iconic/webp/bug-6x.webp deleted file mode 100755 index 16c3547887da02bb55f9d39fa89254f43148ff41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 602 zcmV-g0;T;@Nk&Fe0ssJ4MM6+kP&il$0000G0000l001ul06|PpNCW}^01;=xux;Bg zjqJ2P?Egb;?1_lTqu^0dS)S_qvGVM&gB8><(NA0=9?lJ-77Bs{+uGAM`W&lDnVFfH znd`{*xBvBw{Y(1ooLN9b{}cMy!Mo$v*%bPe?3MJ-4EmAYGxBQDhbu-O60}~RvWm9p zHDEGCJ270ej^yL2<&y)+aH8?LG=vY@Nvnz zF1!oYZf_9v6xB)8!$&#mYj`<5x7S6rM`ah)@KH{$OduHpx7!_hpz=C4beJ>f!P{k| z_d_+y8QFuEY-a3BwwWNXn}2Nmw_y=AYd>uDy=tJQ%U^8#xs;;O2^-&|*?7t3bI=mh zXKe9c>lDH8T}iFn9vNE6sg+k2-YfMj)Qi+F;jzIm>a?Ud;Zan1MLP zZYB`5yN+=Kag3JdqX-7JGinCns1&Ee@Ls4Jh@<*tA#7kEj`}i$e*VSKKpcb5KlU}>uJ(2kw6=(L@LvD`09H^qASeI;01^WL oodGH^05AYPsX&%QB_ko2E^029N4UT|Q#uvVpYO zcScXjNcw<^*GM_;sF_E?_f-8ry1Juo63K2;`4GvzQuzzXuBmJzRgvm45|yYnNR)M{ z>}D9Dlp%CVDGe@^97_%mPGyI6z2;5cyaCLm|1bCZxWpEz{O@P1Od zx8o4+sd@u3{fXWYJV)QX8ONY88eWUkq*>f88eVAM$Vvq!I*(;G4dJO>EDbQ zNXy9OCRF3^88?uY(W4ba>#rOY2GUaTV;;fgvz#geX{q|W2!A7|(m+}&AHnNTYalJP zOOR9>NK5T2NQNAP2GTOvVc-)a{m;{n88ncVp*Pj1IlTvvR}|l7(JNgrWFRdAwuWB) zMVG@?9dhcN{oe~1E;t4Zq-9_O!{%G|&u8IhOS^OM?$GZRAW!H&f!A1_%b5=m`h;Dgt8{96ZaAY_rAlSp=(J*xp9U`e6yN^#=Z900011 zP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw E0MEB<%K!iX diff --git a/app/open-iconic/webp/bug.webp b/app/open-iconic/webp/bug.webp deleted file mode 100755 index ad908e85486eac9eaecc0699799c5b722a4cf85b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmWIYbaR`=z`zjh>J$(bU=hIuWD5W>I~Y0o1bBo4d4lf`ESRX`YQEw4f)`u&)Qf8? zD{WFpHgf%QX8HO~E@ieU0um;ZmaLdRQ}WjSv+TlxfBomZ()j6L&a^D8Fwgzcx$WLJ zYq;jmd?U7gPO89fQ?ALgwD^F=G5~EJ$(bU=hIuWD5W>KNvas1bCDKd4k^;SWH^-q@eugtL{I-OFER4 zgarI@1X})jPM2z$?>3{%Ti_oDkFuxP*86q$t8V;xT=T0#VbTAr+uIVCe9_HUNLzIN z#?pC=rwUf78M#?bQfyO^Y@WaKDf6|tt2-`la#u`B@p`(!`N{i6S)0m(H$OPsDT)5D l7-%ohMG6u?+K7>1E~AzJ&}D)*EYz1UFc&cV`#t9X0{|({N!0)V diff --git a/app/open-iconic/webp/bullhorn-3x.webp b/app/open-iconic/webp/bullhorn-3x.webp deleted file mode 100755 index 3eff2c140b3f18f8e911532955b992c3539b6111..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmWIYbaQ*ez`zjh>J$(bU=hIuWD5YXI2bwl1b9pZ@&xS{F6dQx`fjG=AM3rPf`Xnr zcWYj+3HU9j|1F(0dGTx+6X~M?1rnaygmlmCELwNt$$X`68yJ*+tvAS(cDrlqT4v$; z@$JXR@OqE4xuuJzKNbBI5woD*g3;U4TIb9?d*A9+k2v>K-8>juc*%Lf#P(HUlh19K z{_5za#{Tukl0Mwq5NiEkd6>+Dg>iz8FTb4*uDTM#40ILHy$WhT`VtevTt+Pk1_=hc giAH@cDvK1Qzc6`ovV3V^2xshIVEFgrywm{(00?GXGXMYp diff --git a/app/open-iconic/webp/bullhorn-4x.webp b/app/open-iconic/webp/bullhorn-4x.webp deleted file mode 100755 index 2dd634bbb3b267acea691ada90481ab68fd77f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmV+p0rCD)Nk&En0RRA3MM6+kP&il$0000G0000V0018V06|PpNVxz201=PDD3T;a z*D%ZbJ@9XI_EbbfUZ88tzH!9dORoLpHycyT>bSwgUqBoRt|Un|t-jW?@3XDi|Lz{= z@jIgb3e&b>lyux8Yn;R3Fw;u`wlbzPd`)oxuPF546Fac-p!(3Gx^Q5jfxx_=DZDNvK{9s{+2vF>9LaY^#jQjanM z+Il7Ri@o~_e+L`q6{^lx75$|E00011P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4p UO9=$@fB;tkhyVco_|F=^0QaJ8mjD0& diff --git a/app/open-iconic/webp/bullhorn-6x.webp b/app/open-iconic/webp/bullhorn-6x.webp deleted file mode 100755 index f646437e50eed8f9d5dd204505ab451f4462a619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmV-a0jvH}Nk&FY0RRA3MM6+kP&il$0000G0000l001ul06|PpNd5o-01-#Rplu{a zm+bfc{K@X#k%)+FjKG}NWj!dvzP~5ikL&zIvYLn$*5u~8#l%KRi9rIA07iCM@rbIT`TZ>)|!zq}|x9Q2ITJT{_?LWfd649@v*Jn}8031^M#a zgbsu1qnud=Qlm6%$eCLpW0cjWG>gnp4zA_R9*{jsS&}zDU1V2E`%~_$`(Rh@Jk<-k zM{e_!7K?~btms}`!PlBd8a}-w_^SEfAlQbn_SVb$P78m$00011P&gnc0000I0|1=? mDlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*pb$CZfy diff --git a/app/open-iconic/webp/bullhorn-8x.webp b/app/open-iconic/webp/bullhorn-8x.webp deleted file mode 100755 index 7a9e15df2206ca74cd50f512c55341b74db8bc33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmV;h0Z;x?Nk&Gf0RRA3MM6+kP&il$0000G0000#002J#06|PpNK*j-01>Ccpphg+ z-?RJ7|Ngx$n23lRNCl4Ym1!hYw94WiZP8_m-bF4HCL^p}ikCV6{~1+{y1T@>MD*X0+eVHgPVn4j!z&P4S4m3245b3BeA?F1`VDMa zO_BN?ELyoEEnB)FEnB!IEt|U}Et|a{Et^SpXxVf^FPo;~df7A)Ym;{M&YkHMssclC zkD>fybzhLoijX&Nmr>d#4cGM>#ug@HZG&)5>7@sN9zolrR2c;H2wV3nr9D88u;Gx> zBY=nzv~m548*mt5LY7hza2R3Qq0}0K!wAzrmC_O5FoJ{=O2t0BYci(az^^qb+wkBQ zo+#zv!LtK>TYx*yM)kk!6wY)xIJ%|O7=g2H_}S8r`!Ld9Rz1VYvAzw#$f7#i{jl;N zOT)~1^X;rJz|QE|Zp+RUe#pn$cul2ge8Z zAJvmX^^8Q0Y~$UVf4@_0Diaq+Mjg9%N5?;Zh6O@tC(j(;cg1E~6F)0|$fP4GZ-p49o=#|9;OozyJX1Stv>X diff --git a/app/open-iconic/webp/calculator-2x.webp b/app/open-iconic/webp/calculator-2x.webp deleted file mode 100755 index 9115dfb525b296659986bb99c200ec286ffaa0b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmWIYbaQK9U|`nBF5SNfRWbItkBnC9}gSRR`BsH$t$#k$Xl^1(m@7=UIg fNC0UgMuxeJS^_{j1aDZVFJWLVVEFfY&H)AhCi*Ov diff --git a/app/open-iconic/webp/calculator-3x.webp b/app/open-iconic/webp/calculator-3x.webp deleted file mode 100755 index 362f4b4db94e5e50fd49947b0447ecc8bdc5a2e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmWIYbaR`)z`zjh>J$(bU=hIuWD5YXI2bwl1bDard4l>27UW7V%kQ^8BiPk(AU;W> zBV{Sm6{o19*Z1?(bGdwpPrSXYcgoF=C)z_#c&_PizEvsXEwg)Sz_gct*jnzSr!p}x y08Lj=1DbV-iD53ImIQ+YgWW`J$(bU=hIuWD5YXJQz9p1bBD?d4l>27UW7V`#s-&@4>E)1MwbC zfw$d)EOpvc3k+|5Qr|qQ`k&xm^IO|`51-m*EO%7RVW%{+Q|!t56N>LV{}qMop53!? z+YO*O3=BX!6x4w9B_@Wsj9Ll|3Ji7=jrv?v7AZ=9Ve;l=`O?4;&e*}g@bAZYsRIlE D&m1++ diff --git a/app/open-iconic/webp/calculator-6x.webp b/app/open-iconic/webp/calculator-6x.webp deleted file mode 100755 index 320417926f3b9eb05cfef865f42f09c46e77ce54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmWIYbaR`J$(bU=hIuWD5YXJ{URr1bFxWd4lE(mgO=pd)$9&e#lE#mlxV> zT}qx=ZY)s(0&^Scc`e)1UH+tyJ$(bU=hIuWD5YXJs3Iq1bFxWd4lE(7UVKNdBFH5d&i9qj+#Dh z*R5+^rYzucEbw@+u%0bF{QZvZ7xp)o^e!y^pYd^m=lj$^%M+pXZ}q~;+1GqCye)6A zySsUMdkN4ipe+h|Kzb50!(2u!2L=ZQyMumn-PDv9iL)>z^RRqrU@&5soY~dIK4Z@V NhJRo7>}&w41^|XUJ81v_ diff --git a/app/open-iconic/webp/calculator.webp b/app/open-iconic/webp/calculator.webp deleted file mode 100755 index da0a66cb5fb6fc8ab248307c68287b21417925a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU|N_1C9%aM*FPFiv)p z?fl2}Pr}y3mE?W Io^yZ!0O$K2M*si- diff --git a/app/open-iconic/webp/calendar-2x.webp b/app/open-iconic/webp/calendar-2x.webp deleted file mode 100755 index 9d2e6acd0c93c2248f69d18942869212d2f8f0ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmWIYbaN|XU|!c{{ zdBI8M(9AnOgWt9bT&!=+y{(|h<5wwGwdhF%`_`pZ>`yF`fck(YDo6lnBSwa~j9LOf UlLc>Bs4rn)E@1fgd(Hs{0F9j`O8@`> diff --git a/app/open-iconic/webp/calendar-3x.webp b/app/open-iconic/webp/calendar-3x.webp deleted file mode 100755 index 3ccf8de25123a8de594fdf363e0b3f16eacb4d5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|&&-;8 z+o1Z4*}pZnY?%cAhTq=C>+J7Wxx~Y%?ruwOuJVH1JNwq=_)Q961nLEvs-Om>FEKI9 nWz>>jkYKQzXw>JTvPe<-3zIh|%a;a*a7LgL{{1*Fb$|f?elRQs diff --git a/app/open-iconic/webp/calendar-4x.webp b/app/open-iconic/webp/calendar-4x.webp deleted file mode 100755 index 745e3cf54209345f7e6fd4e4d778c282766b8277..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWIYbaU%rU|J$(bU=hIuWD5YXJ{URr1b8?Cd4lQ=3YnW#CEnkEyHiQ&2Tzxj zXOPJ$(bU=hIuWD5YXJs3Iq1b8?Dd4lQ-7UW7V%a@R=H%gWeY}}uv z(WPSQ#1a(X@G$<$%qON(<6Zu^q$Li8?MH#`Np`}R_>n@H_!~A z=?Z#4dJ;3kTt+Pi1_uVagMM?})RY&AvoIy|uzYD?Fk+aT+1159W6uMIe_!_OYyheT E0CE2^zyJUM diff --git a/app/open-iconic/webp/calendar.webp b/app/open-iconic/webp/calendar.webp deleted file mode 100755 index ca27b5e2ef16bd246f34c5a05a94ff55a04953d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmWIYbaP8%U|J$(bU=hIuWD5W>KNvas1b8e0@&wZlYD`jbjkY~q@WCqd`TcWE zogE(SACja#Ydad7pYwm6KWkR3PVgat0twG;Lbi8g&lU3B{qy)Y+Y*6`|5Z%ymThAz z`Pf=<*|OQjNodx|HS$yX7v5gaI{m+T-ZR!fp1AaBbIlWsBjz+*)#F@$kVkd#aTBqS zq_(7sEM^m$CA)l;BmDW&G%Q7(=Lfb*dOe=_A^J?f>`RHE+-8sS;;zl+V_*QfT|olq dQX@u&xr|x@KtBlHuuxyZz+Axa@AsSo3;?i{RyzOy diff --git a/app/open-iconic/webp/camera-slr-3x.webp b/app/open-iconic/webp/camera-slr-3x.webp deleted file mode 100755 index aa7ead3dea3561cc421ee9bc0e623ee047765e4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330 zcmV-Q0k!^8Nk&FO0RRA3MM6+kP&il$0000G0000N000*N06|PpNc8{!01@xOI+CPR z%)oQ~v-|_af{2I=WNB$&n?^BHmSg*4erV#bo%cGMCy6Oaq7y)jBuSCeFX@??QB0?K z#`fQ>-qr2>nGn(cL{jg3^}7o0elYfmdws?)RU~IV8N4BR!0^^UJePOHFDAS{JwBlH zyk?rH{LOUs!j!h5hS?GS50h3-?b(su=(5Pu|JD$zM|4Iv%8%&|H3W?lWeg`!Znf1S z3(YBG*n(E{3#daG!yL4w-#`V*80MfY{RS#f#;^@7=%-MZGKMoKyVz)&g_e{tJk}93 zPn0nsY9QA9qcbKQ=beJO%M-mZtud|bk12lu00011P&gna0002e0sx%>Di{D506vj2 cjzlD)Ash4pO9=$@fB;tkhyVco_|F=^0M6`=Bme*a diff --git a/app/open-iconic/webp/camera-slr-4x.webp b/app/open-iconic/webp/camera-slr-4x.webp deleted file mode 100755 index 6d78cfcc671719c818ab170e7cddfa2aa90c1231..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 392 zcmV;30eAjVNk&G10RRA3MM6+kP&il$0000G0000V0018V06|PpNHYNd01;=xD3T;a zSG~;pJpW3UL_|b>EG^tZi)Dj2TGMFRoQk-=^|>UL&`21LXIX^xZ1HFVVkFz9t@Ui% zw)Kr?uKW|aM-Kr+^q+y-wvDLX-uDdXN*~Wce|{J?p;X&&%F7eaAv042c8sQiYT`9) zFxlUf*fmh3x?56lKZo1O_o2bD)8ViKp62I`=Dj2J!@K(O{_;*O-s_uW&mS02YF>^y zozcodMv{IYK%rB~1|eJZtP%i%;*^1+>`7q|2o41$D65K;&8?$}(P2M~SqGPTWoz1y z~lK&9^b-jhn8iU=gZ%y`< z9;;B+pn-E%HRUcQc&ggOHG4yt^vGo`?s6sSD^kO}7qH#m*$e;x09H^qASM6+0MY^g modGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&U1kgW9p diff --git a/app/open-iconic/webp/camera-slr-6x.webp b/app/open-iconic/webp/camera-slr-6x.webp deleted file mode 100755 index 662d9cd75f6954e1c1cfc5f538fec19c3c7be1c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 496 zcmV{rPj9XAu!O5SN(n{GFs{G7|AGDj;gBw`wc}US7+!Hw;4$v2;;tC$A zFu}nI2107?;FS?2I5NOQM1vFPoFLJe1!e*|yx=?UDqWl!=C4e!ih{S~y{NfCckvZ|-F4vE-4+0#n@Q5ruzMO5vtgJm4o(if007OOKW)S2xf&?L zpmwoBe~C=o6c*>PvYIT!jFr=gla^A-Helz9;lhP(r)kIh$T{YaTr4oG(xOG(Ppv<@ z5iLbcz={4*&R9J5SyGJP%x6IF4}fumq##2+MN+ITEOtmiN_=R&KVk8MwhJFxZR?=a zv|;`X{vUqfBgPNyVYs6WGvZ^6ldN&<G7LGU5CB)!Tv#m4r3p@avhoxK;0k?-|R{#K3P&gnc0000I0|1=? mDlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*p26xsv; diff --git a/app/open-iconic/webp/camera-slr-8x.webp b/app/open-iconic/webp/camera-slr-8x.webp deleted file mode 100755 index 4d97b08f47db77da53e7a067ae8f436036d1a699..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 692 zcmV;l0!#f;Nk&Gj0ssJ4MM6+kP&il$0000G0000#002J#06|PpNLK;?01+p`AYj`z zv*q;h2kfzki2SJHj>~=)|2?MZ8a$2v^@3SPOb%KXW9ksPp-kA@D~+@@txpvC_*9iqKG z+TKgFl?`Y-L0bp3e$Jwud`$B>+Ue0=&7+OtjS&}UQ$K6YPv$Vzf*qi4Cp&X z#3@~&eU!spy&g8-!|N5e`IwH--horxOsS^V1)MG&q4}$XE?($)E}+YbT4=t5b3^Yn zoCj*5xdXjArFXgl-K7?q*P*W&xPsoG7MkavhYSp$=c$F}9J*nkhAyau<{Y|VpoT7} zh2}ZvAp-;Gd1|3~9r~JqE9ebsp}7OSGNpIA4Bev^n(yIU(|ZZ$fm&#;O6cO5p6498 ztf+ST?V}v-%GIF$9$YQMEhcn?5hsW^qbrQ4*I-_6=n7-T3otHD z=n+Qs7hqcK(J$(bU=hIuWD5W>I~Y0o1bBo1d4lH`XiQr2tcW4*kA}RpmKA4_U;H#;hOcJ**fN@AfO>$YDM$cmBSwa~j9LOfQw48W Qs4rn)E@1fgd(Hs{0DRaYhyVZp diff --git a/app/open-iconic/webp/caret-bottom-3x.webp b/app/open-iconic/webp/caret-bottom-3x.webp deleted file mode 100755 index fd282a0d838f7ee4845785bc4713d530d36d2413..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWIYbaU%tU|z`zjh>J$(bU=hIuWD5YXJQz9p1b74id4l2!0v?IaVq%!fsHMQ5z+gAgsLw@Zk)re$CT~ubFAWUgj2#RN L|9+g8I=}z`c(XQQ diff --git a/app/open-iconic/webp/caret-bottom-6x.webp b/app/open-iconic/webp/caret-bottom-6x.webp deleted file mode 100755 index b73fa97ce46b903d0e8efa564eeb7d1e8b5a84f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmWIYbaUIlz`zjh>J$(bU=hIuWD5YXJ{URr1b8F?d9wNn0tyn>^^}!_J|EDSq@sCr zDFdstLu1AanM%+510K@49*WdZ5}?4{?>os3jImyvvmzWLPov zEyF_br9XDq_Q@M)DbQ{O4WLaz%nWlGwG0>x80=O$Omk6HR-EyKDVVF}O9O+0_vdqx N2@LJ$(bU=hIuWD5YXJs3Iq1b9>fd4l2!0v?Ia zf4G@}b^~3dpa-NUF*D3%)N){OV6Z#rH`h%~d675^Q!)?Bmj(tShRK;-UFQ|5e(ngF7a~ZWb7&sUNZ&;`=VPGy``1gCx0R{jB CTN;S~ diff --git a/app/open-iconic/webp/caret-left-2x.webp b/app/open-iconic/webp/caret-left-2x.webp deleted file mode 100755 index c3c945aaefcfd00010ad43998a508ab59edfc7a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|JW+WC0gs2B@`4i&hNwuF*Q`?7 z!?9?ugy3KQPriPeCQa10OquA&7Wrg?{z;FpqDlD-3_!CKB!D`N7#Zd=Y6$?%6ue=f PzJ!6ffZ^ZoIR_X3^41{E diff --git a/app/open-iconic/webp/caret-left-3x.webp b/app/open-iconic/webp/caret-left-3x.webp deleted file mode 100755 index 2fcd22ec039957b246a808f1db60e14f8a8ba31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU|aBn$K7tlNfH6VS7iD53ImIQ+Y igWW`k2W0|Nlp4lRZN diff --git a/app/open-iconic/webp/caret-left-8x.webp b/app/open-iconic/webp/caret-left-8x.webp deleted file mode 100755 index 292b5ea669fdfc9fb6db2b5d0cd7a81213a8c8bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmWIYbaR`)z`zjh>J$(bU=hIuWD5YXJs3Iq1bA2jd9vyX0v-=LZ)o6Z$x+07TNFeb38vT`tmqa7^oL$s)8Pnp2W;B vmr=`s!GXcLb^Z=>=>Q#^c(ngF7a~ZWb7&sUNZ&;`=VPGy``1gCx0R{l*gBuJ0 diff --git a/app/open-iconic/webp/caret-right-2x.webp b/app/open-iconic/webp/caret-right-2x.webp deleted file mode 100755 index 10a650d7bca1c7eb73286f732b2aa2e3d9da062d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|NR3yn9Hao05nzb ShK2eP2Ic~Wf4}D(U;qG|{v-SV diff --git a/app/open-iconic/webp/caret-right-3x.webp b/app/open-iconic/webp/caret-right-3x.webp deleted file mode 100755 index f2788cf494a0a86d298eabc78fec523e346b016e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmWIYbaQKAU|C#=CMu`_^Pl007G6C?5a- diff --git a/app/open-iconic/webp/caret-right-4x.webp b/app/open-iconic/webp/caret-right-4x.webp deleted file mode 100755 index 2e4252158993307686069aaa508d2ad12c1961a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmWIYbaQKCU|~=9bn+y(FY|K*lzi+aiY&6w+LFOj{rq6%ioi?z=Kcig1e&R!0i=bP8Rjx- o888?y*sXM!=Ax>sIO7RZFjvc$1_lT3&*vl)82)|dXkcIf0KwlXkN^Mx diff --git a/app/open-iconic/webp/caret-right-8x.webp b/app/open-iconic/webp/caret-right-8x.webp deleted file mode 100755 index 685f193a93775d7d2360588557ae16ed65d3c3f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmWIYbaR`)z`zjh>J$(bU=hIuWD5YXJs3Iq1bA2jd9wNn0tyn>^^}!_J}=OiwB*?$ zMv;WZLkvnE-m9JcZ729Qe8v{W$t8c3+Jje|)vOIT^>xSWGS#I*@<6>nQx)`p^dx46 wxr|y43=Rx-2mR){sVOfKXJJa_VfoU)V8k#vv#X1J#-0ZZ|GwSucz`N^dKDyqv=Jl2Tt+Pp1`Y#&zyJWps4Nx$ diff --git a/app/open-iconic/webp/caret-top-4x.webp b/app/open-iconic/webp/caret-top-4x.webp deleted file mode 100755 index a3709e1c3e1b34ef7e59da63dd2f39ad46dc14b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIYbaR`>z`zjh>J$(bU=hIuWD5YXJQz9p1b74id4l2!0v?IaivokON?NU$!ntX|gVJ@SV0)qmB-9)247nMbd(qEXoIa$6mFoZL9 NFfjc4abD^G0|5LJI2`~0 diff --git a/app/open-iconic/webp/caret-top-6x.webp b/app/open-iconic/webp/caret-top-6x.webp deleted file mode 100755 index ce546e336184d41cb628fd74c97d47f5643f0484..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmWIYbaPw7z`zjh>J$(bU=hIuWD5YXJ{URr1bD;(d4l2!0v?IaD6W_my$=feJW0`QU0Z`;$iYBW#;AUUaf)Ui!XVqG)!Q~<5W;pXY82Q$dGd0lk3Qg zMv)VS?2?LEVW}-^EIry6yjd0%w9h9UXgbhd1q~oA#LO_4QOkhAfWdC1!!#FFWyKj! Zn1Z=lzBDj6cz-@8nZWSxJ4XWp0{~4+Il}+| diff --git a/app/open-iconic/webp/caret-top-8x.webp b/app/open-iconic/webp/caret-top-8x.webp deleted file mode 100755 index 3a03cd18d0865e5d1708e968ee624127d13fcec1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWIYbaOkyz`zjh>J$(bU=hIuWD5YXJs3Iq1b9>cd4l2!0v?IaI%)@2TFLOnMxSDwH7e8<1ZzPFZ?e46|?{>GjiS~2GzzA~AAsa0EZ$8wV$(yg=pqF@p#77W8Rjx-IWRad*d6qn>!zl>NSuW!nTO>|1A`I6*xCH!RebFfbP|{QEuU00RID Cxf-+p diff --git a/app/open-iconic/webp/cart-2x.webp b/app/open-iconic/webp/cart-2x.webp deleted file mode 100755 index f6bf9b4a64b4177912b833bee8f6993e85d35560..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIYbaR`>z`zjh>J$(bU=hIuWD5W>KNvas1b8F>d4k&)XiQr2tVn6*4soFm`aF_? z6B~MqZU@9|koc>4eByxx6IERQp7~?{Z>`+@y-gke)Q@g|6C)V+Uj4G5y~xasiJ$(bU=hIuWD5YXI2bwl1bB1+d4lo_H6|@-ySw+pk_vUxAJ7}L)4ElOuME-`g^k@ZKIfdS}31vQ|1E-^98Wz>>jkYKQzXw>JTvPe<-3zIh| T%a;a*a7Lhm|NS^Gb$|f?yTV%; diff --git a/app/open-iconic/webp/cart-4x.webp b/app/open-iconic/webp/cart-4x.webp deleted file mode 100755 index 155902640cdcf3953f3bcb5c96f7f512d1f577c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmWIYbaVT|z`zjh>J$(bU=hIuWD5YXJQz9p1bD0m@&xk_Doj#Q-`_dsAltvUvMV|| zawf>Py?oYQ%3s@JFyk|yiPseF`)+>%zOUIfBPMCXLdjD_@|w7dt2fq z+xHvZ_upEbI=x!p`@Um=F|XHu+L$t1)HO2HUyiq0u}|-qnn|#)lkCQjv*GR4TQ*$q znYeCQ?+s5)_U4TtXEx4T)P1ve`sRrd#oEhC7v^66=i75BrQ`pBrSA;?F;Cy&{)7LH zK_A-_{(42Aa~Xg>QBVWYmzWslGHNL>C@|PfH0pCvS)?fag~^+f;C|5>vGS(&|fjOc&j53ZrwlV{2wSFk2@p2JA@dkZ!yda%WG`)!zxAIto+SdjQ?$DlhAV1K23rC;k3pn;@Ew|wEXuN}SK;tEx`!sID{Y29}6eF6t zP#n^<3(YGH9#mr*hEN^RZ~)yK)h|$vsUAVuy3VM|ZkqV7HRe$`Yd~zwqj1)Mdd}q( z;+)GV)Df2f#E8oP>X1txV#uWr^^D62#2J?ps2kJ3pVT2Xrhz}Hdth5R~sFP_~eh%Lzu1L#}aL;TW|(xdS?Lu0nQ6A!Z8igP}rO^T8HJTKmc%(@b zigTKrKvSnd1*&HnJV13pgEOd>8dTSz3{iax<(tq%Q_%lD-(!UY}pRBRIW2 zzj{Z|d-35Qb_9VJ9}Z$i_&)#u09H^qAT9s^0Fna$odGI906+jf!A_k__%fe diff --git a/app/open-iconic/webp/cart.webp b/app/open-iconic/webp/cart.webp deleted file mode 100755 index c288d7171c9149bc9d5f4ab3d225b433864892db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|j0|%bwFH3X3Er?!U&6p# L!0_+)oC6F1+EF2D diff --git a/app/open-iconic/webp/chat-3x.webp b/app/open-iconic/webp/chat-3x.webp deleted file mode 100755 index 64c121ec6533ff0cdd7dbb933db0bf8c1ba2b5b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmWIYbaQKCU|bQu0g;3_vp#)PN>jVq%!f ns3pN5!C*JhsLw@Zk)re$CT~ubFAWUgj2#RN|9+g8I=}z`iF7Hr diff --git a/app/open-iconic/webp/chat-4x.webp b/app/open-iconic/webp/chat-4x.webp deleted file mode 100755 index 52222951ee6873fe08b7145902eff4752c086b67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmWIYbaU%sU|TkJ$(bU=hIuWD5YXJ{URr1bDaud4l2!0v?Iad+|T#k1NU!B^kmSYF^F1kQ6lI%nTp5wSkE)URy4CNPLu%b-Uy- z!3Ss#&;|t!AT7kqFqcuwfWd&lZl%LC7gc4&8Bdskxmvz7FgSRBJ|~&L@b5cE0|Ns9 D3^Oz1 diff --git a/app/open-iconic/webp/chat-8x.webp b/app/open-iconic/webp/chat-8x.webp deleted file mode 100755 index 035ddc58f4715c625430b645152e787ebf4cdfbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmWIYbaPw4z`zjh>J$(bU=hIuWD5YXJs3Iq1bFxWd6Mc10t$wYU0fcpxlU9ubv9^d zPHAvr{+IgnPxp)cjazc>m%w^PaU~pitJLospO-*@`I15uU56hPZ1|x>anO$A%Gxj`S M`1fVc&IX`r0Q0Xm;Q#;t diff --git a/app/open-iconic/webp/chat.webp b/app/open-iconic/webp/chat.webp deleted file mode 100755 index 4b53725b5464c7642a8c7df8ddecaf58efcd0422..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmWIYbaP8$U|SsLqQ@Vr^s0OH8K>|n{F*3|$)Z$>^U=X}vp}vHHxq#u{?>Pq;08Bv~ As{jB1 diff --git a/app/open-iconic/webp/check-2x.webp b/app/open-iconic/webp/check-2x.webp deleted file mode 100755 index a71c96e73ff4c14f5d63f38c2adc755f0444bacc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmWIYbaR`*z`zjh>J$(bU=hIuWD5W>KNvas1b9RNd4kImv?ld_mkSbTj{lo{QAtT? zSJu8e(-Q4Y3QL$wT9PsE=Z3$tZR=PC|B6pgnUek`{c^e4o|e_G7$041h&GwM_28rJ zQj!XHM5AmSTz4tnosc)-+k`9m87vG8KsyyAfHoL0GR$Sv5&+sQc*8<{2?KKh!@u8i H4ln=!jygCc diff --git a/app/open-iconic/webp/check-3x.webp b/app/open-iconic/webp/check-3x.webp deleted file mode 100755 index cc649f8292abfa1ae4a050c53c19e59c0226b5e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmWIYbaOkzz`zjh>J$(bU=hIuWD5YXI2bwl1bCDJd4lg3s4-k%nXWcRWKlh@nxc}@ z!4KKD9Au9s@6d_#$w-j!+_dudw%)V$=a2v8P+0VzX;RClok52=Z5%n6mQeW1yuB xK=&x90qILj409Q^Bp4(Z>?RuZxu`5sl>Wlx&B^kmfgzl+gMs1SkMmLo7yzY`NhJUP diff --git a/app/open-iconic/webp/check-4x.webp b/app/open-iconic/webp/check-4x.webp deleted file mode 100755 index 5ac01844664e72d91c59daaa3df84a28f115f36c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmWIYbaQ*bz`zjh>J$(bU=hIuWD5YXJQz9p1bEB=@&wfnYD`+!xZw-JN$~*Rul~)0>j-vpiqOxo)z=+ZEqu zw6CaE31MDYZshrQvS!i2-49|v=vB0f&iB3af=xTpcRu&b(l1jP85n@BR!{@F@e&im oTt+Pg1_cJYiAH@cDvK1Qzc6`ovV3V^2xshIVEFgrywm{(0C!trTmS$7 diff --git a/app/open-iconic/webp/check-6x.webp b/app/open-iconic/webp/check-6x.webp deleted file mode 100755 index 00522191bcc74f10b91ae5422c698aeb58e951e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmV+t0qy=$Nk&Er0RRA3MM6+kP&il$0000G0000l001ul06|PpNW1_501;22xNY00 zc9UoCdAobAAtE9hH-!eHA!z7!K8HdfAPV6Rt|Un|t+~dtZT9|mc;~SmKO_1tAW10C z*ne0#%ndDDXi*qgJd?DnaiWR5O@k7SblI*2lMWr2bn3#Sa}Op>0@$WOtHaheH3tc7 zt7!sLHOz-qr!Z+=z@$|JChgnLvVrb(>_5qpsh-WDy9Z|ZFdyc_e3%dOVLr@<`LOC4 z%q(48*kH`c4a}@{(57K%-7(B8urC_`09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2 YG4<$y?AK}w% zU0jy69c^`$c^Isxt(+!bkRa(DbInLY=h&t&W}TDULe;hVyqlcw+|4~-pCY)U)cl|5 z#d;=B=`w8_mj4EO!-6BK@2!}7?8fD&Aob?8$ER*tJ^k>N!$Iv|{WpX}yx4J2vW=^F z@AVH&H)>s^VuiN%drp>45_6jMtTS99vrgXMt|z1?U2Mgd%@x|}XSS_UJ>>Iv;w#Se z8(c-V{aE65$tP=H`Kj$vpqQ{oUVRn>_ lfdOc~f&|bsBSwa~j9MHF91MatEYz1UFc&cV`#t9X0{}=CC@%m2 diff --git a/app/open-iconic/webp/chevron-bottom-2x.webp b/app/open-iconic/webp/chevron-bottom-2x.webp deleted file mode 100755 index c46e0b42c90e82d419938f266174e5a3a49013d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|NyZ`_I diff --git a/app/open-iconic/webp/chevron-bottom-3x.webp b/app/open-iconic/webp/chevron-bottom-3x.webp deleted file mode 100755 index ed93e7a4b4c9c2b051b62086af1d8baa95192de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmWIYbaUIlz`zjh>J$(bU=hIuWD5YXI2bwl1bCzXd4lQ+0t#~`=vgZ@`5APitmd`I z;0odi5NUZHFY@0bSm0uPYwm3`ER{NMfCj_{kkk9jF~zSrjZRNby!`a$29P0{zf zIpv(v;gDyxaYw(}{oq;fr&;g9$wy48Qv#e$K6=l|zyP#eK@DivB_@Wsj9L;55)5_| fjrv?v7AZ=9Ve;l=`O?4;&e*}g@bAZYsRIlE1NuM9 diff --git a/app/open-iconic/webp/chevron-bottom-4x.webp b/app/open-iconic/webp/chevron-bottom-4x.webp deleted file mode 100755 index 95c5643d700420ef4eec2864f3fe784abfc23a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmWIYbaUIqz`zjh>J$(bU=hIuWD5YXJQz9p1bE~Dd4l2!0v?Iazxf*upT;uHnchMP3Cc)cA6ok%0l|4h1!!t(TY><}zw2 lFeotCO*HCrQCXxY{e{V!ljTbTLpWmx1H-=`=cNuX002k)LRJ6( diff --git a/app/open-iconic/webp/chevron-bottom-6x.webp b/app/open-iconic/webp/chevron-bottom-6x.webp deleted file mode 100755 index dd07e2bcf727982f5e8686ba35ac6b6306055ea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmWIYbaT7Gz`zjh>J$(bU=hIuWD5YXJ{URr1bB1;d9wNn0tyn>^^}!_K0nZyloI*! zd=djsL-RpKp|JmHbrb&j7xcccXWpJGy|8(^|N9gEQosKm>p9u$e(J_^l_`cNT{V(x zMKqFy7WI79caWSck@7~kx#x(_zT=hZDR#x8pXzi@wA`2wklbk+CgK?=;yE!QnR`nD z3^{Q3=g3UnZv=D*1JI2M8bDfznPD!YmH~qSgWXDpX)dbDiZh-t1#`80X<%^h{(Md{ Mf#KhGjs^w>0G>@wKL7v# diff --git a/app/open-iconic/webp/chevron-bottom-8x.webp b/app/open-iconic/webp/chevron-bottom-8x.webp deleted file mode 100755 index a211688ac6493e71863f9983ba75b538824c5261..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmWIYbaNA9WMBw)bqWXzu!!JdU|dD+qWbK9d)G_+Uk^isvd@ zN0V8{j5DN;%wgTEuKarY@7@>tnaw9HS+-O2s>y^sN_7V=$xpT3SLIfoTjlmWD)0Ob z+s|^jcP4T!csC1(r>=CktEt&wt;$fkoMpkgDGXQk3N2Wk;@dE>sL@k!M)yWRjYP)i zh~!xY=Sz~dz2q(R d$viAy8W@ZiCTDhavCr7^fZ^YlJv$qKssSiZYxe*E diff --git a/app/open-iconic/webp/chevron-bottom.webp b/app/open-iconic/webp/chevron-bottom.webp deleted file mode 100755 index 07412a34d7be94ed4522f86e29798836d5071098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|UIE<}zw=FmNyk-mp+# O!oXa>@bCAW0}KGDG9Nzx diff --git a/app/open-iconic/webp/chevron-left-2x.webp b/app/open-iconic/webp/chevron-left-2x.webp deleted file mode 100755 index fae05d60c636024f6bf8d12bfe109fcd26869f92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmWIYbaSg?U|SWkrY7rMAHRlYshxCM!q) dX(L94xr|x@KpO;aSg0>yU@lz`zjh>J$(bU=hIuWD5YXI2bwl1b74id7}CY6mprxwjV1~QmWVzAbK+E z^QC_u1(-t}{+!No=xXTrw>tNBn`g1)T>TB(if>roJQm_o&coE}*ud1B!Nd34^xe_! z{st!IGY>b58pYQ$GB5z`Qcwe$e2Ix+E~AzNg9L-!M58_zl|_ouUzof(S-vzdgfn(9 MF#P**Ug`h?0Q|W&@Bjb+ diff --git a/app/open-iconic/webp/chevron-left-4x.webp b/app/open-iconic/webp/chevron-left-4x.webp deleted file mode 100755 index e872a54be027fd1faa47f3b01076731d45843606..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmWIYbaPwAz`zjh>J$(bU=hIuWD5YXJQz9p1b9RNd4l2!0v?IaJ$(bU=hIuWD5YXJ{URr1bAcsd4l2!0v?Ia+Hpo-hS-wR~w{aPaJ$(bU=hIuWD5YXJs3Iq1b9>ed4l2!0v?Iaf47j+fRTw^XJLDq6HtiB^3j|^K4#0OGR5b9%5(e?t`oQ> z1+*FHCIvkpJ&BoNE~AzMg9C%zLBF|fYRZemS(uV}SiUqc7%@!F?CN5lvF8E9zb|`s IHUL!v07NNC;s5{u diff --git a/app/open-iconic/webp/chevron-left.webp b/app/open-iconic/webp/chevron-left.webp deleted file mode 100755 index 5ae13ff4bfb6f1b8789ecc0378395380355d09f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmWIYbaP8!U|s1*U7=Y#~NB~VS cVq}=hs3ib2U+{*7`Vt1_0)~IT=Nw=F00X8ae*gdg diff --git a/app/open-iconic/webp/chevron-right-3x.webp b/app/open-iconic/webp/chevron-right-3x.webp deleted file mode 100755 index 416613461e3ab335eb5c970e360c5e3547f85f1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5YXI2bwl1bFxZd4lQ+0t#~`=vgZ@`Dt{hEccWN z;9=oB%lJNCL^Xs_@Nf9-ZM=^~6c^9c@6a$fo4P7oBrrnJz`21fSF=OjaeCFBB|1D= z$G+x>&&=KrG>!pilY$zMzQn{Zmr+ZCL4v_J$(bU=hIuWD5YXJQz9p1b9ROd4l2!0v?IaJ$(bU=hIuWD5YXJ{URr1bCzZd4l2!0v?IaT)laQ_mYczav#+OMDiq=lFn<}zv-Fc>h{ jt#p{?qN=Po;|WtRSId_M1_$rY=Ohyt{(a|YU|;|MA8SR2 diff --git a/app/open-iconic/webp/chevron-right-8x.webp b/app/open-iconic/webp/chevron-right-8x.webp deleted file mode 100755 index 937deca8f94925d2205cc57de81e7c3eae5ee908..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWIYbaOkyz`zjh>J$(bU=hIuWD5YXJs3Iq1b9>cd4l2!0v?Ia**cj6Dw+{(afA IvjM0Y02&2KlmGw# diff --git a/app/open-iconic/webp/chevron-right.webp b/app/open-iconic/webp/chevron-right.webp deleted file mode 100755 index 419efe50c5a4800c3774107930b3b2e3f3dd858f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|Q76$_dgWwGd^(73< M1q}aw&pE&V0GIwBi~s-t diff --git a/app/open-iconic/webp/chevron-top-2x.webp b/app/open-iconic/webp/chevron-top-2x.webp deleted file mode 100755 index 8395b0b9949b7a3399d5a1f82cd533ff0ff62190..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|>9~qm}^Be8C$Q>Pr}y3mE?Wo^yZ!0L#fGF8}}l diff --git a/app/open-iconic/webp/chevron-top-3x.webp b/app/open-iconic/webp/chevron-top-3x.webp deleted file mode 100755 index 5de1e60bdb8607beec1cd9b2e983f8fef9aadc58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIYbaR`>z`zjh>J$(bU=hIuWD5YXI2bwl1b74jd4lo^0v;bTX37c*Hv6h*CfIH1 zIOw$GA&>Tn1&{1QCJJ2qe`LK$jCCH<_Evq(=2=AkJ$(bU=hIuWD5YXJQz9p1bAcvd4l2!0v?Ia@4Td1(;f7b17iF0&?g6?J1hsfLPtU7o1b8G)Jo+T*{rts7R{m5YU z43o}%pnUMf53ZD#>5RV=ShhDY78-5X^W@tntNjmT*P8C>eegFHXcy2G3Ti<55);E* nMlA&f1qQo`Mtv?Sixj25FnM#bd}&|^XY62L`1j+y)By$n`VB^R diff --git a/app/open-iconic/webp/chevron-top-6x.webp b/app/open-iconic/webp/chevron-top-6x.webp deleted file mode 100755 index 5bfe7ae8b329d02e512da8eb97d246bf279b8679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmWIYbaT7Kz`zjh>J$(bU=hIuWD5YXJ{URr1bB1^^}!_K0jDCQN{Ds z-#`5a_?qq5*pq%9?u>eUuJ^@$rR}-1OFq0(*}o#bY}fs3oAlquUH@B|d3EQW%}gc^ z%w{k&jm0wnh)%rEeX{wyOP+1Vnq4ewm99lBO!4oz*c_&L%=B_lkK7f*bu*3J_+Lp} z_mNzz{z{_oqxaudW}sVuu2j$f(n8D(a~ZV^7z`NfRys^`QB_u)@q{UutK~}rgM;_y PbCL-R|GslHFfafBqOVkX diff --git a/app/open-iconic/webp/chevron-top-8x.webp b/app/open-iconic/webp/chevron-top-8x.webp deleted file mode 100755 index 6438489261df0e86c693c5faad1686be08e2e403..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmWIYbaP{4WMBw)bqWXzu!!JdU|QhD+qWbK9d)G_+Z7hyE{D9 zn>l7Z5R__sp>nb3-v8ZY(iiL9@@~5o8LB&;)S2g>v;UEd`1BaP^LLjXigDl0cr*9F z=GzUgu042Rrf^=znP-J@Vh5Y$W}b-)(hdo*PKs>f2=I|`nxN$^+!Vy=n6yfK(qGSp zN(uL(gBd~_TeEj~t~ngD&a~QjPk+Gtie0OiE{BRXYHOLq1{&^KqYxW5MNivjy6E!L z@eO+Q6JP#oWCpqz=obY&AU%nhVJ@SV1A_yD-9f*(ZfeSl#95ejR&g|-9 RpRwlw!@nPr}y3mE?W Io^yZ!0J23KO8@`> diff --git a/app/open-iconic/webp/circle-check-2x.webp b/app/open-iconic/webp/circle-check-2x.webp deleted file mode 100755 index 69115328430ea22d6238f1c9d101f7aa6be67768..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmWIYbaQ*gz`zjh>J$(bU=hIuWD5W>KNvas1bD0f@&xr4s!dwkHs3z<-HQor^@4#e zE-3~#nC%YjO;G-DyU@lyrpphg+ z*K_d9Ead%LI}#BQX-4uu{abVjA--LaIH8s#(kn)iB?`fTZQDw6`6k%iE!eGh{zH5G zbO;gsPuPv|=K7J#W>kZ>zWmYo%@eqtC%un0>>-0am=6DFA+J9f*r$|x3|TO+SA~o+ zL*qyPPC?=~f618soq`k(%!eCVFPdEhDITcTSDIZpW4?_b#Usu6L%mlhX52=Q;*r+- zL!Bx}aS}mFN80ZTO{!o@M>^*XtyCc|o#?Jcv{QxBiJn32M>~yA^n7E?>AdNiLXrpn zxK)t1`9~9`&tMmJ>rU^j2{)eo=zOPDc$4A!{Fd`-5W@xl09H^qASM6+0MY^godGHs i02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&V0(2^+t diff --git a/app/open-iconic/webp/circle-check-4x.webp b/app/open-iconic/webp/circle-check-4x.webp deleted file mode 100755 index 20316f6d7f50a838b2c3af56ca9b6d02144c1a36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmV-|0e${bNk&F`0RRA3MM6+kP&il$0000G0000V0018V06|PpNG<^Y01?l@IFh6` z%pU$r3KT!`PtQs*L_|7P;BDNDI$|2C{0$32P3+7vmWKmLk`!fdcZW0FIhX$b&vx%- zhaW`rpMl%9jUwyzaKAwez0L6%<$3r#u6rb4dP%{MoW`c3)}erbeBWf9d?DaHVq63e z;m@nbN@2=}ZFN`5yQ$|Od)7PZ_jbx@A=0hYP5^Rs=_1mp5!KEBj?_=3QeA&H?r#1Q zSRDo0tZ<%8oeS@^(&iDNQm|I8Y8ix|ql8=2YY~X7GG2MHWpCgn1e=;!_)qXLi^mbB z)bG4-)?gzL%U;6AY}}y}*cgRNG|uq{*^r3#|IC&Yt&iMSgES*w>Tf`0=DyGwRT;e{ zz6Qk6+!_CqZOdDj)zL g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^07Is$Q~&?~ diff --git a/app/open-iconic/webp/circle-check-6x.webp b/app/open-iconic/webp/circle-check-6x.webp deleted file mode 100755 index b01d009fff4a571853aa7e0d07e69f83e5109be7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522 zcmV+l0`>h;Nk&Ej0ssJ4MM6+kP&il$0000G0000l001ul06|PpNV5R|01Ad(~} z%p5s`2K;OMgolX8t|#pjNlub(ewP@?8j__q#Vh5D3rUhzE`uhJ42X>+DU#}#;hCBF z@cEB-_pto8=YDpkdn}0PzXP|C6seOe9rL{bZi*M}ZhttR5BuHLc>!9o4_|cfd7sg2 zmD^Jah?*toR_Z09knlMvs{Tg>zcoQ80aXOY&Tf`evb=J1O%K>TS^Ajek)?V-FHEYj zQh(~}o0vE7lQic=+jwg`=95u5QU~mqPgGd^pSFiAzOC;nNRf&-=u@O3_PSIkik%ka%3|Z3Vh?2Tv_PrSRylkMmBx4Ao+8EZ z7RW>r<%MYgO$rppSF9<8^hRL*EI#|2NAo31{`%@W0h3zbr*Q>wj+Z`K9KyzxkGTZw zsy7#|fTM}7@gdw)e>8npAR+k_O1FZ?1cVgdBFR?xs`|5&x%*hzkF4Hr)6kMXYjk>p z*=*43G){AZy9EFM09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2=?~xKkkVO!G&y zpK<|5Xxo}{0o5kL;)8a+X82wpxTKwT(q(v#=E|66-l3K*gV8b?_cZekbLld;#s6|e zEAP;dE}N4j%&%$X9Rg7{uQ2b?$UB6hZ2sbJk4D}h6lJ)B`iVB)ArxiHBkCSayhA9; zwjZq1q;v>H*}i%}i_#$!Wn}-338gYpI)tK(-F6r+ohVyNhftK!*Dpp(hgy^^r9&vn z_~(Ez?=Tl-P&$O7Oz2M;@eU19HcE$3lquDW?cN~}<-BwVMVU0K+3p3QDC^Q86lL0M z%7_<)qNPJ9%EW5Gm=}cN5Q;Lj|HY^mB#1Kkv%|O-L`9kYddCDWh=?-d=71?)&??HD z{WT_eL5nD}R?%aU7X+fr`bPc4G%sj~GVcNPE)%_AF3QYp{PmdV1+^$Me=)yis+U@s zdxiOO#Z<4%oh;%1jtjd%V|l~{4VTco;DXK&6dzp38(KCiE?}~Owqq{f5baMie?X+@ z(D(&W>C)6Y#HB;S7l)MMk!BAC5|1jHREJ34e5b+N26Bq?5i^Hp$X&jjFk^DF1cRlk zUnc%uEx~H%@rTjxhi%xd?%%$C_N!T4^*>*4_E(V%00011P&gni0001z0|1=?DnI~0 o06xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw0N)x$v;Y7A diff --git a/app/open-iconic/webp/circle-check.webp b/app/open-iconic/webp/circle-check.webp deleted file mode 100755 index 7216bac3f0367a1e875a36503efb612ab9884c02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmWIYbaR`=z`zjh>J$(bU=hIuWD5W>I~Y0o1b9RMd4ks$tjJZ)tP+$sTfN^qVY>a+ zMnSvToEhpZ+Lx8 z?wkt$wQQ76$_dgWwGd^(73<1q}aw&pE&V E0Oa&DKL7v# diff --git a/app/open-iconic/webp/circle-x-2x.webp b/app/open-iconic/webp/circle-x-2x.webp deleted file mode 100755 index 3574e802205f5d156c9078a802aedfdb2774f075..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmWIYbaT7Mz`zjh>J$(bU=hIuWD5W>KNvas1bEB`@&w->u$Z*O?99W5PxqZ@UG}H> zhJlh&tQ))Q<^G-zGtJ!Gn>i%5^)AVnKQpm^*?+t5ZvS;%zQiZq-sY=X{#($n?Q8GH z$STEEygpH<=LpNoEPEUJxz{RTBIAW!*Y0H71nqye?n>7GDE>405q$4BrZs=Cm-D;5 z>H49M^JIUs277_-t0ibT#i~^WO`s+ju%3=suv!6(oSP c5hKG~MlAuL4+L*ms4rn)E@1fgd(Hs{06~agrvLx| diff --git a/app/open-iconic/webp/circle-x-3x.webp b/app/open-iconic/webp/circle-x-3x.webp deleted file mode 100755 index bc755004a298772f3126fda9bfc666768b28f220..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmV-E0m1%KNk&FC0RRA3MM6+kP&il$0000G0000N000*N06|PpNa_Fp01;QACX%Fx z83?(Ih(Z7c@NexE5fPaN-;!+;k)8=RJ8(+n6ht_zZ8vQcPRh)T^4ovHT2?bcME@DM zZQH1l+nb%g5KFVX+`r%3Wl@PseGDXoed%QM#^p6kGUqQ7drc1p@sIdcR|+^2corfD zKwD`QJAqDtoiqVhi5Pzo*#Mzj+UXfhPeU`|`2|leobPyg;rhil4WIty*89f&WH|IZ zExf3D&Z=ZT%{+{o*l!{G*i&a>G!xj0lrKQn>3MAwcx16}dSEwY`aff_44(egqm`6m z7t$-;=HgP$&)3iAdYTnUe*gehP&gna0002e0sx%>Di{D506vj2jzlD)Ash4pO9=$@ QfB;tkhyVco_|F=^0LLhTJ^%m! diff --git a/app/open-iconic/webp/circle-x-4x.webp b/app/open-iconic/webp/circle-x-4x.webp deleted file mode 100755 index 409607c87283fb7e5effe349c0b0a772f86959de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 392 zcmV;30eAjVNk&G10RRA3MM6+kP&il$0000G0000V0018V06|PpNHhTe01>CbD3T;a zTRqErzqN1-{_UZNh)BmB_;f*`V#_i!S0MN8y?(SRNUHSjGmO%DF zME@DMZ5yYufF3)%Jp&jvFFPo^t_bYs1~fQ(4KmcuQJO7&JqmQ+IqNAw4Wa|%Ek`Y~ zt2$TI2%Rp~Qw^f|IDWK*WpU55Z2E%F;F-S2noMYD2M0&GVarph0MIBMTpY1s+o)Y= zlnPT?w_3jt`A8x@Y?LC2Mu1Wz(JxVoBxW5-k;L}@QOJr5@sjCOyu_CDJSoOg5>d*1 zQ%g#zR^X_EDeFy{4ko~nKGdFYAL~t(4(%QQzO;g!jM{`V7&&CRraPcq zGfgjw!!*({q;tyr(@C@TP4D0~?TVXK<{mUyKMX%>+srraE3ORy09H^qASM6+0MY^g modGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&VBOsIMQ diff --git a/app/open-iconic/webp/circle-x-6x.webp b/app/open-iconic/webp/circle-x-6x.webp deleted file mode 100755 index 04429c5a87e2ffb73baee5611e345fb4d144ece9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 zcmV+z0_XiwNk&Ex0ssJ4MM6+kP&il$0000G0000l001ul06|PpNWuXC01-#Rpphg+ z-@W_Hui^b`JTMUvIV9zvNpY6)Q9m(|Eu>0X;*<8rjT9*xw@DAA0)lMYrlT9%w$))f ze*cGe{zD4xJMWDkqW=!uMpC4%WbvSm?+v6+w7ytv_m|6lyPDS`WSU_Ahc)@`1x&W$ zixUHJXEAikH+C6}Gx9>F*KCmg6ku7gQB+B5`^JX3H8r-_LYnf~n~k{@1=EVHIRZJUl!W*=Uw;-yQmvf+eWCJVlL5WN`!Cf}IyFsxJ#Wu@%F_4z zAwlmc-E4R*kd&s4X%NX6Z(cP%QaqY@c%0QH`Dfy9f{=KJ4!WfV9s(2naFH!%V)SPx z(EYm0NA8~;Kba<6oh~=K^Le*fPAegx761TNP&gnc0000I0|1=?Dlh;r06wWemP92Z aA(-R>QwoIifB-;C^UfJy0RHy~fB*oqwDa%) diff --git a/app/open-iconic/webp/circle-x-8x.webp b/app/open-iconic/webp/circle-x-8x.webp deleted file mode 100755 index f7f42b804b21d5d7ba343f9841a7875351360245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 696 zcmV;p0!RH)Nk&Gn0ssJ4MM6+kP&il$0000G0000#002J#06|PpNL&H{01^MfsEs5? zSJju}@AyNV-6atbInhF`G#BC`ezspyhB;K@2yU!^?rMt zTpS~-IP-;Pusr4G99v7#{TB#%+Kbp&8csK$;6D}BE(NxKpyYeYRXKeH3tUVoTx-D! zjaBJVpa^ReWJj43SmfA9JcU(id;%x1%#q6te})BejO*}$6;G#I@PWpphXL;8S}sFK zxdLy_-ND)B>KP+U*_bN4*&J~AhpR`#XRr^KuSox-`FaBp$S2Wfw87Wo!u6@ai@z{+ z*%#E~!u1K(;l(ZyIWK~Kf|Lyj=g}dW2lSB(%n}u#iC$!ho}r3b+|xLqi&kKC3EF7I zLJHbwMf@1rXvN_zRIwm#-XWxHEQvSyCsx_m5zP+7l#Lb9_J4d|Y50D~tM3=O_WgBx zkklFsY7<-3TCZ!fFs2pIW`v%!YI8@FSF22hXil##Gepj_UQHgT%bs8a{kjqM*`Y3x ze|S+bY&|YqpWhJmU_N@QhO5Vg>l5q0FVSx<0zJa@`3Mg@mRsX6ZK;CJTgjAEiqVJ0Y@!Gn>8V zx7=lB$S$J`@xz<9X1m>Zy*`L7jF1=r09H^qAT9s^0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>I~Y0o1b74id4l^FXiU1&@w83dPswPXzOdj# z6AMN^yV(czx<5*D-SP;UH}n62{gu@5(ef1hJU~39AE$dSq?N1 diff --git a/app/open-iconic/webp/clipboard-2x.webp b/app/open-iconic/webp/clipboard-2x.webp deleted file mode 100755 index f9a9b81b955b9ffe2cf59a0537b739bf938d27a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmWIYbaSg>U|4G;b)R!J$(bU=hIuWD5YXI2bwl1bFxZd4m293la-k1iTIZiVGez-W_(p zY};BF{&u#G%*j1MId8Y`epl%7UvyjUZI79<{Rw6jZ)QA_o4H|A`HN1Eq?ITvQe*N`GPU=4AQOz!1*Z!NBnE J$9bs(3;+eYINksN diff --git a/app/open-iconic/webp/clipboard-4x.webp b/app/open-iconic/webp/clipboard-4x.webp deleted file mode 100755 index 0de8d1872015d08b5a80322040ff8a63d693f08a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5YXJQz9p1b74hd4lc>)EF4eGD<$ITGHLY;bVTf zAy6f{*Nru5LW9V;jE-H!Y2PI-*0<)~HY+N#`nO<$V2Maczr^uE!}F6xL_WKG`_x={ z>wW&>mGv#TyIB|*fHoe0-kdC78W_SEI~W-L K{WvdmfB^tc4mSY+ diff --git a/app/open-iconic/webp/clipboard-6x.webp b/app/open-iconic/webp/clipboard-6x.webp deleted file mode 100755 index e3ca5b083cc24711c9512918d98eb0c2e63269f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmWIYbaUIsz`zjh>J$(bU=hIuWD5YXJ{URr1b7qxd4l;17UW7Vduw<2qU7g;9UU(7 zH)focmy$TT?dr3Y2Ux^5G;y>fFi5ZY&&RKN(s=T{+ggkMbKTySJEP>hwE?fV$Tinx zu`3tGcRtxDWNBs2$DB~JPWq)1Z5bGVE>X|` v+AGA&FqcuwfWd&lZl%LC7gc4&8Bdskxmvz7FgSRBJ|~&L@b5cE0|Ns9Ki5c& diff --git a/app/open-iconic/webp/clipboard-8x.webp b/app/open-iconic/webp/clipboard-8x.webp deleted file mode 100755 index 34f5b0f4bab44a72b8411f1027421a25b778dfd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmWIYbaT7Jz`zjh>J$(bU=hIuWD5YXJs3Iq1bEZ|d4kgys4+}v+ne;ENa(~r-6gIr zDmsz{?SFpBCRMFg7UZ3!}U#z^n>xKQTZMn+JvL9M!*t}bH$|#CYKj1X?Jm>C( zM?>CvMe$f=Xj;$Wa{gU%NFy-l_=moRg>H5VCFQ+03~zj>e_THIy4vmyXWzN6>S+Cu zXOtiqSHjG|0Cbmv9?%t&m>K3WYB?}CFxVaRo9m{gyhxmdDVc}mO9O)u!{p4aF7_FF O9x(j-vS()lP&ELa=u!j# diff --git a/app/open-iconic/webp/clipboard.webp b/app/open-iconic/webp/clipboard.webp deleted file mode 100755 index 511126899799d2c7de3da5d4f14a3310e596db0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmWIYbaTsMU|M>$un9Hce!N9>Fc*8<{2?KKh L!@u8i4ln=!WV$2! diff --git a/app/open-iconic/webp/clock-2x.webp b/app/open-iconic/webp/clock-2x.webp deleted file mode 100755 index 4b14727d0ff55bfcb13971b149dc7d95b5c12c55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmV+p0rCD)Nk&En0RRA3MM6+kP&il$0000G0000F000jF06|PpNXGyG01>Cbpphg+ z*K_m?7T(nRcd}q2BC^o&-c;=tA^aCIQlD(^476ac@QTA>8%c`P$9&Js%zxDR$2L2^ zpF>3d6WZV2Yq@WFu>4&|t6O_8{*j-_z?0$h%YzTu@sYvGpIoEgeKLqsyIfO>%dkPuzy5SVRB!!uC+3UVJ{>rK? zu;w#|Rlc}@cn5xGqd>;X>%P7NaWlMl{X^?8b(^>pHxtuOmIj&m?>^cZ20#%fW3LHUI!t wP&gna0002e0sx%>Di{D506vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^00Pjup#T5? diff --git a/app/open-iconic/webp/clock-4x.webp b/app/open-iconic/webp/clock-4x.webp deleted file mode 100755 index 103a0db6e69cec1ceeb286bdfd9e97b98d96617c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmV+b0{{I|Nk&Ha0RRA3MM6+kP&il$0000G0000V0018V06|PpNUH$=01?;1Dw1R; z%q%$w;0ymQU&2E~WziwDo-|6_$B!G}?*Y!vwcf^6Gntn+Q# zw#~M!w9fnolJk<6WC#)cPXx@Kf5mEDw-)<6n?Z!NuNDKEAFBwNeCRU7xt~DLYLXEW z%dj`g^ip>_bK~y(&V7bnX#@V%3QhWW6xQfzmZr1}Z!$^qJ%zyOADZ|C%md8>LZ4}F zp|vjc4c|yz75INCX9eyTm7ap1>cc;iquw#wqE28@eOTvIWBQy*jl!b(utu}g$rp78 zo9e@Upx$HD4s5CqdzbpJQFE}VKI{dm+NH)}Q^PG-6O_}X#$gYr#y0#DlvAVTVIOv= z_7QvwR5eEJAYi{kcX$Qg9`*l8-6QCrH@t@bk$O9$GNTB(yoP@)M;*^JsZ&I{pc+&7 zpt945Fk7Hr;jTK=4N9rkjZ5n_u7nz(fs(zzK&$jW1oVIaR{@9s0RH&T8o&Uy CIqSaw diff --git a/app/open-iconic/webp/clock-6x.webp b/app/open-iconic/webp/clock-6x.webp deleted file mode 100755 index 33698a2ba6d47d7c6126b3d3d27aabf660a09819..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmV;P0%849Nk&GN0ssJ4MM6+kP&il$0000G0000l001ul06|PpNJs(z01-FBplu{a zzsY{@{K?L-h=`m_?WPuk8;!fgA!&nU{|;X%7A<@3a|1g7y{wLh!$?4-~n55z7!|9}qqW=1oj@Px10+o|3bHvAGvJ8miCSkmGOT< zHHVF2U|UihJau4B}plJa8Mt@TB0N&C4l3B`pknRpoE{4798Fc^=%2+Hs#}iGKI^#qI&m{ol)*j zDd%u{SNwnXVY#H7Oemjldv{FVeb~Mz<1$qj?$YzS4_l8az$@h%Is6pX8_EmPHN`Yg zuxThOq<&0!K*1+U?Bnm4YJoy4sw4cDW6HLL0-YTt3LyJbzYXMW{!(qAyf>=fHga}; zsa`zjT12&5BG+n16;_cQ8tTUeoXscdqz~JS8FSr(wRdBfnZZ6wnEkw%wS!U`v}c!J z%qBCq1`!K|eYk6{EbvlA9&bNp&S>KyXZbj0j`%1*0e|&E$IHq`(O`Uf{}Co>_;G(S z4&Vj=09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2gpbTYsxT0eK_aPn07IJJSbhO}#=d>R~ zGqRGp4+Pg3>^7P5FflT6HKW4HOMp>xYyXG?WIK31w?Y`2Y>2f##92 z|4exX4W)smP5JamxeE=Yfo6~LBcqI=p)}CMl?r7(x^JW}>slo_;f%0F`m--PmDgH|2dtr>sJA$$#5>qscCpx#-U zLwK(#zwmQGIW0rIe+X|lr5xd>L92}d&uP{1n^2}@6c%QbU-;|L8ltcZT5bGAGs@LA z3aS~(S&080tt3Pt(KoFwL^PrG6rh0Mg;o|qp3uHQ0k^b|V87A636L|mrTq%W=8X1J zh+NSN?b!xgEjp5I z>3j^}5ANxiJhu1ZYU!sM?{yw0^xOqd4OmzY+SZJP%=V$*d}9Hx8_0E>F=uv!yisq) z9J6kS0-|<8J$(bU=hIuWD5W>I~Y0o1bBo2d4lH`C@?fA-QIfW*Z;MWf)gEr zBQAXBcU)r7B&-x+dgViNqKc>2v%9ekf0R|bJN~hk)xI~m@p>uGbshhcM?QK+x!SHj zlKb&IL(`SByJ$(bU=hIuWD5W>KNvas1bAcud4kUuSWH^dV*KZ6jqQH{PGzN_ z#vP6PrL(NkSe7%oxAlLx*p#Spa@n_sx34{ue||lgMewh`%cnVmCf>2732Zh1ayOf1dujjWSGmS XB>;4b;0+7)B@E034F7)5Iluq_ImAQN diff --git a/app/open-iconic/webp/cloud-3x.webp b/app/open-iconic/webp/cloud-3x.webp deleted file mode 100755 index bb1c6ab84b04f72b8dc6a2578c55a4096dceebf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmWIYbaQ*dz`zjh>J$(bU=hIuWD5YXI2bwl1b8d}@&xA}T#&2cKK;yhuZN5_^)+9`+on@iY_DVScf*6y!%g=Mx#P|#cej4v)7i91aOUE#vp@Y8x|PAlzyNf)f*R1B smzWslGHOXMNHEw{j8iu()WsZ&#pS|bwDeZg(&1AR@f2`v+qRNy%EqR_7VOUb z{~u<1%;$*yC;m&i)}9?s(^gf7tiIyiq6|T*$%meTXKIH}JUnyww1mgG1E0<{Jaj3j z;NgUV2JXyow5Mc@8zVYWxX0D#QI2cG7jQ9;e4%gR6!N8Y5hK2~%Dj)zL g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0J|c7*Z=?k diff --git a/app/open-iconic/webp/cloud-6x.webp b/app/open-iconic/webp/cloud-6x.webp deleted file mode 100755 index f9b1489c73e3735be2480b6a1aaf862282c4b671..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 362 zcmV-w0hRtzNk&Fu0RRA3MM6+kP&il$0000G0000l001ul06|PpNE87801;=xxNRFr zBRk2S|Hby-=v+laL^jk-WpvT&M-KJq=u?PNa9IpfR`-i<)KT7qWk!l*2PE6JO*{MB zwqkzUHg^Bp^OfY>Q%W(S|B3&ZBk|c??056_TigZ(_sf#MEFPUOv}D)(W151Ivqr(Y z6>?XfqN){AdzZowNWUmfK^CHX>V&9Ag9k{0G+Edn_@+?|f)R~g@w>m!nCxiQ!f)Qn zk>)e}l3r6|i=SC4;YXTUxc9E9h5HKCI$>P>N9vuPa4Asr8RrIdqnJ>4VBJwUv7>T% zLgitD%G*4ZH@*XP2Pjjw2+xYD5u8&eDmHP=oT#=6;FerbX%)o1r*xo3Gk{;bx%zlZ zlg*$Q!T$&V09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2P z|Np6!Ufw;YSFMQtC;m4)+3I9>Gw4YHWsXXcGnukz$ zLDwA*B;p5JOntDAooF@nz&5z2WgE6*TIXR`r2RDn8~>RCZP-*O@r=N|_e_yG+~+8B zg!?{)(r|sGPz5dmh2H9FC^f>zc<({cEk5{~hQe1k$2Sx=a7>-40H^qw8gTG!r~-#3 zb?`TCsI$u9caLhL0KNkc>TSdLDo}In$Gb<>F5WBZW^kqM9EQpXL*?3)%JUVKPhBdT zJe7_ALERI&)SV%2s9MImLCsebZ{M1V1ANEMRJ%v;lRQ%^kKeI1bxQc_s~gJS^KguH z@05KFqWI*`cb6AK5p$ZAqxdfX00011P&gni0001z0|1=?DnI~006xJ^okk`jq89`L cV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw0IO8Ro&W#< diff --git a/app/open-iconic/webp/cloud-download-2x.webp b/app/open-iconic/webp/cloud-download-2x.webp deleted file mode 100755 index 9cdb9419c21c6d4554c15f620a402901a49557ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmWIYbaOkzz`zjh>J$(bU=hIuWD5W>KNvas1bDOnd4k^;C@@T5*|7U{!+&)nWhEg4 z#r^)fg#GTf7f79CGo7Hiu<@|jB$1W^);*x`zYU! zICJ8jP9DeP&pNg#zcz6d`dqjB_S@Bx{rr~2!ZJL^jC(6=4GsS22)8gL{#dYJfup0Z yVX%hiVkh4~kyl<57#SFVu2YZzy2Xf*VJ@SV0MM0!H!RebFfbP|{QEuU00RJUvPTI3 diff --git a/app/open-iconic/webp/cloud-download-3x.webp b/app/open-iconic/webp/cloud-download-3x.webp deleted file mode 100755 index 0ac4aa07dd5071467f295a84c8599b50be369322..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmV+}0nz?aNk&E{0RRA3MM6+kP&il$0000G0000N000*N06|PpNZ9}Y01?;0pphg+ z*E7e@AmIJ0L=h2@fuE`d-pItAFLKWnDi{D506vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0O9$5 APXGV_ diff --git a/app/open-iconic/webp/cloud-download-4x.webp b/app/open-iconic/webp/cloud-download-4x.webp deleted file mode 100755 index 2f164c7315d59f0af600efd2e4e8c19be9d4b233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmV-c0jd5{Nk&Fa0RRA3MM6+kP&il$0000G0000V0018V06|PpNC5!=01+3$rjaB^ z*R$ut`{?--T|*)wvMET}w~-rKKZ8E?rd?d-dbrMV&C8_J8JLs80ZWo>)7HASZQtjs z=Xc%npVeM^`j6;81GjA(Np^4Vdj;vHS~t7XX}fI3$!Gfw!k4;dF1di}Bw{vt3m7r! z!?b2Jd$M_s>5Sm8p|kNYm)nZd)zMR|`CMXlh0`PN9sDw8_$EbT>tR$$$4i4fnD<4Z zsoq_InE4%;UsYP^^PxNkFkdrAl~LF?%6^C;xZSf#g@`)GkMK{G!F_yENfXg0@J>WY zaQ9=CaBlqqf!yVrJdmM+;(wwC!`^q(`^K!JjyP(>QAZp#;;0#`00011P&gna0002e o0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^08jXvf&c&j diff --git a/app/open-iconic/webp/cloud-download-6x.webp b/app/open-iconic/webp/cloud-download-6x.webp deleted file mode 100755 index c25726c9b2d84283e0e10244939717f6fa975dec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468 zcmV;_0W1DeNk&G@0RRA3MM6+kP&il$0000G0000l001ul06|PpNPYnT01?mPsF5T` zy3BUE?;U@x<3L12esFOl%0vGuA?lx&G&R}!Mj8EG<>7|mrHl6* z<8EN}92Ob>31jAuDgIHvz(lBiVYbzU>K z--_Bit%G-l`%pV(br-b(TCZmeH=y><>Mv?dwEhjgUuLQz4{ z+Jl=438|2f3JIx@kO~Q@5HEBJ{6d!?M(7a434?-IVL%WsGzBSyh9HfwPLN8d1nGoT zK}um+kXFiY0RRA2P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy K0RHy~fB*m;IMRmz diff --git a/app/open-iconic/webp/cloud-download-8x.webp b/app/open-iconic/webp/cloud-download-8x.webp deleted file mode 100755 index 4986f4f88ed8b430491b2a87b70eac3230d63e76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570 zcmV-A0>%AONk&F80ssJ4MM6+kP&il$0000G0000#002J#06|PpNZtVe01-FBsBI)k zJ4wy`TmE2sSVTmA7E%!>J&w+#Mp5~%&2GA+jgS;NfC zrS$KAN$pG&$?^sw`kzRvE$!aCb&6s8?P_PChVa>=Usiq}Od)jUl6G-2jM zf+im5KB*yM=7R~h4Wv(hGwHU5)UkIao*?y_$s0)9VtRWVDa{`S93y3i5&bFn>pu+H zhkuPRU+|wZXaVjo2JOJn+B|z|7mT`sIdj%y=qrrILBZfQs;6HVUZ8UBhZ#^c{lgrn zXuL2BDh`+jdZu8~$NutUeK@te|4Hk44dpYYe6H7^Y8#)lu3GqO^_XzpL}l}W*6RdD zn@l)>c}VNIiQyUj=WtxmI>qpb?$0J1%`aMuXw$s`*Cwrd6!d=7pqoSJ+9$2q0loWB z8{Zs0E1RLDk!Y*ffbg=|#FMukveq99$E zB#00u2x5e8L6p!bh!eU5kwS+cR%i;Mg@zzrSSiRMtPtc8DnTw`Nsv$YC&(!r3i8Sj zDF6UgP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6 Ixqtuw0BD~6q5uE@ diff --git a/app/open-iconic/webp/cloud-download.webp b/app/open-iconic/webp/cloud-download.webp deleted file mode 100755 index bacc3f38b952160cac98d6b4f6f5017a3e61e78c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmWIYbaU%sU|a~Py`|UD^3uudfI}T~3=S2i rpWjfE&H*$FXp4dbkTzmun9Hce!N9>Fc*8<{2?KKh!@u8i4ln=!Ae%7h diff --git a/app/open-iconic/webp/cloud-upload-2x.webp b/app/open-iconic/webp/cloud-upload-2x.webp deleted file mode 100755 index 8388e8b268ac3d55c08a0288f40cdfb0c9fbcd81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmWIYbaUInz`zjh>J$(bU=hIuWD5W>KNvas1bCDId4lH`Ea+7+E&p)FhsjQf$zZSl zs@&^V(XA~uR*Mvv+ZiuxzUo%$|c>?ihZU%#GxN@Cco3I1BuOO~Hv zy`7i4iuc~$tF7UwQH64|g%Y)%Et40#@-0%NC3D6n?wLjx7dNd4Q8Ehc=YNU=FQ=vh12%`=LCy235X_*e0;Cm@e$(Y@Yd7 z8g5>4xTRJ1^7*IFF-c)V5$DcX8CG@MU^T1dyi{JCfzvlfp4MCk{0^{@MtP4$jHDnz zkxrx&>*VMZ`O_p>9AAARH+xPj4*&pGP&gna0002e0sx%>Di{D506vj2jzlD)Ash4p UO9=$@fB;tkhyVco_|F=^04|Pj@Bjb+ diff --git a/app/open-iconic/webp/cloud-upload-4x.webp b/app/open-iconic/webp/cloud-upload-4x.webp deleted file mode 100755 index 6d192b420a1cff6a1594d29f809334c017ae336a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmWIYbaT^UWMBw)bqWXzu!!JdU|%^}c?L0Ph;-tr`ImP+fC+2FO?dC2#_}J;r+i&-!_Wbr> z75rQNU|X+psAG?Xkm>iWE6O56R>N^vDxoK zEXiNBO$S}d?Ph$ClS^0BsZ`IWT z`VQ!C1vMajiHTt@qm}}L0)yQ|qdpgvMT*j2n7lbzzBDj|Gj=dA{QGfU>Hq@(3v7iQ diff --git a/app/open-iconic/webp/cloud-upload-6x.webp b/app/open-iconic/webp/cloud-upload-6x.webp deleted file mode 100755 index 25ec891a77cad84f1a651c691ae70aadf786bd2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 zcmV;B0dM|NNk&G90RRA3MM6+kP&il$0000G0000l001ul06|PpNI3xj01-FBsEs5? zSKU3A3Eb=Wv)lwCB635Gu~#Vl=uk`PV{ZzV5Z&mKU;L<{x=EQHnsydIawJKSlryu; zOvB8~%<=y>Ep$huwD*YqJ8;{^kt}J;_4|f#oWB&h^WApV&OXP?fveOK0nFnU>Q&@@ zjSwcUS{HQ?ke4!-;@vIPYfdy((zpafHx$`04h*XBO%)@x4zaLL|+a zLY$8_<|7?Mw{)~Gdp6$6m`rfkAQRkt2*u-++v_bKKsm6Y5NFv~;-NoVCQkfMhXjQL zg#@L5xI+$#0da>M6a(T8IVcAGOYsZy;~#7V01I;@_p`J)a++N((kDg$00011P&gnc u0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*o9)T|8v diff --git a/app/open-iconic/webp/cloud-upload-8x.webp b/app/open-iconic/webp/cloud-upload-8x.webp deleted file mode 100755 index 3d1eae960e25d8e7797722eca4a48d4bde330655..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 534 zcmV+x0_puyNk&Ev0ssJ4MM6+kP&il$0000G0000#002J#06|PpNV)+401@}Wux;B& zjhv^w|8DwSxdDeRh5Jk#y+{jNjsPglx+=PoN{$9#UIH^*1M^3_G9~M>U z&9vkqEUHgfl>Lh{c?gRd5*B4XVX3V$VNqj*MOg=kQWHcS${=b`CXr7Sh-|7zB5vPJglnN6uDuIYlDTJR&BGNR0YMMYbO`w`4P_3=8HmW^n z>>kzDTN<|3P;dRA-M?Rh9{>PWP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJ YfB-T8lWB^I2bjFz0RHs6xqtuw0MM`O1poj5 diff --git a/app/open-iconic/webp/cloud-upload.webp b/app/open-iconic/webp/cloud-upload.webp deleted file mode 100755 index 8c2f376131b5f0e05c3dfa806bba30d3e581e36a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmWIYbaQKCU|=1YB^NwCTLh>-aZ!_jY#tQ&;(N+omKy`_eMooKroMQ;T=Kc-EMf7O^bt o4=XDJ1JDKq37~mKj0|%bwKy0!7zA%vs4rn)E@1fgd(Hs{0M#!sg#Z8m diff --git a/app/open-iconic/webp/cloud.webp b/app/open-iconic/webp/cloud.webp deleted file mode 100755 index fa25a34ee78b2fe9d5384cb369291f7d2ed4fa93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmWIYbaQKAU|soQCNQ;6t1eK_P@=c&`8alYyA5J$(bU=hIuWD5W>KNvas1b9pZ@&xM-?#Pw)oNWE`?AG19IsZ+o zmUVTUa7$o1UUKNXdwLy<<<=QTdh`5WvMifjAmO7YJKc)*#1JlzA$UyzdddTyN>Y`nV&Vhkfq>sLVB%o%GSS^ z{yByCTPbcUdB0iTb~V54dS2W9M~>f_j{frfz0m{cCm^r%@ve<4O4ygea|P&hyYGidzn%a;AOALA^iUY7ogiy`~|^Y6)sU z?>g))y+5F1y~&k62dK=7{!hr*iY|~nI(=s`q1!HXrQ`5Q$L&8I?_D}>qD#8Di{D506vj2jzlD)Ash4pO9=$@fB;tk MhyVco_|F=^05U&_9{>OV diff --git a/app/open-iconic/webp/cloudy-4x.webp b/app/open-iconic/webp/cloudy-4x.webp deleted file mode 100755 index 6eeda49b809bc0288945ed38020e19f3909ee946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmV-?0fYWhNk&F=0RRA3MM6+kP&il$0000G0000V0018V06|PpNGAaR01?l^pphg+ z-!sol{ONJ_R2qz>w8WH5&ci-zRTKRyXlqAJPtEUJ=E@}FUL##&Qy940`UqiK8!(~jCa z3^h=pWyT4^fZ7dI_cv`aFchhD9(+(AX?p_wxO?P)7TeNx-ft+`Xj5{PqvSHVr(7Lb z%H6^DLz$)zia)!ja5D-$k!h_du&m$tpa1{>09H^qASM6+0MY^godGH!03ZN9kur`% aB%&c3^a4u>1oVIaR{@9s0RH&T8o&UJAEZ41 diff --git a/app/open-iconic/webp/cloudy-6x.webp b/app/open-iconic/webp/cloudy-6x.webp deleted file mode 100755 index 650df0507b178a5228efa66703834db4513bf2af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmV<40U`cUNk&H20RRA3MM6+kP&il$0000G0000l001ul06|PpNQVIc01;2ZxNRFr zYblv|?bUy?nJywCFHed(Op$HwV2OkM(`-zagDd6fakjWzEs|!65fEhCG9=e;T0*-p%8(4q(P^8 z1kNQo7UBBL@J;LE_B0WJV{*Z;&Qly-Ukqtoz%#m}b$$=;ds^Em_!np^Mj+6mHVm0R!5UCkXV8)@Ius(XEUEuOOAYB% zkHG9xTP1Of_32oI`Oo9%1zL&DPcUw{3(DuvujoEcLXS+Fd6)xwe8R}Va!H?M6b>bN z-N9i(uYcHcAMKfDYU+X zo~Z_u=$^omeQ!+_eYWGu4UPZ+09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2Q7(?ffL2vB@S~bUj z&sGGzUHZp6F%+Ye-j7+R&e3~Qg6;-=#}Sk-={bNLEo@%B_T6{y^W6(K!}4+RJl=k&XSGW?EGuZnE6F=9}!0WZa6WGnX!K8WBMP`E^P;)6M^W5{pJ zjwX<)r_6O7LA+%40GZMoa~?okXXc}h%q4R-AkFZvyE~0+i}`zHNbmgqT8SYf9V+ZY zS{rS}5I3kXszNAELN0WuvW@U1>U<&mgi5mr{-V+b0*cL}$DX6s1-uhSL#n>O6Yn}I z_aIL^Q{6$F?$7|zM28j-;%Ayb*rg4!6OJ~IOZb08vx_2ri$mJIRPfWJeOY##=oa-#yYeJ*2T~(AXtI+NL<9?JXu8P1o_gL(6du-|-U-Pw`vt z&}>k}-&BWI4g9Y^(PkCdc-v8b(12J!98!0DT7xfX96od%Ra|J$(bU=hIuWD5W>I~Y0o1b9RMd4lH`s7+FN`dy*wl!Y4S`}muC zyE{DGtq$(^VpQ_*H5%K!iX diff --git a/app/open-iconic/webp/code-2x.webp b/app/open-iconic/webp/code-2x.webp deleted file mode 100755 index c3798391fcd3e9e049443b41da31c5c2cac311b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|Ri-+-{5lZi%0- z@tG`W-dG{krQl|8Dz~lUpL$)>X%3fWtLsPav=yws7+AyB<;Wrakr}8PXs&_;kTzmu an9Hao05o6lhK2eP2Ic~Wf4}D(U;qGVi6lG# diff --git a/app/open-iconic/webp/code-3x.webp b/app/open-iconic/webp/code-3x.webp deleted file mode 100755 index 3ea181a4977fff97ac2d7e37d516b2fb5bb6b9d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmWIYbaUIlz`zjh>J$(bU=hIuWD5YXI2bwl1b8F^d4lo^0t(LOJcI=ux!ty|J*N2b zPL~6d*rxUBe8)ZraIS1GoEz!n^8f0#+`~6!CoJE?So_UAC}L9H><9I_f~)M6QV!m? zC|aVxaYl0ukLH>QhxU6uyuGX-BIw5aDTkVR*Z<-H+5xm(K@CV>Vq%!fs3pN5!C*Jh fsLw@Zk)re$CT~ubFAWUgj2#RN|9+g8I=}z`bR<9y diff --git a/app/open-iconic/webp/code-4x.webp b/app/open-iconic/webp/code-4x.webp deleted file mode 100755 index 85b7e0c08a28c0f43b301bc834195da3f768bab8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmWIYbaOkwz`zjh>J$(bU=hIuWD5YXJQz9p1b9>fd4lo^0t(LOJcI=uxx*&rZuMNR zG@*fYPNT7o0;Awd+wXVvMO?njpLp9NG0neW;oSTb&tnyRo98UB4BR;Dn7a7Zt>ucZ z^tOdvne6}AX35J7<2p;}g;*cyuQ> zU&tgzpxr=MDX0PIOH2%N8MPD`6d3F#8uhuTEK-#I!sN}#@}+?xoUwy};opz*QU@3S D-vvmI diff --git a/app/open-iconic/webp/code-6x.webp b/app/open-iconic/webp/code-6x.webp deleted file mode 100755 index 6ec8922de4b9a96d13fe2632adf7555d80a9225d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmWIYbaVU0z`zjh>J$(bU=hIuWD5YXJ{URr1b8e5@&x4-1QeXlc?b(Sax6p!03p;$8ku>?9RzI&R=htctiiX#Ks%znKYBmr-&Yrvz&cH`T5l2lM@pENN|Zo_qCqdXi%Ud zB*VRO%E_ZApWLuAmOSUP$XNKnnIjg)h39k9d}&~C@cw*GGJ)aWca8=I1_0Jh BWfcGb diff --git a/app/open-iconic/webp/code-8x.webp b/app/open-iconic/webp/code-8x.webp deleted file mode 100755 index 37ad9c95c204dcef7345cd64cb54bb7ca8ce4255..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmWIYbaRtpWMBw)bqWXzu!!JdU|f07OoSs<>Gvthc5%%bTkHjerpERW?pcl5tjn8?WDv4ojVNNSGR zdaGQ!qFXJNxnY*McBQwDSmZvMYxaA}@^7cYs&j*@b3?0T8*aUBxDv;{;+s{%*6I8U zZq+>9;#qv_P0_7A&$m?G%@lsvo?mB>{D1lWKUF$FUjY55pa-NUF*D3%)N){OV6Z#r mH`h%~d675^Q!)?Bmj(tShRK;-UFk diff --git a/app/open-iconic/webp/code.webp b/app/open-iconic/webp/code.webp deleted file mode 100755 index 5ddf9b462146885e45a3ec1c374adc045fadf42b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmWIYbaP8#U|1E~6F)0|$fP4GZ-p49o=#|9;OozyJX6 CIvQC3 diff --git a/app/open-iconic/webp/cog-2x.webp b/app/open-iconic/webp/cog-2x.webp deleted file mode 100755 index ee09349f115fa6eb0ab054033076202c027b7500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmWIYbaQ*cz`zjh>J$(bU=hIuWD5W>KNvas1b8e1@&xl2u9&Fuw94%JuHXi)3;V5% z1O;C*?JqoPdhXbw4O)ExLh*B-KQx$>bNN>K?EByD|G9koxP;QL`7@S=G_^i;uFhg- zRb%^nEc^S?eQ)QcGkfijN~$P)+P87}zNOjI<5#sVdfTpL7Yh>>9~qm}^BAA&b5)R!*y01*$uD3T;a zTRm{}ItSoiWKW!lh{*Ng#Hth(iI_uXf|2jsqs1hCa1uC${PABH4kO7nt^Kxb+cq}; zr0zTKJcJO@|AfnyW&=N=Kg}-$_gWOzoHBzIt3nTG4(0TV@=R4uG=11j`lv$^^bv=B zqvsi_O?8=$&r}Vl4CPgXOIvN zjw|i|9+B0Tl7}i$K8pw>OL-L_r8gxF)u6ge%$2GFb*ASLcAP$9kS=|+V2@~St=xz5 z$#(8EL+D-t){?S-mF&Vj{HOVc;b%{?g9`uv09H^qASM6+0MY^godGHs02ly1kur`% aB%&c3^a4u>1oVIaR{@9s0RH&T8o&S>Mu)}# diff --git a/app/open-iconic/webp/cog-4x.webp b/app/open-iconic/webp/cog-4x.webp deleted file mode 100755 index 736af6f631ef7b782594c0237924636a4f4013f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crkHNk&GF0RRA3MM6+kP&il$0000G0000V0018V06|PpNJ0Ss01?;0plu{a zzsY>>&mZjSQA9)zHW{svLqhxCWRj0@c4Lao!ZR}YRw~jGD}W%|cG~8J$rxtlqzy;O z+yBBm(wD04Afo>XcT64Q9~+G35 z0?6<|b5XS3SDHrvv849`BBFN)d7|eLR*#-tSou4Jn#ILJG*c9}JgkbMxdaf63yrEk zlt#ZaDuC5cG(W=6Y)heVTh9ja^5sm`A3UCzY6~PhF(b|0}XK>6Zzq=N) z+VoDN8n6OIbDP#6svnw510uN6s0ysyjY7?$LKe*x#We@3OV2i}13mYU0ln)G3wqBX z(ihF+L+kUTc_onPo7t&fsNE=TwZh=c?3KVy*D>^jVgjA46Z~EMQh%!O-%@Y!k0x~! zZU6vQP&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0GLCu Ag8%>k diff --git a/app/open-iconic/webp/cog-6x.webp b/app/open-iconic/webp/cog-6x.webp deleted file mode 100755 index 5a9ccb5d13eea3b78cae6cc945cb3e7963362767..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 548 zcmV+<0^9vkNk&E-0ssJ4MM6+kP&il$0000G0000l001ul06|PpNX`KO01Hoc(!f( zy>Hv<{qN@EoH_rV6-4wu@vjV(46N;_>|iVULFFR?OA~4n1ahD`57ZtUXb#N%mt`DE zjY17dV)fF6sn4IUgA#sED4gK8eE7wmF62Jd+d=+-;$C)mN3{#7M=M?E-aDC?kHto$Wpo+hVh-=zEeDe@tETKHce9##ufv{VN5Wf3!}$? zE{q-nCSXi3U=zj`O{Ie`ibpUWQ~Ww8;XA&1p_G9kN9ko5hvIdvsNeVyL$}ng+8(46 z>Zd-0&>8gu7%CKQve0t36pAp6DIT{H-glyPOmPU=xo6-z$W>Y>Lp-L1Lr6*5_)0)n z)5;3E_ev`-F7!FA%plFFJ}+vg6i@5R7pgPJbN*hoJp5cxxWJFszT)o;ruoM%1Eoo! z2_>`pn86%|<~~zQwoIifB-;C^UfJy0RHy~fB*m>?DrY~ diff --git a/app/open-iconic/webp/cog-8x.webp b/app/open-iconic/webp/cog-8x.webp deleted file mode 100755 index eac7adfe3f417510c99710878ea15426ab65b899..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 722 zcmV;@0xkVgNk&G>0ssJ4MM6+kP&il$0000G0000#002J#06|PpNOl4M01>Ccux;Bg zt5om*lZEYxh{(st53%`#-SzkYHQevQ*EXirwAa4HvO# zRPul3KNjnM-}iq11S0yM_@8N}rjb#esXVe7?laXNLMBHPj*x}-PNC%?gB6O)aN;lf zke(?%L-Ln>*!%~6p5&04pfZ8f$jK*5J}mwNe+I=l{JExbg+Fum34cmHbpL^=>P`r6 zrAwtdkFRjI##G6N=08yC+|+3(-*hOIe8~O-otJ!w+st4S;!vN?dokoYI=_W7Mdy>y zUg`J+>INOJLG?fB^uvRGN~gy#j3iW>XA3$1Yh>Z9MRkyar9`E<>LKN=wWt(f@fwu# zA;hpix#7XEO8Fe>1?5$!V`puOc^C>5+h?N?7atPJ%@Bs@opMrIz~5-UPIV2Yb*lBf z2w#&oJ?c#lCa*=kcQZ-T8I0$2wgBTIo#kL0p)()GfX;jv13DXlafHqmU|giLGZ@cl zT79OW<-z2=)9}24ugRM()iszlsCKU>@F&`A~`k%KN&9l(+FtB@av7r`kGS90|Tg7SG?Q_F@2x2u z*QC=1^d&l8g!)Lw575TxIvIm}#i?-$f{Gmz-}@LrsO0cehb1W=a|Bg0%qEdii;f;TMGmoP9F LF#P*H=Kuo$oID^B diff --git a/app/open-iconic/webp/collapse-down-3x.webp b/app/open-iconic/webp/collapse-down-3x.webp deleted file mode 100755 index 596f23ce52d862c08b5944a21426fa3e112d5ebc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU|5hjM|hA@d=ID6ulb)?<;2zo2=P{IKkU|A*cy01y%4AiXr6)^kiNvkFqctFfIUj=Cs3RqGh@pS5J&J`{UTp2-FWWSwRg* sUt(gI%c!Nmpuk`^(WuWwWs#!v7bb5`mM;wq;fx&&4F7(dmpZ@z00ST_@&Et; diff --git a/app/open-iconic/webp/collapse-down-6x.webp b/app/open-iconic/webp/collapse-down-6x.webp deleted file mode 100755 index b9363d251d35a1cd8ba444c4a3d781135f12f04b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5YXJ{URr1bFxYd4l2!0v?IaJ$(bU=hIuWD5YXJs3Iq1bD;&d4l2!0v?Ia8Qe#iChr&#j*MB7SN^;R=hM6`PVPrgFXx z<(knx>2Qyi^|J6;8}1)?P{8x(+yVbT+`lRq7=ZRF=mBk+#LO_4QOkkBfx+&e-&{8} ib!sB4u~)?0QD+J096_>GR$Sv;$Yxl5WHcbzJ!6ffZ^ZoIR_X3&2t)& diff --git a/app/open-iconic/webp/collapse-left-2x.webp b/app/open-iconic/webp/collapse-left-2x.webp deleted file mode 100755 index ad94ea42393f51fa546a20dee8c49fb45cff65d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|JV|{80R@Tcddf;dpBD&BQc1U) zIOl-noc&j>yEb?HdmjDgxX;I?%e}%{hhHC+j++V80W?cN0!SM%GR$Sv5&)Vhc*8<{ P2?KKh!@u8i4ln=!f}SJV diff --git a/app/open-iconic/webp/collapse-left-3x.webp b/app/open-iconic/webp/collapse-left-3x.webp deleted file mode 100755 index e9dd819d6bea7cca05c664f1603d88f9c93a314d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmWIYbaQKCU|OzMjlX<73qd+*U(&zILHY}xUr;715hC(uj}QZ!Kywu|fV2=Z r!(2u!0|o;IyOj>pTvU}6XFOpF=4$!Uz~JEh`J7||!@utw4GatbgbOce diff --git a/app/open-iconic/webp/collapse-left-8x.webp b/app/open-iconic/webp/collapse-left-8x.webp deleted file mode 100755 index 34c2eafbd6f0278b9269d8864ac1bd13b1c64814..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmWIYbaR`;z`zjh>J$(bU=hIuWD5YXJs3Iq1bEm2d6N1H0tyn>^^}!_J~u3zxa7_M zW+9$A?09XKfpl+bK3VJ|# z5;MbGMlA;h2L`)?eskT_loyG!FeUS_d}&}XVwjxS)x|zz&jW^kU-s;50ICK6oWnGZ diff --git a/app/open-iconic/webp/collapse-left.webp b/app/open-iconic/webp/collapse-left.webp deleted file mode 100755 index f174743475add2be3b3fd76da92adf600acefd6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmWIYbaRVgU|JV9{<0guFI@`4W+s4+}vs}-J@ zapy=(l;WcQS+}<(?zpMhF5*yE(LL=(&KrT}f`5QIfMzL30BIvehPjMd0zfkbZ&;`= OVPGy``1gCx0R{kSOd}xx diff --git a/app/open-iconic/webp/collapse-right-3x.webp b/app/open-iconic/webp/collapse-right-3x.webp deleted file mode 100755 index 685136065674a5de85f1dd7344fb0087d1be53d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|FEKI9 nWz>>jkYKQzXw>JTvPe<-3zIh|%a;a*a7LgL{{1*Fb$|f?x@0L! diff --git a/app/open-iconic/webp/collapse-right-4x.webp b/app/open-iconic/webp/collapse-right-4x.webp deleted file mode 100755 index 139702e3ee222dbb93fb7cf8e599102e5f3fa5ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|8;oEHE0N&FN18$M$T`?T^zm;a(_xd&8a_nT}xcHGTP$H;lv@tR%1Z?%$=tGGM`f%<_aD`)^| tA!dfTj9LZ^1`Kv99j3XcDl5)-!W7Ka@}+^n!Ta+$$pnUf-#Ho>7y!lYE9L+I diff --git a/app/open-iconic/webp/collapse-right-8x.webp b/app/open-iconic/webp/collapse-right-8x.webp deleted file mode 100755 index dc80ddab9c57667f1849f716e7c1e9fd3bcde5ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmWIYbaR`+z`zjh>J$(bU=hIuWD5YXJs3Iq1b6^h43hc^0tyn>^^}!_J}*$4v?Svl zgM7vUfrk3n_ieLXzr-hAV)ME5(L34v$Hs@-T+>dJi2IkXigjIM?0>M35vU(%vVtCv zp2W;Bmr=`s!GXc1E~6F)0|$fP4GZ-p49o=#|9;OozyJVW+8Jm7 diff --git a/app/open-iconic/webp/collapse-up-2x.webp b/app/open-iconic/webp/collapse-up-2x.webp deleted file mode 100755 index d9b837c5f01f695f19c46cf811346ea0b4efbb32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|j0|%bwFH3X3Er?!U&6p# L!0_+)oC6F1!RsLO diff --git a/app/open-iconic/webp/collapse-up-3x.webp b/app/open-iconic/webp/collapse-up-3x.webp deleted file mode 100755 index 79c50890d21097622a3e3b7a454e3e0a5af53333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU|5hjM|hA@d=ID6ulbJ-sB;;t+i)>q`{Rij4VyAr-S+`?0nJlT1Jak680Io+Niaw- i*iAI*b5U8ODE)=Wo0H{B14B4t2Lr>uALpeGFaQ7r)F}G^ diff --git a/app/open-iconic/webp/collapse-up-4x.webp b/app/open-iconic/webp/collapse-up-4x.webp deleted file mode 100755 index a1268c9e6f6ab436e0ee7bc7267d56f404ca5b90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWIYbaU%rU|WOu#WxJ$(bU=hIuWD5YXJ{URr1bFxYd4l2!0v?IaV~)z9K(jN9|?Tl@+aa(1boU7BICf6?-?Q{15eb}RK# z7yp`StDI>CG!1Bvf(DQlVrH1jsAa%lz+ku1VVaAovf_*J$(bU=hIuWD5YXJs3Iq1bD;&d4l2!0v?IaRfc7fr0d1MY%rKWx%Yngx!S0~nTsJl4 hMdB<>$viAy8W@ZiCTDhavCr7^fZ^YlJv$qKssZ7(M4$iw diff --git a/app/open-iconic/webp/collapse-up.webp b/app/open-iconic/webp/collapse-up.webp deleted file mode 100755 index a8ba1cc14e069bc2c0a5fdbb73a808376c5e6e14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmWIYbaP8!U|a6j9oJ<%PfO-`qfGUj`8Rjx-aWHT&2;Q(zU&6p#!0_+)oC6F1zC{`< diff --git a/app/open-iconic/webp/command-2x.webp b/app/open-iconic/webp/command-2x.webp deleted file mode 100755 index ea0e1adcbf650bc5b57a361490ff6a00ab888362..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmWIYbaOkzz`zjh>J$(bU=hIuWD5W>KNvas1b8$9d4kIqtmqZVu&lRmd+XHdFE=ErMEm+3nDh0QewbmHz{PskyxV3sZ3X|jNlahLFR;8;nz?6{tj{WD zooQQ*-z+=zwMU9|X<_5N+c}CQpT9=kYBFBmpKW*KVVwMJ3B7lw?PvDdZK}@?n_10z xth<`^&<448ydRvIfNlV~PC)`l8!Wz-S?x>E3lh58Z(<^qO)zvmoa002aAN|FEo diff --git a/app/open-iconic/webp/command-3x.webp b/app/open-iconic/webp/command-3x.webp deleted file mode 100755 index 0c8677787c829ba4015212518ea07f2c6fa1a01f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmV+n0rUP+Nk&El0RRA3MM6+kP&il$0000G0000N000*N06|PpNVfn001@Y)CXy71 z8A38rG%mwUrijT0z(YpJ$P2(hwlPQo&b_!J zHvl6;vNusI0d>w{%dkJ<%Cq&RdMPg3{85zCsVpmAlvKRP>3OLlaXFH_B*9*q%(@U6 zWG}tQAbOc|mBD(stP7dpuMz+N09H^qASM6+0MY^godGHs02ly1kur`%B%&c3^a4u> S1oVIaR{@9s0RH&T8o&U2G--qY diff --git a/app/open-iconic/webp/command-4x.webp b/app/open-iconic/webp/command-4x.webp deleted file mode 100755 index d8bad712ea224454e7380e230b801579f5f409ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmV-u0hj(#Nk&Fs0RRA3MM6+kP&il$0000G0000V0018V06|PpND~1701-c-ppm48 z@Bd(+3PA<_T#h@fsjUlB7t=9b9H+4*gZ!s)oaNME@DM zZQID|?WIHg3aOavp3mK=P(U?5z2C=KDNp~3ShHT%;O2PQWtob#~Y}n7I=l}O5%fJALxd$gLOBZ?grSK z$A~X5wiK8A(z~E%=|pZBR$LTm=R%|=TY85jcbwTp?)B8?J3hk<@E4! zJxhE16951J09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T G8o&T+)}p)s diff --git a/app/open-iconic/webp/command-6x.webp b/app/open-iconic/webp/command-6x.webp deleted file mode 100755 index 2243b0918e228ea11f8be12ac8c4bf4779f53ba3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmV;Z0ayM~Nk&GX0RRA3MM6+kP&il$0000G0000l001ul06|PpNKpX*01-#QxNRdx zD-ZUUFa1&v*MD#4t0E#YQScGk^rJKIi+JRTH@?6buq4SgZS}ErZDY-Uid((z<7Y(w z9k`98NS)=Q9OV%J5DlBl`*mLT@T2f458|*dKH}5d#lx-sfKPcBFSkPN6CEVLPVF;D zkWTBf5yN9jv-wjDtANiKC)304a}mP?0CO>%{5~T9%=|uYF{A*HiQ(z@i2)$>`@F=E z!5|h0J7oSji(#&tg&2;oSliO`jGt^_fBs8Y^zt!Ud$9l1x`jh=`^MfY0Phwt7Nqz~V{Yfk#`-E;aD z_Tjtd^eyZ|cF*n`?em`k00011P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIi SfB-;C^UfJy0RHy~fB*pVsK_n= diff --git a/app/open-iconic/webp/command-8x.webp b/app/open-iconic/webp/command-8x.webp deleted file mode 100755 index 3cc247ed8ba851926c74e584db6aee8c957a5bd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 532 zcmV+v0_*)!Nk&Et0ssJ4MM6+kP&il$0000G0000#002J#06|PpNVfq101>CbD3T;a zTg&_+3vmAZp@@h`5qT@Wh2(Jx*(4IlC2#J6oboP`%%hP=KyoBWkrds-%*@Q3|9@R& zRYmq`_Y~282yP@Pk}{St_AuT6m-^yx`+Tm4c@;4jc-6K)QT*1G47`Rf@$wv)d(9-s z*w||*5%f*HYA=c4QMUBjNE9nWuli4-_*Lw@7NR({^ZCwM6tf7gVTnrrdi7Q(hUq&v#iu6qVWj^5*Y*Uv|?nNa&w?1O9Gvx&17+w@i8&bjK2;7vCNCBI#w&9X*g^VjbE-X{i;sY0G zY?`a~C5?fTN9cnncj1A~>gfXID>`1(Pg0!hTspVCZA!u?V^x!ODN~@~Kywu&fTkER bGR$Sv;$Yxl5WHcbzJ!6ffZ^ZoIR_X3Zwe$W diff --git a/app/open-iconic/webp/comment-square-2x.webp b/app/open-iconic/webp/comment-square-2x.webp deleted file mode 100755 index 23ad6ede77d1fdc1a7bca07d17b9b2230b7a453a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|+U$P*G(hq zwue^BL8InG#+Zlxsr`214le(T6MNrpl8e4Jk@b@vP&?2x1qq;DBSwa~j9LOfQw48W Qs4rn)E@1fgd(Hs{0MITYdjJ3c diff --git a/app/open-iconic/webp/comment-square-3x.webp b/app/open-iconic/webp/comment-square-3x.webp deleted file mode 100755 index 95cd319c7293711647d4e246a0f260f4449a069f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU| z$D}z^H$=VLV{`tW?UIH3%D?OxlMim%SN`PnvgchrArmKR83nnrF)#qlR8Rw&aEXaw oE~AzLg93xyM58_zl|_ouUzof(S-vzdgfn(9F#P**Ug`h?0Phwp`~Uy| diff --git a/app/open-iconic/webp/comment-square-6x.webp b/app/open-iconic/webp/comment-square-6x.webp deleted file mode 100755 index a361597cca3f58a0104548aec5b3954560a595fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmWIYbaR`)z`zjh>J$(bU=hIuWD5YXJ{URr1b8?Bd4lE(R!kHzD{uYgs_EkLAU~4X zbfSu@cH-6s@lV!r|CRQg^i=v~&zO8Lw|4r{eeYS=(tH{vgAk8Xj3-RNTrFQ37#zGmpOZ{r`1hTofq?-4k|8Z_ diff --git a/app/open-iconic/webp/comment-square-8x.webp b/app/open-iconic/webp/comment-square-8x.webp deleted file mode 100755 index 6b3c313c2e1ce3567d17145732280efd46cc768c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIYbaR`>z`zjh>J$(bU=hIuWD5YXJs3Iq1bBD>d7|M9woFtpspNlWD*ADnl9I!^ zn9K2Ot`k*Et67*Mx%nm(YF%i)@yDmX}-qWZ^+0XgzzL2=&PAy~c^Hm5u}9cijy!8vjom_J?ldUg@EGOZyZ8eD09H^qAQ%7u05Smp YodGHk01yBX*f=Mo00VFU{`;K30G9M}zW@LL diff --git a/app/open-iconic/webp/compass-3x.webp b/app/open-iconic/webp/compass-3x.webp deleted file mode 100755 index c38e43dac5dbebbb0da709b7baa5dfdc6ae1dadb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBl3Nk>0RRA3MM6+kP&il$0000G0000N000*N06|PpNKgR)01-dJD3T;a zSGC9RWALwY;m$)uWYrLB;v&D6(R7LdS;T;Jyht>KNz5xTj84)b2@oUMHf^nE+s4Pe z-*~pq%0HuZ8AC+>6aM_`;&{_>@sdMm_V>ZS{U?oJ_rlO~8~!OB^WQ5(qQ(Apk_y^0N3W@?cGoooDy}oQ4zRXzCj;U1x}2*-l!;?D)kP1atk*` zU5``|j!l`5PeTiCnK~?}KAbK66}Urc_Cn2|D!r{$fw!QZa(Ai@o7!3x_?y%{gCA;_ z__HbqCim1Als;3d1VWN)>Xd@hG1RVsKyy!-7QBg}Gar;1oVIa OR{@9s0RH&T8o&Ue&cC<- diff --git a/app/open-iconic/webp/compass-4x.webp b/app/open-iconic/webp/compass-4x.webp deleted file mode 100755 index c58e23b286ffc552e5c1be5f992acd07760e9851..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 548 zcmV+<0^9vkNk&E-0ssJ4MM6+kP&il$0000G0000V0018V06|PpNY4QP01>akxNRFr zD`oHFJr!*KEhaNlL`38wK}wyZm~?ll$w&9cBt<+KhlGJG61S6C%99Lo1H{_4)kGI} zhh%WKad&sOaQkoNzyHGzB}DW;VM+B5uD%!Q`)a?J#0s^8KU#kGstAb97Yy)bQP`@t zT;ZmS<@yKB{j`ybsC;AgNb|l1fAy34p&i0fsQX0yUWSR?QXj@)O&n2QN1^A`a|CWu zPaw4g1VLGI|k8#?fXpDFF+FQp6R(%cOlEDtC@aqLl^5*Sh44IS80uas@5sz*7(>Ci#I z3FW^8nNe>baEp2j9lfDGPQscxp}va1l;5eJ`ynia2QSobMflg=X`bfILR1x6>(4ZA z4wlQ;T;Zw+TXf1oVIaR{@9s0RH&T8o&Ufoc8$u diff --git a/app/open-iconic/webp/compass-6x.webp b/app/open-iconic/webp/compass-6x.webp deleted file mode 100755 index 1b22622e9b85eaf8208d78603747c93273131b43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 732 zcmV<20weuWNk&H00ssJ4MM6+kP&il$0000G0000l001ul06|PpNQMFc01+?3plu^b zH_85c$DeMGMMUIdYGP^_OsCgyRWo{=Me+)u`ZEI^<-AY3BuPY8o z-Svm}h;rvYr8M7f%pjuw34iD6{&SwyO*a3yzv^JsX!JwR&nUtQTX!V`irWqX*QNyn zi^&>7c7D0S?+*MIIakWh;p;7F&mOK1;`JszxPF+^UUuQ`(ONzq!Fl|$q}7G%VoCFT z7v8-On)Mm%ot#G5Lr}k>k?+7<`=#;!0D*@K8b50=rZoQVB6x2>V*=SKDCGeHRr-d* zijsHG-qGkGNTr%hf@VPD7JpGmc}IXsHAUg?lTt)zMwI0)d@9v6HQN0pWr*g7@(j01 zH601$h4PIKjUzZzs_9mc6B_XqWd?_$Ps5y3F7GK1aHRAlFdr%RpOkAjG<^zYm-0TR z9Kcp=tKnudswf)PA!U|PV%RC$A=)t|ffZA-nz9aCv)x1+Q538VO5IS_VJXTc+K8=& zy+NrnN(?KdjL=TlCa_~lHm4lG(v)f(HIs_1f_+GteNe7pD*7}WUCR4CfNrMEJX<(MOZA(TPIPkj4$#PC+RT@Rle99#xb)hD>NI_7J?kpfQHA z_Df@Nh`^%-jqf#>J2{PNfS_STBin|3zNGoN2k-tD&H5CsF0JLu37jXdOIlsHyEX0k zWA`xLXyU`}(?8mE7rwKcD`ltf@BDCu?`?#vO$r9)<23|!ZVLt!H!)U-hTrsj4QwoIifB-;C O^UfJy0RHy~fB*n8=~P<) diff --git a/app/open-iconic/webp/compass-8x.webp b/app/open-iconic/webp/compass-8x.webp deleted file mode 100755 index b5b4b0b6913603729ba471dcebf637d702bfcd0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 944 zcmV;h15f-?Nk&Gf0{{S5MM6+kP&il$0000G0000#002J#06|PpNK*p<01-#Rpphg+ zx83s${^cH+h=^=PimWrz{pof*Ql6A&5IbVuV;GP9F<6`~dJqz9+iKhD%97GddT(~V zu+xj39-Qx%cIQ7LC4M}RMi9~eMD*fb_x^SC^;3S0UhliRi>P<~{GGwU*&6D~Pu>|h zXy>S5&VI1Mw8&BQXv~V^LsVLNW(`kEh~N8QEz@1Zc3E2oQOO+xqr2mc=6s`^Z*H{i zMhx602q*VcCl@OStX@p0_7eo}s11)(M5L`DwOfR`RK7bYBGc|Sl@9bhD$bz7@_@=N zwB`r>UWQ6ppZ;_S$}|1T1QnAj`cLqW=wG6SEBXhJb7OkF1Qm_#A?ec_=Ma{j%TUQ! z$Fe|~z0)f&%ReZ;4JsJxI5YTN{-&Jf_&cH3LA0@s(qVQ=uZ6#N%3+E)V;z+Ovus4^ z@Vid$7%|2=>IR}sZw=)+99y|1-fCJfwx9) zVUKczfMt|}GN#<^Qr;op7*#;&QQCXTW9Wu)21<*v|4O+5-BP@5rRA2R=b&v;zKkfF z&>d%Q8UAudSwL%24!*- z8Ug+aySf!-*C zJfwex8m{T@!+)ZGm7rpBP5%+f(v*HbL#6zI{&W%AE|tMDDy;mcvJJgM<@+>4WOnvL z#UgY|ZPZQ?k)4dF-5{9ssZK7}5LmmMQ0*lMC$|iYd#%mpe50IiZnk@425u5Wby%B4 z?CzAcOt%rg^u!t-7g6b8%!;FZRLzSiD@^}os3C6+80lIW>RLN>48EPNqTYpF+kY8; z{*<4?m%iOuKr{dV09H^qAT9s^0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>I~Y0o1bBo1d9v>pY{*qME%|dsLXa`zqru2VA13_WXQM#YPsObs>hHe^mtN3Z z7QIus=f|IA50kI=v>gPR3A9Z?0!SM%GR$Sv;$Yxl5WHcbzJ!6ffZ^ZoIR_X3(;hea diff --git a/app/open-iconic/webp/contrast-2x.webp b/app/open-iconic/webp/contrast-2x.webp deleted file mode 100755 index 3d8aba39cfd920dfb10e8e5831f2546e298ef7c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmWIYbaT7Gz`zjh>J$(bU=hIuWD5W>KNvas1bEB@@&wfvnoYXm_FrN8?m6qO)GIg4 z>gdqnP4sBAzwj~h3%8%njzb3*OjL3GeCABefBS!?a%(y|{;B7f&0TMITtsO`eOLX5 z#HQYJ=U2C9GuQ?na1m!uv1iR$@-Jmk%j%o+rxdXEPZ!c#QlVFutdeNp0s%r{CJK5oTT8?7}?uN3T~2c-Cv|EjQEwx(w)M1qmQ+#KPr}y3mE?Wo^yZ!00uEsp8x;= diff --git a/app/open-iconic/webp/contrast-3x.webp b/app/open-iconic/webp/contrast-3x.webp deleted file mode 100755 index 673844407c5f14283651fb3cc3b3de04627e818e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmV-K0lWTENk&FI0RRA3MM6+kP&il$0000G0000N000*N06|PpNbmpv01>ajFp{k% z+<`e~Td@BI!73smLrujbzvRRGib*ChBA;c&bXh166IX@>u?MsFu|Dk7LSjjn$z@1P&-3u)!pK=OlL9HoXMhj|4N#C@f>Xg@;7F3<`%4k82C}}_o zYD4kPw4egYvG<_?cS`wmaHj#MnNY5fc0rA*8By{U%EgZg|7k+`%~0)sbnBx{!1A|+ zJ1=PFGwAm1L-o0~V0KSl`jXT;cHja409H^qASM6+0MY^godGHs02ly1kur`%B%&c3 W^a4u>1oVIaR{@9s0RH&T8o&TCmWmtz diff --git a/app/open-iconic/webp/contrast-4x.webp b/app/open-iconic/webp/contrast-4x.webp deleted file mode 100755 index 2d70149c70d53be0b0b4fd849085b060103be218..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcmV;P0b%}9Nk&GN0RRA3MM6+kP&il$0000G0000V0018V06|PpNJ#+z01+p`Hj*SK z%p6*pn7HI0;oW}{5s`xgDRr4NXL;qK`CEi5eIvd|eCSfHWRMdeMzXCcI=H*LyTiKg z|0n;LxDWolgb>mHgp%s658wXv`>^UH@jz+)N9A`}gb^G0G`wLHTJg*WPI&~YA5b>L>++%-2hVZsUx_hcm-V7G!RTaQx-`5 z(SXvW{3N=xpoE?%tu-xZBg*1H3tFAB|E2{kL;3P)L5os6pBA(z#rviOEkpS_(1O;W z>{qm)jVbdEEhynDj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco I_|F=^04}|@D*ylh diff --git a/app/open-iconic/webp/contrast-6x.webp b/app/open-iconic/webp/contrast-6x.webp deleted file mode 100755 index de9b811ae731bce2a33ebbb366f0b7f904031fcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmV+%0^|KsNk&E#0ssJ4MM6+kP&il$0000G0000l001ul06|PpNW}pF01?;0plu{a zH~ta6hbiKC-&w3x&(rMTY$HMMbpmp>$>umC@9Jrg&wB zYY}oMWTvnUY4D}=<5hmwcP77mqz@>=s&Btc^pV#2QbwY5p#5nfSq!N_%J5AqEW&oK z)F7?;q;+v%&8R|Z=}Bt}laHuEdi6~c`uJZ`2Vq2Ofj{>}9i$^oQwoIifB-;C^UfJy0RHy~fB*pLx9tJ| diff --git a/app/open-iconic/webp/contrast-8x.webp b/app/open-iconic/webp/contrast-8x.webp deleted file mode 100755 index 1190fbe0ebb0f5372582b6bcdbae2993c555550f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 688 zcmV;h0#E%?Nk&Gf0ssJ4MM6+kP&il$0000G0000#002J#06|PpNK^s<01+p`ux;B& z7b&^_ZvS!JEg~W}Q%%NRFXGRLN0)bbw#49KZx?yY<8*O}iwpt8*tS(Q=ZE*>?g?)3 z;Qnz=|1}{`?)?=+^gkg!d#*J5$!fD*CH-dQ=?v-K)<+BuYd1(M&W|V@=3=C9Tv|{u zFUHWmPpM4apgQj|h0ZzT&kLq9e}c5a)XES=f0P}aT-;^<5(a)Fgrg>fu&+O6^fn>{ z|0soPvJ?7#5vouOpQ)_rDZ~FvIsBJHdY<6BSWu3DY0#aY!_%b#q3DZl2ktvH2!GLi zg?&7w2H~hdCy8N|sDi+Z=oE2?7gRxVxu!jjvCmTnQI$>>`w?{znF;M7cDGbQmZNin zZJkQU%#3yw+Yyxze$pP`j9Lh9=$t-N3+a^hQ-xYc|7n++)Iyr2-RM&b={@aULM@~h zv?nWSAw8kJ+)xW?hW2JlEuhG@B9qV_V4tH7q8gnn z_VJu5NUqkj=LUx&RS?8uIt5tqlp2Ji7M;YvexnBAZ@MpVJ5(SPeba5jb3UgWfw)C? zeg@wY3M*^Ofh_>wx*|u&@ZKMO+KOT2f?U8A?%ya8NL4z!qG2fnUjnA-2aq; zp9rEdQ!7IHG-oRF2guJmOrd=S)oVg!@&avKoKrC`7^DzqhZGL725H??2Mi9X*GTvD zsnqCAmYeNz(rc6+Pay^X09H^qAT9s^0Fna$odGI906+jf!A_k086`P7N_(EVch`7w{rVS*i~b8U%zf6uwQH^GvK3p(4z&GzU}yL7;ht5} ryLAE8Rjx-aWHT&2;Q(zU&6p#!0_+)oC6F1FfuVy diff --git a/app/open-iconic/webp/copywriting-2x.webp b/app/open-iconic/webp/copywriting-2x.webp deleted file mode 100755 index 677678449e00a01a3c376e1fbc1cfbfa62fdc20f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|P$c#K(iDifV2@K!(2u!0icyUPPZXvW^!u$wta=;p&ru0ctK>a|I71V(A rB_@Wsj9L;55)5_|jrv?v7AZ=9Ve;l=`O?4;&e*}g@bAZYsRIlEfe|Y0 diff --git a/app/open-iconic/webp/copywriting-4x.webp b/app/open-iconic/webp/copywriting-4x.webp deleted file mode 100755 index b8600d246d74e42e447022aedca416329c7f016d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWIYbaU%rU|uALpeGFaQ9$iY&tb diff --git a/app/open-iconic/webp/copywriting-6x.webp b/app/open-iconic/webp/copywriting-6x.webp deleted file mode 100755 index ec673d4842835df5b95aae4e05eb7fa1429e7ad5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmWIYbaPw5z`zjh>J$(bU=hIuWD5YXJ{URr1b9ROd4ll^R!kIm#`Uz-&gP+%xZuQ$ zc`u&w-*DL^%E_PMz$&S!7f|SVfYI)qdO`e`tiv7uv@>qE6*9az&@iWGj@^Bw1OGXT zjEa=lmp%00p7`a0r+BZ)Lr=wMpvgcx6*Pdf5HrJEMlAyd0|vX54%1vzl@(_^VG8DI V`O?7P;QjfWWCFv#?;H&b3;^lpIuHN= diff --git a/app/open-iconic/webp/copywriting-8x.webp b/app/open-iconic/webp/copywriting-8x.webp deleted file mode 100755 index ac395c0b98a9b2cbb99f17c43af4fabde4a24398..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmWIYbaUIrz`zjh>J$(bU=hIuWD5YXJs3Iq1b8F?d4l-~%W`L{rO)g+{DAjofQw7o zmkCd~)wbq(|NOuFhfufjagj#0B@3CPI$bU&Jp1x+)$Rhpzv2QSGas;i+RfJ9vpPIWu`l~ xKJTZV(y#f7zIIEP85n>%6(oS_j2Ic_GHP)!a4-nouuxyZz+Axa@AsSo3;>3E8Danc diff --git a/app/open-iconic/webp/credit-card-2x.webp b/app/open-iconic/webp/credit-card-2x.webp deleted file mode 100755 index af2c3211dbcadb02b689a5d8a49e565731e2b8f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmWIYbaTsMU|PX=2QS$5x z>7UlXGR5I%_|d)E3XA@qocwN4)fwUc!aRKkA4u@TnTfZm1N8w-R8RxbmzWslGHOXM kNHEweA jfx&K~QJ;&-B1P#hOx~OJ$(bU=hIuWD5YXJ{URr1bDatd4lE+Y6+6JU#xEL;D}3KC^ac1 zUD5Ahr%U7Ug4g^Xi~jYzu)n#)cS*AR!BUknqg&BWz7@#+QDpdZ-}Kg;Z+f@xv0P^a zngTRmK?6t&F*D3%)G}Z&V6a>1FwI3(S#ib_reLm?FAWS1-k;A&CNTW_&e6cY001o8 BH7@`F diff --git a/app/open-iconic/webp/credit-card-8x.webp b/app/open-iconic/webp/credit-card-8x.webp deleted file mode 100755 index bc1decf662a967fe05de92d0c0d1fc76d6a60f87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5YXJs3Iq1bDaud4l#13J!sGH=fRYD=4TF$89<> z$JGDG^#;*jYgqREZ<@1G>6gD*rtr%<_60Swq&qLndj9tC$B*I+3@;DPyuJH|)ygPk z8F`>NKpPbFfb=A0hPjMd4h#+qb_f0Dx~VBI5@%sb=3)8Lz+l8MIkT&aea4;#4FA6D J+1UV84FIg7H`)LI diff --git a/app/open-iconic/webp/credit-card.webp b/app/open-iconic/webp/credit-card.webp deleted file mode 100755 index fee9893fb7c17d5342d452e05ea97454b5136642..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU|FaSnDz{0L@U40O~MeWSGmS#lgVAAb7(70IKyJ4FCWD diff --git a/app/open-iconic/webp/crop-2x.webp b/app/open-iconic/webp/crop-2x.webp deleted file mode 100755 index 73ac2f60c67c16ba6d28a1d4c8b664183969ee94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmWIYbaSg>U|J$(bU=hIuWD5YXI2bwl1bD;(d4lQ+0t#~`=vgZ@`5APmoIF`8 z%4Fwx-~c1H;$e2?dBg?p@9 zB&YZX+g+V?YI#)fPZqm_JS>meMSuO{0h$i9S3wO(Ut(gI%cv#6Ai-ca(WuWwWs#!v Y7bb5`mM;wq;fx&&4F7(dmpZ@z03RDV!~g&Q diff --git a/app/open-iconic/webp/crop-4x.webp b/app/open-iconic/webp/crop-4x.webp deleted file mode 100755 index 435d8a818d607731a1f06205935c0592a3f7e080..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmWIYbaPw9z`zjh>J$(bU=hIuWD5YXJQz9p1bD;&d4l2!0v?Ia diff --git a/app/open-iconic/webp/crop-6x.webp b/app/open-iconic/webp/crop-6x.webp deleted file mode 100755 index 21c1b68949778c49e1a1c294bba7d8604f069559..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmWIYbaOk#z`zjh>J$(bU=hIuWD5YXJ{URr1bCDKd9wNn0tyn>^^}!_J|EE9wAPIM zo(*&01s(zRjsyE=PGetE>-HtS@wS=Q?YA=?3N|!7?ozrTVbLofmYuQG!6>p}h1asU zv>Q%E8LgHsGaQaz-6zlh diff --git a/app/open-iconic/webp/crop-8x.webp b/app/open-iconic/webp/crop-8x.webp deleted file mode 100755 index 6600f84fa518282a3bcd6f95cf4c620e997f7112..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWIYbaT7Hz`zjh>J$(bU=hIuWD5YXJs3Iq1b8$6d9wNn0tyn>^^}!_J|EE7_Eyb2 z_xu6|PI(a*mp`*THTwBhcl^^Xxa}4hCTncNq`=tcJ3~=u*MgH0ZfBXkOnTyFxk6hj+I72JmRRUVW(8sQn<}^j_nBkAT!w-#9mi$TTbpx$$zJ=C9XIHrM|@RlDYC zquQstrT(KZ69WU#WeR#gcT8etn9Hc;z~I1OchGOHo0{?>aTcaz9+oc+3`Pu-GrPLj QXY6^v@bAl>ogh~O06j=fAOHXW diff --git a/app/open-iconic/webp/crop.webp b/app/open-iconic/webp/crop.webp deleted file mode 100755 index 533772673cc506770e21a3e8cc29dda13e124721..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|JVA8@0fpe8IT6BwjnX1pa+SX> zVcOAuz)_-ky8SZk?v8)UAMd|bDp4!9i}x4fURFT{2B29A5?01=PEpphg+ zKfTY)|NfO8Ylw)fY6X*9P;tTk2oqWmCggUL$F2Ak5pJv%VpOOR@_-o0wrOiU``fn7 zXPal`pUgVv+6BYZYx;+0v^97ZF z{h}R>KNIjtYCfPg;J)ZT;kT%MmAZf*(GB6RsPZFKh9A=n;j7erX-OTxebT+d9Z|~y zeyLUlHt{*sdjdAwroN&4gsNu{k!?_;9PFu~T89W7wJCE9e`{zfmzzm#T~%q#HG(G- zMvjgV&i^bKT7KscS$rt>=jxa53kU)L09H^qASM6+0MY^godGHs02ly1kur`%B%&c3 W^a4u>1oVIaR{@9s0RH&T8o&T)|GN7C diff --git a/app/open-iconic/webp/dashboard-4x.webp b/app/open-iconic/webp/dashboard-4x.webp deleted file mode 100755 index 9dd75719cc45fb900da8728f9e4e6f2cffa628c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 562 zcmV-20?qwWNk&F00ssJ4MM6+kP&il$0000G0000V0018V06|PpNZtVe01@xPD3T;a zS2f4*LjO(|Jw!wfm?OtDkTl*ce65rIs9 zt10-xFO-E7$_8ZB{nvwUZtyb$*`gfYQrb}AKPsmWb3kQ5I+U9MB?}d@C{7>757jp$ zPq9XnD5U35oIbo6>w5|kqqrkV6uR$F9BX)8hc8BP2b3JVzC+`;4l_@&ZYgaTeTT*s z%r52Tn6e4eqG7|_rW`C$p2IMPG;A1=SIT^PNLhq&P2&>A3dK(1i1LzxSO2B{UxSx< zr|d&jT*?`Y`jxFNYcMV-P7$(6y@RoP)N9bOd+PHv0y7uXw^4YdPwLm@Fnp1fH|mc9 z%;qP(m#t1drt;nGS9%`}_)B-3;I@FE*t*Lx&RP^>%7-=s?ENApNG%-RSgx{e4(5{x z00011P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0I(+b Ang9R* diff --git a/app/open-iconic/webp/dashboard-6x.webp b/app/open-iconic/webp/dashboard-6x.webp deleted file mode 100755 index 7319531c196640478cc43844d565e017eaf261e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmVOW0TR7STS;gNFsZOIW81>ZdI% z-F~Jnj^S@6RM{13UFTHECbavcn(w0K-XGP6gX&Ptw@`cgkE#t>ODWkdj9`+M;{e89 zPDxs*`czl2CagxVZm4?rZ)TJym?^6S<_jflqP(LlwqT~L5|}#+$}P$dN(6h%Y6$y* z@{ShOK2#V$f>BZq1K5XD;W_0Ovi8Qj?_dU#v>XSJDdlWH89`oHMGn@4)d(`73|=S~ zr~<0U!AMypkW0$bl(LJ;WmJ)apR!6Idz9ap5<#uuy!rGHMD!b)i5ux6CA7S#caoJJ1gkSfFnXn*D9XS)G^ zKc^%iq)qj=joLeZRQFKslj?5|HTVCh-W~L2LY3d3)@@D|Z@@oUP`_+r>CP*4aRlp< z-s0g9=HcUl-X-kIg8p=JxfcdyxOX|3(JwBs>^R{{@e!79esG2N4b*Y%lr@ukhnlTk z${J}m#0t&ZcP@FmZDQ5%Z1D6O7iIkW)ISTc8~^}TP&gnc0000I0|1=?Dlh;r06wWe emP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*ot0$Wu8 diff --git a/app/open-iconic/webp/dashboard-8x.webp b/app/open-iconic/webp/dashboard-8x.webp deleted file mode 100755 index 3a660c12fd0321366bbd6f9ac36c5acfdc599e41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 976 zcmV;>126niNk&G<0{{S5MM6+kP&il$0000G0000#002J#06|PpNOS`L01;Q>pp7I) zx~-ba_s<{h1QHREn~7u;xhHA=*~MeU@?v>~q=}eE*u-JJ?vj^-n2=!G+LKln0n-Sk z_oC^=R7)zp9}DW8|A2Vr`~MFZK}7!(g;x%5yFcl4o=?-C?(M+}s@;AVP)+W)P*r#_ zV8NsnqJsMMgeAsTAEZbI379MReFpuW*%&V3XJnue}dXt#9CZhRCBZfA7dzTPuOR)+o<4)_6cNtNbB8$(&%S-KZfFUXbnS% zYg$PFrIB$liJ=4oT37fBCzP`oTA!i^ZDU3`4zakPbpth{$e`ZQYGN^jOVr|3a%(b_`(KsoZE#}h6l>(GM{vL&_BLfPW@}+Q_(=#E?VEgImfs$b`Z~(E1cT$al)?F6B8y zK+8l>GKvhcN!j_K+<~agXqgD^j3R^FrTk7QBghVI6T#W1=s`x5W=gpPxoT*e2(Ea- z#bh0Fi87m0)?h`3wu#`1ds*IFhviewbIKa*$j~<3$!ze{KoOsEKBZiOBQn&UeCSJ* zSxOnf6&Y%uKGcZP{7~+|85wF%P zl?2+5a({)^CX@-4DU>Z*%Sb36q0FdEp|mM~k>68}e7FZx61amA4br?j6?!87e+*q^kYJe2gFX@9`6 zHm2PPP%7-v9M*n|6qj@ey+g2DZqjw@)dbfv8T1%iu|t{13Yht5%Z z3(8h|MCZE)-Fu}nd~fbXOMbo-?Y7>BR9-w3x?yEkD0(nvCF4C5U;AVQA1f$zGGxj0 z7-hq&F-wdu15^+;6Bhh!2B>Q5?w9KC-6pDCKDh3Dn{1wE=DTyfzl_2F09H^qAT9s^ y0Fna$odGI906+jf!A_k! diff --git a/app/open-iconic/webp/dashboard.webp b/app/open-iconic/webp/dashboard.webp deleted file mode 100755 index 25b27ec4e0f5db5c2e1d0808b62897c37dab118f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmWIYbaR`+z`zjh>J$(bU=hIuWD5W>I~Y0o1bBo3d4l&3ESRWr^yX{Jv|rOdnAs^E zGN@egJXqwHp!hwnR+iRY71j3L)?eZ^VqL!2E1b5CbkOr&8NDbX$)sjiiH6BG{?PT0 z)7#?&7e&n5Xkh7b%en|?CHK diff --git a/app/open-iconic/webp/data-transfer-download-2x.webp b/app/open-iconic/webp/data-transfer-download-2x.webp deleted file mode 100755 index e9e653073be69e91338bc403be5c4c14dd4a1d05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmWIYbaN|VU|J$(bU=hIuWD5YXI2bwl1bDatd4l2!0v?IaCc%O1#fs6Huj!hTUH>CZDzc?>(vQ~+vJ$(bU=hIuWD5YXJQz9p1bFxZd7}CX0tyn>^^}!_J|EDUw8qUj zsHxGL>D>OcwXSXNJO0h~y{(qHdS!pYEQa(t|2aMj>lyUoPo%HZ(CXT>Xpx3Ch+3ne ztrwP=RK^H24``Eu8j!xk#4wjpOMyXw!ET~apNq;OMd>e0-kdC78W_SEI~W-L{Wvdm GfB^ty`!f*$ diff --git a/app/open-iconic/webp/data-transfer-download-6x.webp b/app/open-iconic/webp/data-transfer-download-6x.webp deleted file mode 100755 index 6ffbc7d4d823b4552df5bbcbc746a32d947c04f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmWIYbaPw5z`zjh>J$(bU=hIuWD5YXJ{URr1b9ROd7}CX0tyn>^^}!_J|EDSl%xKe z*~>tHwdVh}ge;4t(JuebF3X*~J$(bU=hIuWD5YXJs3Iq1b7qyd7}CX0tyn>^^}!_K0nZylpCHo zX;ONF3d8?h72oIWR$8OkC5;AqsIvFCgN-4y3)!Yc{ojN>EdMD}_@04rb)K;|jms!=vm)r~tK({F9 z0d1bd%rKWx%Yngx!S0~nTsJl4MdB<>$viAy8W@ZiCTDhavCr7^fZ^YlJv$qKssYhP BMv4Fc diff --git a/app/open-iconic/webp/data-transfer-download.webp b/app/open-iconic/webp/data-transfer-download.webp deleted file mode 100755 index 3515dd1b16b660aa2e578d7cee893b5ae5dd250e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmWIYbaP8#U|$sRn<1Z z%|x)}Lus~_;KlzEe^;LsYhYnu0P0te0ID`(WSGmS#lgVAAb7(7 E08>F6L;wH) diff --git a/app/open-iconic/webp/data-transfer-upload-2x.webp b/app/open-iconic/webp/data-transfer-upload-2x.webp deleted file mode 100755 index 01d10e105f03849d0a5d45abd0b1f2a8197a3618..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmWIYbaN|VU|a*lM75gRAnst8GNo6M3L6pm_=sK-!3rVJ@SV0MJ~) S8y4zI7?=wf{{5bFfB^t|Qz6j+ diff --git a/app/open-iconic/webp/data-transfer-upload-3x.webp b/app/open-iconic/webp/data-transfer-upload-3x.webp deleted file mode 100755 index 14d7963b377c4138f8814dde13086de1f3a990e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmWIYbaR`;z`zjh>J$(bU=hIuWD5YXI2bwl1bDatd4l2!0v?IaJ$(bU=hIuWD5YXJQz9p1bFxYd6Mc10t$wYU0f3Q!nWqR?&M*; zw}>H&acTYD!=?ZFUhKcQC3n)cTh(q?FY`v*UfsJR=kUzkiIdv`Umf*$!Q!Q{u*Gk| zl83hi3tzNz15E?kqo4+)FEKI9WzJTvPe<-3zIh|%a;a*aK;V>hJQcK IOC4YU0DqA;J$(bU=hIuWD5YXJ{URr1bD;(d6Mc10t$wYU0f3Q+$N@2M>aLa zOL(x^-QRC@=-fPx?H&K5J#Ig{EzcZo_$o8#(F@L?_L6O4d2gRj@XcCy$)+XBft{nF zL3{&K+ySl%eg_5?AX59i;^~=n_QF8Zf%YnB0BIp+hPjMd1`Gxab}JpGxu_~D&UnHU X%+>Oxfx*H1^Et@`hJW8V8W{)_ diff --git a/app/open-iconic/webp/data-transfer-upload-8x.webp b/app/open-iconic/webp/data-transfer-upload-8x.webp deleted file mode 100755 index 5d69d01fc0542cdc9b48debad6c2decdeb615a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmWIYbaOkxz`zjh>J$(bU=hIuWD5YXJs3Iq1b7qxd4l2!0v?IazhTt+Pi1_uVagMM?})RY&AvoIy|uzYD?Fk+aT+1159W6uMIe_!_OYyheT0L<`4 AS^xk5 diff --git a/app/open-iconic/webp/data-transfer-upload.webp b/app/open-iconic/webp/data-transfer-upload.webp deleted file mode 100755 index a1332c035dc336aae5697a89556c399f4dec5391..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmWIYbaP8#U|$sRn<1Z z%|x)}Lus~_;Klz6jnmGqz6jI+)UO}`RBgn_Fqct_gMouV@P>u@5(ef1hJU~39AE$d DUrZdN diff --git a/app/open-iconic/webp/delete-2x.webp b/app/open-iconic/webp/delete-2x.webp deleted file mode 100755 index 5daf9ee853e84997845452b004adf0117a256ef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWIYbaUIpz`zjh>J$(bU=hIuWD5W>KNvas1bCDHd4l-~Y6+JNni=Ab7&N%{bOapV zQ18ICy;sHZ98>rC=O6FgoZq03dGd5;R1O2r1D#hIR~8j7Oyd&#>;F^!=LF+oIq4@! zN6&io&**b{nl7h!{YYzj=F^yp8DZyUy06&ea>S%mdwTcQ+WUo;o1boURg(WC&cFb4 hje-QwZX-s9xr|x@KvxOguuxyZz+Axa@AsSo3;^mUMRWiF diff --git a/app/open-iconic/webp/delete-3x.webp b/app/open-iconic/webp/delete-3x.webp deleted file mode 100755 index cf6d26eac540cf56ce374802ec260231cf56ff84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmWIYbaQ*fz`zjh>J$(bU=hIuWD5YXI2bwl1bEB?@&xM_Xl>$s6(?k~`Nxuattc0l zMPd6YPf0936q<9}uei}fQo`fEyHi!2vZhpk0KbOkdtZjs^LwnCn>zk!=iJ_Q@}6gP z+m#kWv#u1s6F2WS-P~1Q;`lq)ax=;T?-?Uf(9Sd}~f*R13mzWsl oGHOXMNHEwRFK zDFsci+_(FI)}%K(Dvg+GEl?eKzhc>urGHnv=3CsOVE)>S zKM!2onC6^V(I6~oUolbLK#sY+gg5hnQ~x}bt3RVX-dW$=sB$sn&6-ORQ`mR8<~vsY zl{(5d^TT|#KgUgu-C_p18t5MdH6VS7iD53ImI8wUgWW`Ap=J{`0Ao;$m?*JsQwoIifB-;C^UfJy0RHy~fB*nrSC23N diff --git a/app/open-iconic/webp/delete-8x.webp b/app/open-iconic/webp/delete-8x.webp deleted file mode 100755 index f3b42c701c4da2241f8b7fb3f1d83289fe15fb96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crkHNk&GF0RRA3MM6+kP&il$0000G0000#002J#06|PpNIC%k01=0vCIFCz z{c%!+1f-yUl%XLaBEfLH+VIZ+EJ=3bHZbUwq?C96_KcsICFkH6T=bbahkvINgXy?RjyL?mo}9La!Z~dDk>M zMX$XM7bMT2HKs!Mx9!mC#deO>pM_4x!(%HLA|MfKNh-v6dG zm9+nD+jo_ueq-5E6}{gQlo9&PfGR@29Z)4OZU|ebqK{iH$PhwH!?_Ip#CT~slhJnY z*qx)fuxyVI{)N*uaUfi`VhNilu%B*E{k*My-dI0x{cQ8*PcUyUSvUOo8vp=SP&gni z0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw0LAUI AH2?qr diff --git a/app/open-iconic/webp/delete.webp b/app/open-iconic/webp/delete.webp deleted file mode 100755 index 7cc531a4978c5e31b0e75932095d2f3fb733d42f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|J$(bU=hIuWD5W>KNvas1bEB>@&xk_YD`jbjow<~vwm{fzo}>D zb#LKa9Yb+J~SHweUmUS{BMxJWyaowGg}Wk%FQtZbRW6r$Hz~-6Bn@3;C9G z`U5&M57ejXL#hDPX;h#R)!R^UXi8%OC8_m=azR%bC&)vc@ph$gggK=#fmx?ff$3ZF zWA1?+S@3Nh##f%| S1oVIaR{@9s0RH&T8o&TJe1L@j diff --git a/app/open-iconic/webp/dial-4x.webp b/app/open-iconic/webp/dial-4x.webp deleted file mode 100755 index 946f3dc16094f0a18894d78c46a4df53b44e0308..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmV;L0cHMDNk&GJ0RRA3MM6+kP&il$0000G0000V0018V06|PpNJRkv01>CcD3T;a zSG~;pJpW3UL_|b>EX!MwVJmXYROeLNY+=bJUN3%@aAu)s#Bpo|wqa=jNRn)uw$`(4 z``fnd|L>arSnj$yxAof*{ZITO+40W#+pqn0zCFqyM0Mwj0iRnH7!oVLH2f^b5mdQi zh|3cE^=G=bOWj<|&UcsZ=|0uqt-R2=>qp^>4j=E)8Yj7l-7D2$~;n=$bL}+C~-o)7fT=1aRM4s zAL%i58-=#$9v;!%fT9o7V24_Q+7<(?CbU9ro>N_Di-vWmN1eSDj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^ E0AzBxP5=M^ diff --git a/app/open-iconic/webp/dial-6x.webp b/app/open-iconic/webp/dial-6x.webp deleted file mode 100755 index 161ec947f1fd375ee6abf6f8b3f90d0bfe2f297f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522 zcmV+l0`>h;Nk&Ej0ssJ4MM6+kP&il$0000G0000l001ul06|PpNV5R|01+3Wux;C> zk-K;Qe>Uh95s^V|9a$2;Dj6jkT^8l>qhynqG!WiIPU2A_5#bR5wr$&LnvIiC_u_6< z+(YjE|Bp(0PT-_ZeT?XT;{TO@8BA8YFxsuY2QPUf&DIw@Gp}cnpwJI!IP~%`rkV#D z4~-No{(=b>KF&YwnP~rra}~$|hYyJRd#a!UQ}sx-_n=b?s?8OQ*ITN23aUx9DZzZPrD{M52TE{-n12s-?;&=5 zr0nzf?Ne2t{SOzE@Oyc5Z$;=DRS!Sefbs=h4)`-mAxh2pb9jNCP!3r{b&4xNwW*qj zT2xJ_OGl|8T2RJNW$NQ)bfkWTdZWycr@Ddo0b}!sv4aP>qsqNdmQbHGy+f@i&jZR3 zQliaykP&4tp}a!6G`1mS%GZi=1)0(~fm~CTJ4z0+rEv|(QFb9E4WTuJWGEp{IvPWm zw=}L{p3*phxkFuw8UhbV$~2Ubtj)7+BrOL#8I+OSdv}bvcMpH! zwI}N^T2I diff --git a/app/open-iconic/webp/dial-8x.webp b/app/open-iconic/webp/dial-8x.webp deleted file mode 100755 index 649e3e67e8f15fec2a52c7fcbd8980eaaa24b417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 686 zcmV;f0#W@^Nk&Gd0ssJ4MM6+kP&il$0000G0000#002J#06|PpNKpa+01;o}ux%Sj z+DP7i_pbkLeOE<99VwQy$V;sQI{1v zhXEW+o%d;xo&~Vok7*h0!D{}C4nF5meXCC==_aaP(%CsGd9N&qUJlm7>Dq8QTt9q` zSn}eb-20$0xm`iY%56g9yNA+OntBIyRPYabG`*ngl7{@Ej*9+ePQwMvTQqbQVX@Sq zVH2jXPyOb@%73R$=VADwzVl$|-BW);?^EBw!9DdZQLSQlLz&be z>unnHrRAK4W)0F$D6cT=Qr<#c)7Tu+cm;Jw*~T2z3S^_8MIJ(~Qq68rMo`bRdW4E8 zH!mq)Ag3}~4FbqF%JUD(1ITS!Zb2SWzBeh?A)jdZ0J%Z=8&QUkODOrKLMw=Dd4Y;gd7c41md^ipt2Q*|)4g7(> z_3$0%!}#Z6E5JVn00011P&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8 UlWB^I2bjFz0RHs6xqtuw06eTdWB>pF diff --git a/app/open-iconic/webp/dial.webp b/app/open-iconic/webp/dial.webp deleted file mode 100755 index 1e9e5fc0935d61a447cf5c97d3c7629b1d88ce37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWIYbaU%rU|tq^JTasQ?2D*_k)ADRB#RG4{vn@n`1*)8^$kCbZXd$If7 tUj88LDaRk6VGKZf6eNJO5hKG~MlB8o4hF#+7V1kFmJ$(bU=hIuWD5YXI2bwl1bDatd9vyX0t$wYU0f3QSSRKNKUX{; z%Nb(8wddd7KY2|Z|Fm;%vt?ShIZG*sseh|FG~<}Uti(AC2i09qul;=Rh-2ivh;u+g y7=Y$0r~&CqObl}wwImoM80;n*^|`1lQk4F}J$(bU=hIuWD5YXJQz9p1bBD=d4l2!0v?Ia{*By)b+KXiizid4BFveZxuUlM6gP3d%bHluE z`xzM+fHo+o0nNL_#4wjpOMyXw!ET~apNq;OMd>e0-kdC78W_SEI~W-L{WvdmfB^t@ CkTRP9 diff --git a/app/open-iconic/webp/document-6x.webp b/app/open-iconic/webp/document-6x.webp deleted file mode 100755 index ce70895762ef4c8bf4def96764551dda75b468cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5YXJ{URr1bFxXd9vyX0t$wYU0f3QTqmlS7B?`7 zBs3n{zkANKe3$=Mx8)wbp&9JIj>E)6k2W0|Nk=N;H=M diff --git a/app/open-iconic/webp/document-8x.webp b/app/open-iconic/webp/document-8x.webp deleted file mode 100755 index 7ff388492517b53134289382655f7853f567b86b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmWIYbaPw6z`zjh>J$(bU=hIuWD5YXJs3Iq1bFxZd9vyX0t$wYU0f3QOed#riqdt*=05$$JHN9U_Be`49V+5Ydmq-(oRcUOfN z1^PdB*<0-~MHpxv&?W^vAU%nhVJ@SV1A_yD-9f*(ZfeSl#95ejR&g|-9 RpRwlw!@nJ$(bU=hIuWD5W>KNvas1b9pV@&w}-YD`+v##?^GTz|@gc!?by z9XdyZuWSgg{B*VX$WcFzQj1;|UP*brvKBaV}c4bQRYUDJ>TU2B2#dB!F%+Vq}=hs3ib&wcrg4 Q^(73<1q}aw&pE&V0L`OT2><{9 diff --git a/app/open-iconic/webp/dollar-3x.webp b/app/open-iconic/webp/dollar-3x.webp deleted file mode 100755 index cb85623861ad820e48f3bd6d5033d2406c78b124..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmV-00nh$YNk&E}0RRA3MM6+kP&il$0000G0000N000*N06|PpNZSAa01?;0pphg+ zH+1m)Lf*eU6cG_w@Ct-*r&TjEu{4_foRR9_G9ijj%hLJa4~UHV zr1o$_s(>3(1>BG-2Z&eH9Y#l{704P= z1(E;&09H^qASM6+0MY^godGHs02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&UE C*oG7U diff --git a/app/open-iconic/webp/dollar-4x.webp b/app/open-iconic/webp/dollar-4x.webp deleted file mode 100755 index 2caffd487fbca7862134939f64817e40430e8cb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmV-o0iFI*Nk&Fm0RRA3MM6+kP&il$0000G0000V0018V06|PpNDTo101*&-sZk7sCTc-xPD0@6QT=|0do6e8xOf(V$M-L{G6}k?zejFo`<5YvCY#N5I$PRoRs(4j{^#=m z00011P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0D_N^ AF8}}l diff --git a/app/open-iconic/webp/dollar-6x.webp b/app/open-iconic/webp/dollar-6x.webp deleted file mode 100755 index 2e57b80ae01ef40526f6e7baa35de32bf3cea049..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 428 zcmV;d0aN}`Nk&Gb0RRA3MM6+kP&il$0000G0000l001ul06|PpNL2v<01;Qhplu^b zH%;f^kGQueA|gLz6e6CZ@`;#E5f5uQLcfQ;8fRq1#jsZM6dJ&?Z98rA3@M|_4O5xI z%pmK{e?*O3-KWxTME@DMZKNofWjg!>0rEyo?)*ndH|Cmcs?o~{T-zTo>Z=c?Ipfwb z1}rgyq_ik;7oj0zjbM%!J+gUfT#iQ2#`V|}c{qvd`SExTSs52}>yW;2LCc7oSv6qY zy*u~aup4ty)hb7xgD59zrmIHrSR5a0bzaLKitz3=15TgzB$cDLB~noZNst$no625! zB%%IUwG&$+OLBwDhra%TMMzEzub+pB$dfa#VuJ?R-BKH8WVdKAK`^doMRs?L>sjLb z!t2=e!6F@U2QHQASdGA4D8 WQwoIifB-;C^UfJy0RHy~fB*o%Xtn$R diff --git a/app/open-iconic/webp/dollar-8x.webp b/app/open-iconic/webp/dollar-8x.webp deleted file mode 100755 index e15206dd6726c799baf1a82973029fdaa6483081..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVplusL ze@T1CpK+f>MC2!~VZp@`!u+ox#Lg3&^4#fjtk-K#{BfrohXesh02o73#4e3WmpnNl(PxRE=`oC zl(`p*oXnCy7Ee2UF&=q>b$ZgsWKGYID^GgFJbyL8{iwSSv6JuRJ#CG0M$-FB%eRP z=klVO{4EbJ&{)KlOMf9Nik>$TjbWfe4&0GRoSp&GvNO=*S9l_^1!%A=O_>D@U52Fv zlG10%y$i$4Vakk7k diff --git a/app/open-iconic/webp/dollar.webp b/app/open-iconic/webp/dollar.webp deleted file mode 100755 index 8b98a591249749ecbffd09b363c8f653533370cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmWIYbaQKAU|DHUZV!L1Z(+>N(e6jER`F+~th!an$rg<(o^Sb&%YSrHpcQ+ZP nurV+I%~y~Bnr6hvFqct_gMouV@P>u@5(ef1hJU~39AE$dPvS8K diff --git a/app/open-iconic/webp/double-quote-sans-left-2x.webp b/app/open-iconic/webp/double-quote-sans-left-2x.webp deleted file mode 100755 index 2286fde9673aa382ea7f6a7f3e33ff4e46f8bf78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|Wz-S?nksn1 RLVXDXa{nkc+ diff --git a/app/open-iconic/webp/double-quote-sans-left-4x.webp b/app/open-iconic/webp/double-quote-sans-left-4x.webp deleted file mode 100755 index 75680ca3fbb4b4e6c8cbe40cf83076934fcf6579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|G?P3ugufps5OKKr=2e pG0bJuQeaSEu$ySq=c2MmQThv$Hz&)N28M7(pcDT6I4^a80RTujF5v(G diff --git a/app/open-iconic/webp/double-quote-sans-left-6x.webp b/app/open-iconic/webp/double-quote-sans-left-6x.webp deleted file mode 100755 index 7d3ea27573673c363979fd8af1e70acd21e1f254..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWIYbaU%rU|Oxfx*H1^Et@`hJW8V8W#3 diff --git a/app/open-iconic/webp/double-quote-sans-left-8x.webp b/app/open-iconic/webp/double-quote-sans-left-8x.webp deleted file mode 100755 index 020225e371ff7fde73f05c251bb2c5a73dfb0ce4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmWIYbaR`+z`zjh>J$(bU=hIuWD5YXJs3Iq1b6^h46^D90t$wYU0fcpndT}ReqYZ1 zMP{D;TC=U1i~eWb-j?`g%GC0NKU#~t5-NX1-F_svFwJmnPEO@1{%KA=Q9%7blNI!U z^dx46xr|y43=Rx-2mR){sVOfKXJJa_VfoU)V8k#vv#X1J#-0ZZ|GwHFq5HJ~b>egz32ZN$hhmr;v@frCNthK2eP2Ic~Wf4}D(U;qHp CM;Uwo diff --git a/app/open-iconic/webp/double-quote-sans-right-2x.webp b/app/open-iconic/webp/double-quote-sans-right-2x.webp deleted file mode 100755 index 80d3f2bd74f5b005e406b3442290b672e2a0ebb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|#n-L#{QuoP!G^F1qmQ+#K@^)Bpeg diff --git a/app/open-iconic/webp/double-quote-sans-right-4x.webp b/app/open-iconic/webp/double-quote-sans-right-4x.webp deleted file mode 100755 index 42ff16eabe5ef31a8a31a34f17dcef1141e5dadf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmWIYbaQKCU|H@5KxNxT<)mk{xM`jSfS*K^B^C@|PfH0pCvS)?fag~^+f+Hpo-hS-wR~w{aPaJ$(bU=hIuWD5YXJs3Iq1bEm0d9vyX0v-=Lo=JV>6^%l->1+mgT6|OdqNT!#J@qJHzl}M+|yu!c$G*v+lXvQRF xhPjMd4h#+qb_f0Dx~VBI5@%sb=3)8Lz+l8MIkT&aea4;#4FA6D+1UV84FExPFlqn* diff --git a/app/open-iconic/webp/double-quote-sans-right.webp b/app/open-iconic/webp/double-quote-sans-right.webp deleted file mode 100755 index 18348f45fd90b457fc631e4574b8e80c41c9622c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmWIYbaP8%U|-m@ctt+I$h~q;BMS t+{in3vh4rS$3XLdHYrE|X(L94xr|x@KpO>bSg0>yU@lJ$(bU=hIuWD5YXI2bwl1bCDId9w2tteB``y8X<0X8CeK!G^B# zX=zVae~O>Z(R14)DCG3<8TFg4RM*_^_@|w7dz<5=cL%L2!bC#9=pAQpIxY0MZi~@1 z4^u4>jhJeJ{z{vr1%fliSoJmlq+LZS8SWlOkrwcuSo8(P~h6ESHgi z0q7nDHK6U6m>A|VYDq9iFxX8r>T^+9q$vG`$(xhqO9MkVV+RAnzaQtN4ln=!X0u5< diff --git a/app/open-iconic/webp/double-quote-serif-left-4x.webp b/app/open-iconic/webp/double-quote-serif-left-4x.webp deleted file mode 100755 index 1b097dcb94c0fe270ef4dfd7db36bd99482cd5f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmWIYbaT7Lz`zjh>J$(bU=hIuWD5YXJQz9p1bB1-d4lr~C@>t@wDaaR`Gi#E${ZRjkn+3+mSzG`-=6m@@x_czqagr z6PM~~dq7!Nb-^MXPVd`F5xdUo%?jQr9b~*VqgHeQ9%vpqDxE+a~ZW17!(-nCK~m*s4P;H{=($V U$?~OvA)K*;f#Khe^HK*G0LsW!F#rGn diff --git a/app/open-iconic/webp/double-quote-serif-left-6x.webp b/app/open-iconic/webp/double-quote-serif-left-6x.webp deleted file mode 100755 index cc84f31deae405c1f421dee9bb03e299354620ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmWIYbaNA8WMBw)bqWXzu!!JdU|0->c^N)uM?;$jaGmHVFj?v>3IXRYt6@BB8| z)4Ve3W~S~*o}koo`m;_*h4A*xUK4m#Z?as<)KyZ__a^TRF}?L+3Q$OGa@r>G)p|xN zm8&c6*&ygw7r4?y23XaH#;W`?JxV|?5B)9^@!_>y@!HR;RvDw#fqBx8IlnO>8=kZ&W? zE$IvS4l-SkzL4)I(=q7_`ED{DkiL*li~U@Bwg0H)eEbFg09H^qAT9s^0Fna$odGI9 q06+jf!A_ksvN}5)>cm%c zrmX(C^PkcJc3ue&wiWy8d0F@c|ITNySp6$2B&f|V(YmgHiGcxVqJjiazY!zDTt+Pp W1`YJ$(bU=hIuWD5W>KNvas1b74kd4ll^CQMW@`@Yv|&e6v;E-bDu z~oGhazEE5m_hev(JRoU$F~Sp@%z3#mj!9(t@)wBx@L&ken6SBq@d ySNUB&Ty#lCCtPO3-N!&Pfwn0~0BIvehPjMd0zg{@Z&;`=VPGy``1gCx0R{m2pfS4u diff --git a/app/open-iconic/webp/double-quote-serif-right-3x.webp b/app/open-iconic/webp/double-quote-serif-right-3x.webp deleted file mode 100755 index f9e4121aa8558614cd1906592dc0d4df68f6cd77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmWIYbaOkwz`zjh>J$(bU=hIuWD5YXI2bwl1bEZ{d9w2t?8sFy-Cq48DXpu6Vakt- zxo5WK7fo5v(l}AY)2m80qWyn;Seocgw=eODx3}?5D&fD^c>D;XP>(^K@{LkIl_zFx zEKIfA&lof;*LH2Y)S%nL#j}+$PyfnX#U&RVVorKBPAqVXd6Cun@WqZ3Cl1~|)T`9I zSV-nF69WU#RSIfAH(X+3n9Hao!63n4H_@oiMP-qq^cN;?PL?kX4B?C&3=IE%oR>Pl F004=|O>qDK diff --git a/app/open-iconic/webp/double-quote-serif-right-4x.webp b/app/open-iconic/webp/double-quote-serif-right-4x.webp deleted file mode 100755 index d4e67d343d6724e3bf2d7fe96b44dedb64d681d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmWIYbaQ*az`zjh>J$(bU=hIuWD5YXJQz9p1b9pa@?@7Uu$Z*Oq@wP?`MDh&4!7fr zk8Roi-11H*XOD_!(537hoB!AAT-s}KyyKsC&h2fE-?B>C<@5!8coKhJPTC-7&2(8& zZ2OmL4ndv7m*q;rI?EU?bop!$@vhISP>ZNxTd>UdU{aT8;))wRnqnI*9@3S_L&AeTj)-E~AzLg93xyM58_z cl|_ouUzof(S-vzdgfn(9F#P**Ug`h?03pd!_5c6? diff --git a/app/open-iconic/webp/double-quote-serif-right-6x.webp b/app/open-iconic/webp/double-quote-serif-right-6x.webp deleted file mode 100755 index 1c5d7f01f53379f1acdf710572d12c1974fed4dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0pvt2Nu*L7zK5#zG4E-hAbADk8J*Ba)Nb_cT!? zq3=9bBBAePRWvoB?{!`B+7tRdPrK+>P3U`neSUnn9EBzH)nuvpsR95109H^qAT9s^ y0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>KNvas1bEB?@&vaZ)R?5=dVRwmYq$Sqfi5m7 z?d|0+L=Sd%ur9l>XmJ`hm+RE1LiT_yMs)=Vx3^7-Ipvq5`sNVZyFcyUYHj{WDE*p$ z;kD=+?pc;OhbJw2vG`t9aGY<(bC=SB1!-$qS2Xo(oz2ggDe3%e%NqrMHO;TglP-TR zS|zWN%pSeUTICtrKaHg>6W&et7U%tEpBr*{()AY}!9EMv#ZT>IXJlXix?4d4=t?6- ahPjMd0zmf*-mp+#!oXa>@bCAW0}KH1_gNAE diff --git a/app/open-iconic/webp/droplet-3x.webp b/app/open-iconic/webp/droplet-3x.webp deleted file mode 100755 index 2234dd3603127c8c049001754e8abee833d6d32e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316 zcmV-C0mJ@MNk&FA0RRA3MM6+kP&il$0000G0000N000*N06|PpNaz3n01;opxNRFr zBYS4=>$&|`>MXX1h{z@sGLg+8@_cx(W@9p1R2bFN9rE^wPXpC64dS6Let;OswrOiU z+cv*#+kfSs&%r+XybvP#pU}3}*lbNR$0kF%KH{Apy6+ZZr8kP#BJ|`fgX;v;C6y_( z`WKbYDwH#-CkWe&v=Ce{atc{v?7srBU~~p?#ppT2E6qXUh}tv64^0MHYTpnaGzFMP zD(?^vG+mh9AH#cy9h!64=HU(HHbnK8W(1oVIa OR{@9s0RH&T8o&Tc^o8aC diff --git a/app/open-iconic/webp/droplet-4x.webp b/app/open-iconic/webp/droplet-4x.webp deleted file mode 100755 index 20b0afa311940fa2dc1d7ac129755beb7a44a7e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 392 zcmV;30eAjVNk&G10RRA3MM6+kP&il$0000G0000V0018V06|PpNHYNd01@xPplu{a zKiTW;`Lo@)-ocW)RW;gze%S!(DN3ieZlE9l(93Pp`KP*OeB1jU~7x z3l!NHTms)zK1SehM)er>@AogieqcE}izbchIh1oVIaR{@9s0RH&T8o&SzJEMNk&HA0RRA3MM6+kP&il$0000G0000l001ul06|PpNRR;l01<7l6$4%Ig5Y;s`j9tp>hCi_Jhi|43yhcZ$j5FR3|m4 zE*NkE&458&C~g>Z1%H=;ZFo-^cnn|BFfb{=v&!HVcpe#i54pq$MTiTGFb{E;5q2Qn z(z%!)Us8Po@tt-blS69XApX#nF{x1d1JTf?U=5W9;ty>e_KnJKh%dBl*j*~0A)eDN z!VLDB53EtE_-NORh0j0YX{FQIIzkA&j{;Mw(zRJ*a|2X~oaB-bb`0YT~ z|Dp1`2W{h-s;36@*&Rc#*~%cOabzf(qdI&509H^qASeI;01^WLodGH^05AYPsX&%Q cB_ko2Ccplu^b zH%a&5kGOj%A|gK#gIH2AG>(tdviuj#9)oj@os@SuRE`~sq5cRYMv|mRQtr$iGcz+Y zGxNZ0>MzSf_Y|xG5&chCxBj5H+x)YIW^VJ}CYra!U<1usWweau%rkDxpc&)8tSCp| z-blMzk!mfycb?AuT(yza5|;>06udxOv9ry zqv59=4%akYz`jW19IPD~jo+;>p3!^=+ZY{&V5vRP;Q^KH2C3&j;(Par2bU4Lp2hv_^3ah1-C z5RVy`4}VJ94?ieQ3i*m*){Z!xIlO)-sk(q-hS3Rxwi9Zmp-4U$%|p7P{9c1*g;6mAVTke)ROuU| zd<@kI#n%M7Nyg<0D%&ZJLwn4Mn_g5bQ#yjW{>+NT*%-q9jKWh2ea{ywzs@#hC#Lob z3SZr@3}iHC{jl|a()ig2Yu5u!_nojOdkv}^yEV8B+*5fs0Jq6IDsCsB0{{S4P&gni z0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw0MVZb AfdBvi diff --git a/app/open-iconic/webp/droplet.webp b/app/open-iconic/webp/droplet.webp deleted file mode 100755 index 17fddd9aa2b900b659fb7d9157a57bb51118476b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmWIYbaR`=z`zjh>J$(bU=hIuWD5W>I~Y0o1bBo4d6NGZEa+8v`e5eIzt*vmf)lSu zWEFH@eK=dBE&1@}btim3#V1I3PMTCH!&k2UU*~&=(xU&J{`U{X_iui9vum3OFXK_! zP3-0(qWWGJZa%kW&pNexR}|1#2B3`!5Q76$_dgWwGd^(73<1q}aw&pE&V E0LUIUrT_o{ diff --git a/app/open-iconic/webp/eject-2x.webp b/app/open-iconic/webp/eject-2x.webp deleted file mode 100755 index 6930e4bc5cafe6353cd03c919ea6a8bf5584a2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmWIYbaR`;z`zjh>J$(bU=hIuWD5W>KNvas1b74kd4ll^G#Df;POW3&;&`yVgJaGa zn`BvuquZ`NW9(#~_QHYHE})TbTZKpEvlmAlUH%Inz58O4t8x646^)UL?as&@-FWXr z=hZ_sYXaHIekDHN_{0!sCeSto2_S96$S{{tO8{uA;0+7)B@E034F7)5Iluq_iN!Sd diff --git a/app/open-iconic/webp/eject-3x.webp b/app/open-iconic/webp/eject-3x.webp deleted file mode 100755 index 494bd8763e8650ed95562745fe43376f98706ba2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmWIYbaUInz`zjh>J$(bU=hIuWD5YXI2bwl1bCzad4ll^G#Df;POW3&;&`yVgJaGa zn`BvutJ{Rz{p2>S>05EYJ;cR*d&P?ncc&UCD=hk-B;1svR~T5oqo>h$?)$CFG#oU| z6+GqkpOjIWb4SoxyC)^Ddr7%byNF+&wYJfvxy~`-hP^<0fG$u_1Jak680Io+Niaw- i*iAI*b5U8ODE)=Wo0H{B14B4t2Lr>uALpeGFaQ98{5J$(bU=hIuWD5YXJQz9p1b9>cd4ll^G#Df;POW3&;&`yVgJaGa zn`GG=N48zfSj_HKvVciGp4BR2Kl`C@_o|#X%D?>0GLv6U^PX1sEk-Tbc&A_8;W-_L znm7(due27-3s@7}oTPsDipCd?>juvzHkx+rmO93$7*TG`eavUA;eN}RKCO~bar6Jw zF)#pKq@V`0{}L0!Tt+Pg1_cJYiAH@cDvK1Qzc6`ovV3V^2xshIVEFgrywm{(0P{>n A{r~^~ diff --git a/app/open-iconic/webp/eject-6x.webp b/app/open-iconic/webp/eject-6x.webp deleted file mode 100755 index 8773355fc4d6116f277faa8b92e1048a9701da25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmWIYbaVT}z`zjh>J$(bU=hIuWD5YXJ{URr1b8d~@&w}-XfQ}xoLa}k#qnT!2gjT< zHp#Mgu51f+|5>%bg=CsATETP#_N82+U=UgrQE+DVp zH@#mxTvnp0PmuNMF}-PqomY-+n{X@RQFDM#?;ZJ;iT7q*oVMyhLBOdm#aH&bGcW*M yub=^Rs}M88Tt+Pe1_K7Wl@8NfRFxHHJYfpvYWdQ@;NboFoMZySzwaCk3=9AgbYz17 diff --git a/app/open-iconic/webp/eject-8x.webp b/app/open-iconic/webp/eject-8x.webp deleted file mode 100755 index 725319cf60ac0df002ff60134548a47fd87079d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmV+@0oVRgNk&E>0RRA3MM6+kP&il$0000G0000#002J#06|PpNX!5L01;oHC;%Ba z%B}(m2;jGf2%OA3V;$Vo)|)r|GY5~xVHD{^+c-43 zQ!jaVYw1BwDtXF2Uz`DC&H_4h8qOt#T$s4*7bYH1%W+E`B33mOi~2&ux@KZkQ}I$Q z5jU7i5n`)>Q+D%&;sIybw>*B_;4XQ@=f!3BdGSDC*|q}5i5o&o7KyRqvd38QKydkP zMRlrHyTuY$Z*|;!F}0eC7o)41TKW=BJ!{T<4Uo%=)gM29`1=O{09H^qAT9s^0Fna$ uodGI906+jf!A_k diff --git a/app/open-iconic/webp/eject.webp b/app/open-iconic/webp/eject.webp deleted file mode 100755 index e70a53acf4158cf06dbced9a79801d1eba62404f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|!d4hSZzMIuxov2z`zjh>J$(bU=hIuWD5YXI2bwl1b74id4l2!0v?Ia6OH;@R2C^pe_`_GWckv-5YE`a M!0_+Kd8q>o0JJ$(bU=hIuWD5YXJQz9p1bCzXd4l2!0v?Iao;zW;dDZ{q(+^JTvPe<-3zIh|%a;a*aK;V>hJQcKOC4YU09IH+5&!@I diff --git a/app/open-iconic/webp/elevator-6x.webp b/app/open-iconic/webp/elevator-6x.webp deleted file mode 100755 index 9be87bf705913d7a7147c75df393cbcaf19f0653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmWIYbaOk!z`zjh>J$(bU=hIuWD5YXJ{URr1b9>fd4l2!0v?IaLd*fTII!tp>RaTtwgejP-A% GFaQ9&)=CKg diff --git a/app/open-iconic/webp/elevator-8x.webp b/app/open-iconic/webp/elevator-8x.webp deleted file mode 100755 index af5b614d0684ae435bdc85bc683b06c9e1d01cc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmWIYbaVT_z`zjh>J$(bU=hIuWD5YXJs3Iq1bEB_@&v^d1UwR-$qPPwuwvWY9iErM z6uOR8w74l)d73PLo;qFdulwz7xgsT(GIqPme7#nAV5Y!&^@m*ft_>SF1lDs1$QgEv zG9D6QWIiOUYRt8oV@6q(wNR!nIE_X3T4Z?v3Q#y$VSV||Nrjm3{-EYsf|bo1Zg ze#iLTLpT4O$L|#1J9x~m!hMhNy@$vADv$3e{>N_ik5f3Qlo{wYpsN-1fb=A0hPjMd t4h#+qb_f0Dx~VBI5@%sb=3)8Lz+l8MIkT&aea4;#4FA6D+1UV84FD$|T&n;8 diff --git a/app/open-iconic/webp/elevator.webp b/app/open-iconic/webp/elevator.webp deleted file mode 100755 index a26ab9a4d48054f211ac1050cce6e08a47abfdd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmWIYbaP8!U||BR=i4Owu@5(ef1hJU~39AE$dW;GQ8 diff --git a/app/open-iconic/webp/ellipses-3x.webp b/app/open-iconic/webp/ellipses-3x.webp deleted file mode 100755 index 68fe31d3d7fadc8ab8d03404d1859da57482aae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU|JTvPe<-3zIh|%a;a*aK;V>hJQcK IOC4YU0KGLG;{X5v diff --git a/app/open-iconic/webp/ellipses-6x.webp b/app/open-iconic/webp/ellipses-6x.webp deleted file mode 100755 index a02f3a5ec1f6ead6c3488bda73f38c8b1592730b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|D+RI+oN+Gv;U; z)VuswX9(?|_?|h06{rHJS3v_v3o$dyWz;fYFkrA-=`hVjRatSy6Q*FUmM;wq4&I;7 ONhUD-`_9q8zyJUR${n5n diff --git a/app/open-iconic/webp/ellipses-8x.webp b/app/open-iconic/webp/ellipses-8x.webp deleted file mode 100755 index 435f4d77e5a14dd6bde31ab8e89bb0a5fd81b93c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmWIYbaN|XU|wVtw zkDF7-Gwxu`lfC;B?SLwPdKL75^dx46xr|y43=Rx-2mR){sVOfKXJJa_VfoU)V8k#v Uv#X1J#-0ZZ|Gw4JVAbg|AK-}3JyQwO%A)d{BQ1M l1d0OHD@XuoBSwa~j9MHF91MatEYz1UFc&cV`#t9X0{|%_6cGRb diff --git a/app/open-iconic/webp/envelope-closed-2x.webp b/app/open-iconic/webp/envelope-closed-2x.webp deleted file mode 100755 index f538be2749fcb86d290c4583a0f137e415621ef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|Ri-+@`t8hW561 z7Z;V(ziM@I`5!z@|1*QF2@lKFn3s&7Ri-+$Ovi+PHT| z9Mlt!U7yCK^lQGwmkI0cs9q9$!Kdruk-1CR=husMm;5b&+8BT)DyRYJOH2%N8MP!B jBpB=_8uhuTEK-#I!sN}#@}+?xoUwy};opz*QU@3Sqr)d{ diff --git a/app/open-iconic/webp/envelope-closed-4x.webp b/app/open-iconic/webp/envelope-closed-4x.webp deleted file mode 100755 index 64a5cae5dc7bbf2c1200303c283cbd20ca4c80b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmWIYbaR`;z`zjh>J$(bU=hIuWD5YXJQz9p1bDatd4lo^0t(LOJcI=uxy=}FY`dts zYmw5fT~FR|DlGcndAxScyC?5DN<@#vaw^FlY_fLoaw%{(n5cJT$7+L@Zsp6r@K^8v zO#zy(pa!HbF)_?#)KXwjV6dBL)aRnINKyI=lQ$>Jmj;G##tsICe?QJk9bfJ$(bU=hIuWD5YXJ{URr1bD;(d9v;f3JwdCKh{r`6rAXIPf=p~ zM3tpGIp4Sa33jv&{wwvd=f(a86-DdCMNy%?;rajUc0Z4ux*(N9`q7%dGXsBDzEROp z&6wmf>7J$(bU=hIuWD5YXJs3Iq1bAcud9v;f3JwdCKh{r`6rAXIPf=of zuJXyv<(0+$|Igkym%U+s$3Jclp-sj&>g3Df?VHv|CS7AcD5CWlPn&(Pi<8A^G>Kt9%vKL4GMZddJ;3kTt+Pi s1_uVagMM?})RY&AvoIy|uzYD?Fk+aT+1159W6uMIe_!_OYyheT0Pqh*tN;K2 diff --git a/app/open-iconic/webp/envelope-closed.webp b/app/open-iconic/webp/envelope-closed.webp deleted file mode 100755 index ef12ab2586bc72fbed0b4b7926f22cdb6dd534d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmWIYbaP8!U|Ri-+@_2i22$CJ xS7$Hncu~J-<;qKzAU#063KBrth>>9~qZS7P2ZP`Z3-u)o%mobpe$P3;001#;7r_7k diff --git a/app/open-iconic/webp/envelope-open-2x.webp b/app/open-iconic/webp/envelope-open-2x.webp deleted file mode 100755 index ff43cd3fa9556c639527b9ffae29759d079aceeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmWIYbaR`=z`zjh>J$(bU=hIuWD5W>KNvas1b9RMd4ll^R`iNk?BcfZSA3A5th7N~ zv9;bx;_x=vXU7(ZgmyTI?CL!f-r=OWs^IOt`%@Jb{dZzwx+$ zMGisxJPgd-!*^JA=U!i)_q&~e0cfLw1kijVMuxeJS^_|u1#eiWFJWLVVEFfY&H)Ah DvY|6D diff --git a/app/open-iconic/webp/envelope-open-3x.webp b/app/open-iconic/webp/envelope-open-3x.webp deleted file mode 100755 index 3d82890c99e6050489c26f60ed287b9a9ff61a5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmWIYbaUIoz`zjh>J$(bU=hIuWD5YXI2bwl1bE~Fd4k~!R`iNk?B1>Ls3wU?-^C^2 z@ZaNadGfMumo0MlZtcoo;Erez;*L1r^ybkL?a9^mQy2yRs?S(*^ONM`+lT%{FQ_=? z8mix^FsWtc5|b-O^c*tYahsnmov?p%pO>Eb>l0=SA8)Q?G;uFd`L&!GXdloe3Ti<5 r5);E*MlA^j2?o1~Mtv?Sixj25FnM#bd}&|^XY62L`1j+y)By$nHU38N diff --git a/app/open-iconic/webp/envelope-open-4x.webp b/app/open-iconic/webp/envelope-open-4x.webp deleted file mode 100755 index b7708c251060f3831b16c26c22acf165ae37287d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmWIYbaUIrz`zjh>J$(bU=hIuWD5YXJQz9p1bActd4k~!R!kHzt7uJYm*3RUalrRT zf3kE=((S%a=@%MWubl9Z=AP)-%PEqwab~%_b*amLPPI(4>SJFlXZ*iYZNVk6ajS-z z?vj~|%5HvqzP&T6@AehT?$4hsW-01x&L8!P&#gzo(Ce>09|Hr>4GL;N8!s_2%w^P4 lU{GMNn`qSMqOwR)`U{gcC(D-xhH%CX28Mq>&PyF&007k#KF0t6 diff --git a/app/open-iconic/webp/envelope-open-6x.webp b/app/open-iconic/webp/envelope-open-6x.webp deleted file mode 100755 index 60498ed883f409e2508ea48963eb6754b32f0f05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmWIYbaOk$z`zjh>J$(bU=hIuWD5YXJ{URr1b8$6d4ll^mP}MJ`^|c9;q-uyhx-l&gN-Mdyf<&K_N{Bt@};MrN6S>-SdM{YjL(Sl{G1>+C$uzc*g(lfQd= zFRNZbqj2fYnNfbrRxzb2as_rcIi9$a6L%c?N)S{!&wtGJq7FQHLL ze8&M+y&J#hTQM*IU8bM`bcYZ#!(2u!0|o;IyOj>pTvU}6XFOpF=4$!Uz~JEh`J7|| L!@utwKnDW=P!>J$(bU=hIuWD5YXJs3Iq1bEB<@&wZtESaccR^7gDQB&Mu?q3}o zAEG|HCv_Ku-rhDrR?q{wZxS=ZTt+Pi1_uVagMM?})RY&A gvoIy|uzYD?Fk+aT+1159W6uMIe_!_OYyheT0FW_R@Bjb+ diff --git a/app/open-iconic/webp/envelope-open.webp b/app/open-iconic/webp/envelope-open.webp deleted file mode 100755 index ac7e4bb4d0406c560d735d04c531c62ff45f3458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmWIYbaSg>U|J$(bU=hIuWD5W>KNvas1bEB<@&xxE)R?5=8h!WlmpISo@q%3) z9XyW&lX7)F>+hS;+VNvc#q-8@p8J&REqZdIGxem(AK4#?y?DDm{lw|jii`ep8s4#e z{AA->$BN%`9`)R^Hsot=yB#larER@oOY5q+YQZbKPr}y3mE?Wo^yZ!0B1;B4gdfE diff --git a/app/open-iconic/webp/euro-3x.webp b/app/open-iconic/webp/euro-3x.webp deleted file mode 100755 index b23e100115cf623b355aff0a1bc6aee0e3e69315..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmV-E0m1%KNk&FC0RRA3MM6+kP&il$0000G0000N000*N06|PpNa_Fp01oWQyB_PacDz-l;Di{D506vj2jzlD)Ash4pO9=$@ QfB;tkhyVco_|F=^0G3mSYybcN diff --git a/app/open-iconic/webp/euro-4x.webp b/app/open-iconic/webp/euro-4x.webp deleted file mode 100755 index 58bb02ac187f84cfcadd9a8993de21904b004817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 362 zcmV-w0hRtzNk&Fu0RRA3MM6+kP&il$0000G0000V0018V06|PpNEHD901^MexNRFr z8_RRgbNjE=yH!L)K15itP~+{5zi|5Sr)5kN>TEZh!L3GISm_85BS})^^uaSTGc%*^ z)&6^>JxQ~39z^s%VTm;sr`PBEb(+_GD6)%yLNLw1;toHw%ps>ww00rp?)-g>%NgHE z76xbjlp&>V3|}o5|0|a)1n0nTmw@Ow5V{Ok4%CS+n!OACfaWU=y>qAOAwr%eh(k%; z7X<2#5U5*1pso)~K;t9Il_rNM8=3~9^k|mQQZ<7_RRDj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco I_|F=^0Og>R$p8QV diff --git a/app/open-iconic/webp/euro-6x.webp b/app/open-iconic/webp/euro-6x.webp deleted file mode 100755 index d7b63add46c89e85b0191097d5e49b59f6bc6095..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmV<60U!QSNk&H40RRA3MM6+kP&il$0000G0000l001ul06|PpNQwaf01=nMux;Bg zi=<}z|Keg-L_|JfBQ|kQ{)r*7h@A1};Xr@cHzU|EoWMPo>&1^sNzYL(5s@QTminjgxB_E*}Ea~13LhL#|ft>Iw7CXDJI})icUEKPvI+_Y4}>Cvkh<0Y@Q?d8l^J{Z~JWS;qRTzB0SJsK%)5p z63s`DXx@ZG^9&@K`=I+_lfd5_n{N2KVKWAQ`)tw{9l4m;gW&q7<6+`U(rh7jGvHzOCG34QbEoWnB zJA7R8FNR{|hpq4X^8 WQwoIifB-;C^UfJy0RHy~fB*pV8RI7a diff --git a/app/open-iconic/webp/euro-8x.webp b/app/open-iconic/webp/euro-8x.webp deleted file mode 100755 index 579cb883dbc772559c9a534350ffa46dc96571b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 608 zcmV-m0-ya-Nk&Fk0ssJ4MM6+kP&il$0000G0000#002J#06|PpNCW}^01>yMux;C> zk<#)1#SZ#JMC1~KQyY;kKQTye>^Nm_gXM4xyUj}(42>8Z3=WWBTbm(CUzVb6+qSK; z)%opzDT9ctKmOQ2ME?`s!yA_``9|lL{bu3yVq+M(b5~^!EMCq)D|1+)u&|qkLgu7R zkLGb2zMBntuEKBVjoxGMT5i(2AHioorhf@O*BsD(IbNB_rH~n2+6EhwvO=djfiPcmb`fTl&N~9#(~hSQCf%j|j6kb&W)SF(_79Y)`5Qq( z%`!yPe1(Xb7Z6c%8zO4XLPX6BL{zN7uSI(Zp=z|p5$cEb0zy60-bJWW+II-GO1p$m z*_ieSLjBM_gfjJ3Af(@ybLl6=lbl51txy4Lmk_)G+XwE>pq4D|1hO1JA`0Jxdw*M!Pk7 z)OI5%MB85!er`q3nmEnJ91!PE$Dx~BJAMAHcYotvBmZ)?W-t%{09H^qAT9s^0Fna$ uodGI906+jf!A_kJ$(bU=hIuWD5W>I~Y0o1b74jd4k6ms7+e(;#*vu%mg99NB3`? z?C4l>@c0yvF8_sRzWet6#E*4`XHEoue8>Gu ybx*b1>CHz&E( diff --git a/app/open-iconic/webp/excerpt-2x.webp b/app/open-iconic/webp/excerpt-2x.webp deleted file mode 100755 index 0882e1649bcdabb502d0326b19bce4a5b09f7e16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmWIYbaP8!U|yU@lg diff --git a/app/open-iconic/webp/excerpt-3x.webp b/app/open-iconic/webp/excerpt-3x.webp deleted file mode 100755 index d98c08556a6c9c8ab52e4dbae54c579cc75ffd0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmWIYbaN|VU|^%)kINK|u|u{t^?zTt+Pk1_=hciAH@cDvK1Qzc6`o UvV3V^2xshIVEFgrywm{(08;59LI3~& diff --git a/app/open-iconic/webp/excerpt-4x.webp b/app/open-iconic/webp/excerpt-4x.webp deleted file mode 100755 index 7c1f9617b08e27ce26d412a7b81fc3f10dd8ed83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|S^JGz<|A8YF}1~M}+0QDPl000HgAiMwo diff --git a/app/open-iconic/webp/excerpt-6x.webp b/app/open-iconic/webp/excerpt-6x.webp deleted file mode 100755 index 2cf412efd650acbbc00bb0ea38355e3928e22f27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmWIYbaSgp2A~-V8bBRF%nWlGwG0>x80=O$Omk6HR-EyK ZDVVF}O9O+0_vdqx2@L9eonUA_Sc9( z@UQxeB`dcj*NC#O&z=3G@tEkk?|~JJK(#8Rjx-aWHT&2;Q(zU&6p#!0_+)oC6F1d7l-B diff --git a/app/open-iconic/webp/expand-down-2x.webp b/app/open-iconic/webp/expand-down-2x.webp deleted file mode 100755 index d017db6683ba91d354b07efb3fcea92fcc3a0aae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|5hjM|hA@d=ID6ulbJ}+FiA$xG>*)yWwI&OrppK&wW5$K=TyTfb=CMhPjMd5)2Xy hb`y>ITvQe*N`GPU=4AQOz!1*Z!NBnE$9bs(3;^J?C|Upj diff --git a/app/open-iconic/webp/expand-down-4x.webp b/app/open-iconic/webp/expand-down-4x.webp deleted file mode 100755 index 13d34c960e7a8f00ec4988d9a46e6c0084890bf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWIYbaU%rU|J$(bU=hIuWD5YXJ{URr1bFxYd4l2!0v?IaS-d0)(EdgS?7MEutM%R77g zEMD$twal~vng+B-K?6t&F*D3%)G}Z&V6a>1FwI3(S#ib_reLm?FAWS1-k;A&CNTW_ J&e6cY001OlHX#52 diff --git a/app/open-iconic/webp/expand-down-8x.webp b/app/open-iconic/webp/expand-down-8x.webp deleted file mode 100755 index b5351fa72c71a8c1232e76c73346425b3f567a42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWIYbaUIpz`zjh>J$(bU=hIuWD5YXJs3Iq1bD;&d4l2!0v?Iaa2g`4wx`70QD+J096_>GR$Sv;$Yxl5WHcbzJ!6ffZ^ZoIR_X3(3={m diff --git a/app/open-iconic/webp/expand-left-2x.webp b/app/open-iconic/webp/expand-left-2x.webp deleted file mode 100755 index 090c77cceb8af83b6237e4fed003b26abeb72d46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|JV9{<0guFI@`4W+Ea+8vIzwg7 zk?G%zZaTUAzq&2=aKYwaKFx-ojorF?drtF}**3{DFaXU`kO1m5Vq}=hs3ib2Q}Bj` Q`Vt1_0)~IT=Nw=F0KOF@2LJ#7 diff --git a/app/open-iconic/webp/expand-left-3x.webp b/app/open-iconic/webp/expand-left-3x.webp deleted file mode 100755 index 92004c8bbc088b78eb5b00c4ecb8ec6884748fe6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|HF#Rp8M?23xYtN^`H|+?(VNY7{uZcF1nLEvs-Om>FEKI9 nWz>>jkYKQzXw>JTvPe<-3zIh|%a;a*a7LgL{{1*Fb$|f?Gczl% diff --git a/app/open-iconic/webp/expand-left-4x.webp b/app/open-iconic/webp/expand-left-4x.webp deleted file mode 100755 index ae6e2c533466b0ed5cab51042d3b0f22a854fbaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|8;oEHE0N&FN18$M$T(wCSR o<}zw2FeotCO*HCrQCXxY{e{V!ljTbTLpUSQ3IBeampZ@z0IkO@E&u=k diff --git a/app/open-iconic/webp/expand-left-6x.webp b/app/open-iconic/webp/expand-left-6x.webp deleted file mode 100755 index f86f17f6fb2f6fff6c5b4935fba96246ac32b409..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWIYbaU%rU|J$(bU=hIuWD5YXJs3Iq1bEm0d6N1H0tyn>^^}!_J~wD=%f0je zqBEOv!@rYvp5Au-5}$a9&F9j`(@b6R;+fVa?wf;c-fyivEOf@$BbI>yXsUu9(2PmU x409Q^92guJ><;?PbyHJbB+kN=%)|1ffx(Dja%NW-`;0vg82)|Pv$FxH8URpZFwOt~ diff --git a/app/open-iconic/webp/expand-left.webp b/app/open-iconic/webp/expand-left.webp deleted file mode 100755 index 0ae80e4b7d0fba887b79353f64ca663fd4f29c94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmWIYbaRVgU|JV9{<0guFI@`4W+Ea+8vx@7K= z$p=2@Pu6w$azE#m*{sQ1%6%CA9c&egKX!CI$EW}P3=BZC6eNH;jTjl`GHM9`%@n+0 Qp}vHHxq#u{?>Pq;01c%j=Kufz diff --git a/app/open-iconic/webp/expand-right-3x.webp b/app/open-iconic/webp/expand-right-3x.webp deleted file mode 100755 index b9c695823036c0a6c60834210a182bddc2abb450..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmWIYbaQKCU|KVcBKSl{X?ZQyxapV2A(F@Lew%zgL%ww8MRYJR+xfdOcyf*R0-OH2%N n8MP!BBpB=_8uhuTEK-#I!sN}#@}+?xoUwy};opz*QU@3S`c*6G diff --git a/app/open-iconic/webp/expand-right-4x.webp b/app/open-iconic/webp/expand-right-4x.webp deleted file mode 100755 index 34f48a5eb89e1818a40b6431526b3647d82e00f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmWIYbaQKCU|`TFwugJw(rv_JM{WMBZAsh|cl;Sv+W oTt+Pg1_cJYiAH@cDvK1Qzc6`ovV3V^2xshIVEFgrywm{(0KqUWRR910 diff --git a/app/open-iconic/webp/expand-right-6x.webp b/app/open-iconic/webp/expand-right-6x.webp deleted file mode 100755 index 38fc6dbef89de8aff7be61bc601d9d2875ecf5da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWIYbaU%tU|J$(bU=hIuWD5YXJs3Iq1b8?Ad6N1H0tyn>^^}!_J}+32tGv>9 zmg6RtQ;9z}TkYQePwCfsgG^?%mp_(nl&aX6xMzxF*36{2Kl%M6r*-+W&t_#{0Gh0z z2Q+6AGs9d)Ee8e%2D^iPbKTUG7m2elCG)U+X<#s7n4H708Ky`2><{9 diff --git a/app/open-iconic/webp/expand-up-2x.webp b/app/open-iconic/webp/expand-up-2x.webp deleted file mode 100755 index 7ac3b2a29a4d92da153e966eca863aebd39f17c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|5hjM|hA@d=ID6ulb)?=W86;amcOtZlC)i##4(#?RuZxu`5sl>Wlx&B^kmfgzl+gMs1SkMmLo7y!!?C)fZ0 diff --git a/app/open-iconic/webp/expand-up-4x.webp b/app/open-iconic/webp/expand-up-4x.webp deleted file mode 100755 index 886cf2a6ae446c36122ebae3d039ee6b54bc5b43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWIYbaU%rU|WQ)5ZJ$(bU=hIuWD5YXJ{URr1bFxYd4l2!0v?IaJ$(bU=hIuWD5YXJs3Iq1bD;&d4l2!0v?Ia@KAE`Bi}CboABn)! z;}#(@$5soy*gLCJZ`IA0e5QTxLWO^D{ib&uPoJ1HHfO-`qfGUj`8Rjx-aWHT&2;Q(zU&6p#!0_+)oC6F1yB!)6 diff --git a/app/open-iconic/webp/external-link-2x.webp b/app/open-iconic/webp/external-link-2x.webp deleted file mode 100755 index b6264ee26ad254c518fdf9e0fbf6d16011b07d5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|NYs!|6R$=zyLH?K>}!s c5hKG~MlAuL`GPkr)R!;M1& diff --git a/app/open-iconic/webp/external-link-3x.webp b/app/open-iconic/webp/external-link-3x.webp deleted file mode 100755 index 4fedd8a80ebf9a1a6c82cac923b885d1783bf61f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmWIYbaPw4z`zjh>J$(bU=hIuWD5YXI2bwl1bBo1d4lo^0t(LOJcI=ga=LANdu8XE zh%lxgq4cR?+=7!+HS1Tjbo|ryx!o3M6|X72bILjOu&xHbA7zKt{_$9*I(nBJ^fEY@ zzs38)e2WZ;2h+>f|KVU@0NSRY1~mH;6T@6aEeQq*2D^zyeJ(1C6s5l~d2_OSX|kK{_v5_O0R{jJ$(bU=hIuWD5YXJQz9p1b8F@d4l2!0v?IaJ$(bU=hIuWD5YXJ{URr1bEZ{d6N1H0tyn>^^}!_J|EE9^j1xs zlcR%;Cxr2gjn0w%GpbhJ7yKK3V_WXzqvzb+igrD^-!e<>xXp>LCWdaSYA$b`vpGCD z=y&S8zk0UY97~S7Fn?CyQsV*K3WY8fyXFxahhnC7CYtT^KdQ!rP{mj(t0@6YEX6Bzz|=V)MH F003JgN~Zt- diff --git a/app/open-iconic/webp/external-link-8x.webp b/app/open-iconic/webp/external-link-8x.webp deleted file mode 100755 index 035d1248df5dfdc6e2f0c6f87c7c8b7df8eade96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmWIYbaQ*bz`zjh>J$(bU=hIuWD5YXJs3Iq1b9pa@&v^d1UwR-$qPPwpfyRw`{izC zmo>947H7G!tdE>|q{RIF`;LFc1-G{e=FhkKXDH9kaAisJoV8mHIYp*xuf3438v&#~ z#Qn2~etM+jl2x>7$ENK|PFV8RDGu}N(;&)o$t_hrw{2B2yHA<$fN diff --git a/app/open-iconic/webp/external-link.webp b/app/open-iconic/webp/external-link.webp deleted file mode 100755 index a96f81357f8216a8840c002a0f2397c35791e1c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmWIYbaP8%U|RhLIZYWG)I1oR zGIO~;o)1@E^j~p0`}So@%-8<|)d5XVkO0y~j0|%bwKy0!7zA%vs4rn)E@1fgd(Hs{ E0Pdg~IsgCw diff --git a/app/open-iconic/webp/eye-2x.webp b/app/open-iconic/webp/eye-2x.webp deleted file mode 100755 index 28600ec55b5862fdd1f16176ef367d52f9621ced..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmVO1O(yz_`J#Y`{wE$S(R%&9`~UZD67h{sMt<9fNv|0DoIyChr@BcsE!Bym9t#Mv zN9wtZP~}WLWnmktDC1am5h^c=t^3z6qqWSW5bANB0BpwX_09H^qASM6+0MY^g modGHs02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&Tjq>R7- diff --git a/app/open-iconic/webp/eye-4x.webp b/app/open-iconic/webp/eye-4x.webp deleted file mode 100755 index 3fc1f81be54cc4335fb8ebbe9de423ce03326b2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 446 zcmV;v0YUy!Nk&Gt0RRA3MM6+kP&il$0000G0000V0018V06|PpNNNE901^MlEODBzREgYLs$MJ#cxTK_$Nz7 zHjgxKl7!%TWb-IPszSn(3xHwCzaifGJFizd_Hs?aQV*OGQx$n3vhh=$w`n2x!yEVj zbchW$1K#E*I3~^r;FXBlcE>dU6LDktc;^+~q+=w%>GBF~=}iD9yn*T?if1o?8gJ7A z^!$fb{DwhQHl;CvuKV_nK5JUSu7K1lJImLxJ7Qk};SFipMDj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^09Y!{Gynhq diff --git a/app/open-iconic/webp/eye-6x.webp b/app/open-iconic/webp/eye-6x.webp deleted file mode 100755 index 98dba985dc3511b0ffb783461655261254fb8a4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 574 zcmV-E0>S-KNk&FC0ssJ4MM6+kP&il$0000G0000l001ul06|PpNaz6o01-#Rplu^b z+obp3@uxe-A|i6pR6M9tBW}(9?0FoVoqaRXD<|V;E`LO9$}~kBK(cLHX>@@fcTc&y zyM5vbcm5+v)#p8adew~Rf8rlj-oAc|7pw8-{Xr9(N4qanzm5vnC^{H3bAFPCfA5=K z;{iOwOM2fL_!M8b!Dj{8wV2YL_KV@V*gv(DlNPdCGm3aCfCz?`V%~w?oKf5vsOFYp z-iB70P+TDMoMKvq%zsnd!Q+W}Y*8M=brK32 zz?DAvyAK&yill>I^Fw(G7k%Ir zAIej>=!4=tggc}BG5GBy6gGe>elYc3gbOT1(t$gs93mC%zb@CW`yoaO^YZr9 zt6i+dA9wpr{KEhM09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2z1plu^T zx=Gr7{*0?f5fS-?zmX?Fu1J69aPNvCu8-?c=E6h_6?bun!;#_;vTfT|+h$u*Bn54k zxeYTjb7Dz}T1VFY|4#{A?R%xiK1K9D@&6+Fx_EMv^#}R=#pdrZG#yP}(UL8XqrvvU zfG(F`(9pyooi9J30e^YGIy({SeoR<1|BiZdCF`%Y;2s>Yk&6hf@eOru?&16vQdJtYpReppS zW|Wht_*;BUBgje0EQGN~*$-g)=Y0DH9XwI);q5#1J}O%@0$2{HzvCs$sV8A}X$G)N zQRg9^H)(kfbCc#*7#_?Iv}~YT(h|W;XxF!Uqq!}Mu8 zd#25UIiRJ0>C<-BEoq5hCbaZm#?2?^eOjXgb$Q|Q1Lfumg^oWe<-sM=7*9hX`$NL z=oQbsjW(*SgsS|A>MZ3PYRpp3LhVr%Z8*1|sP-ZKOR6-6W0X)``_NI3>NbW`bVHTJ zu#G%Wr5!l56RLa+_OVB*V$Or5HTy*McLFYBDP=ktK=^+W%Eva`hHt5#4yHcD{&W0( z>Yz{E8-eT4F&nvvP-CHF{goDKeN0(1|BkxBTFE*)5gKS8)A{lf8hU?N(&h3q8XTU# zp(R@yN7M1omDBrw#UQ`G*!(qy{}%uN09H^qAT9s^0Fna$odGI906+jf!A_kit;6$C|66`Tb1Kzp0zrJN~KviP*Z%;6jqb_L)0QP7=BN^JKEX<%?NI ui)J!hT&&Gv4>S#EkAeh{HezI$%c#Y{z`-DR!$N%t19Jhxzu$8XFaQ8ULo@dP diff --git a/app/open-iconic/webp/eyedropper-2x.webp b/app/open-iconic/webp/eyedropper-2x.webp deleted file mode 100755 index a50b77aabc792516a89cc1f6db7e301a08ac3463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmWIYbaQ*dz`zjh>J$(bU=hIuWD5W>KNvas1bD0i@&xZ6RG6fqZogZefm5XIL;j1V z&W;m`hcrBdCvQ9S|L3==uL4OzhZdzeZ7l6zZl9Pk``XWIpSR~qPp(gTe(!f3m*8LZ z*;_mdU#TZe+plYL@_XF-x{F%dQ|IzrXvs!iahZB2VefV=W^Z4CR;gczid0eu)`l6)# sY5hKG~MlAuLe*|w>s4rn)E@1fgd(Hs{0Hd{LdjJ3c diff --git a/app/open-iconic/webp/eyedropper-3x.webp b/app/open-iconic/webp/eyedropper-3x.webp deleted file mode 100755 index e7170ef2c3740098fca742955bd2fb5c00b6196b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330 zcmV-Q0k!^8Nk&FO0RRA3MM6+kP&il$0000G0000N000*N06|PpNc8{!01;QBplu`P z)7~$B&mYTv3=xqD@i9vba`Dnc(@X`Ia){*_4&+rixj3raGk_r5w(01+AERw6Xd`Vq z*z+IJ!+jY-ME@DMZQIBR+uQROO3FPW=EK1XusJ0Q_W}K-N<30@dT_D7m3eyto{hBOG$q%#A^4zhUEJa7%j%C zcfe-y41Yl1$yenT*oqZb(dx19@&MQ|efaGim2QAt(~;}Jq__t5Y?3==5dOwNMyQs; zC07l`|BJ$kB@>n{nM{^~uJVD5OuEj_)HF2#00011P&gna0002e0sx%>Di{D506vj2 cjzlD)Ash4pO9=$@fB;tkhyVco_|F=^0I1iJ-~a#s diff --git a/app/open-iconic/webp/eyedropper-4x.webp b/app/open-iconic/webp/eyedropper-4x.webp deleted file mode 100755 index c8fc51aa4b8019ccac50e4420729c43a193edeca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 zcmV;B0dM|NNk&G90RRA3MM6+kP&il$0000G0000V0018V06|PpNIL-l01?l^plu{a zpX^>^^868A$aEBN3y<*K>s@h zpTl-~YpMfTD!zK`ZnZ@%$s1?Ww&=IoCpN(=eH=4SDU*4O@Wajn1BJGoE7N-h{zf*< zX1gr!82BFrto{sIUNevzLtv||9J0J*AU_Vlw&<_v1p|c%D0ajTS}{CLEKWkRE2f6- ziEzqMbX7dY5d)=Z&ss$<9wwG&4EKbK3pJ8?^%#{|UtqaGHnAm~ixF5WH_z8wB&+j= z`<6gw51PqA&yfl!IF46^hvFd)9PPAs93#T^hGRt7dU1>h87ESU)FQP=EdT%j09H^q uASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&VFWvI;n diff --git a/app/open-iconic/webp/eyedropper-6x.webp b/app/open-iconic/webp/eyedropper-6x.webp deleted file mode 100755 index c84e0b59e11750e76e7e303b12ae8bc764718fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmV;}0Vn=aNk&G{0RRA3MM6+kP&il$0000G0000l001ul06|PpNPz(W01=@g^70m;pg{x*o{C(7e@UZll@o*Z$k(`L@ufj~mkb+bS!xo|5hz|80j3m z2k*gq@E*Je@4QwoIifB-;C O^UfJy0RHy~fB*oI64g2Y diff --git a/app/open-iconic/webp/eyedropper-8x.webp b/app/open-iconic/webp/eyedropper-8x.webp deleted file mode 100755 index 6d08b1af102774acb1ed340c535f5aec0c37d5c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 560 zcmV-00?++YNk&E}0ssJ4MM6+kP&il$0000G0000#002J#06|PpNYeoT01>CcFp?w@ zc4i;>N4!K45qU{v4i}%u%Pec8;=1(A(KNTmQ`0X#aroo#I2?@w#7MSHTkG4lZQHi* z{b%JL%)>q#2}JbYk=r(sWSjTiXWjsH8+J1?Ym!% zob=kh8c*OfL%$F{TQD7+#;f2oUNSZf=Po`i&Rp==;M51l^^Pg@u{3y8!x4pEH%;o7 zhSUxz^ri{WZ(Z$xLT@YdJ5bvfH3RzT?NR7mg?@Uw3d$X-ZByud3!tCgCWSs!=y#^J zE@}k~`x#JLlRQ@VZ&mWt3RV7T+lr{oz_29>eRiPPqBF%7DDz_9t`==)7t{U4iI z$!mvMf9D75dyksV_yT&Qe+8&^S~{#Z7eMcioJmoq4`ASzHT?rHF1-!!Zh)cM|6uFD zn5fH7Wp8A$0gOsMbf&Zb^bIuwBZZ{fk<>rd_a_D@bvc9_E=I^CEdMG9p4x2#0V8hj0joa0rKR2nPTF09H^qAT9s^ y0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>I~Y0o1b9ROd4lWhi^YVa2V(`3Gh#0=gODEtzP%Y3D1qmQ+#KuK)l5 diff --git a/app/open-iconic/webp/file-3x.webp b/app/open-iconic/webp/file-3x.webp deleted file mode 100755 index 9b8e177a33322fbcce925d181de0f5008231a5fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmWIYbaSg?U|JV9{<0guFI@`4W+C`_9AiZP2r zN$Bm-lt0-G9sk%@GNruU)7^Jz>$%-8G&mDngX)1gfMzME0qILj409Q^Bp4(Z>?RuZ dxu`5sl>Wlx&B^kmfgzl+gMs1SkMmLo7yylVC>H<# diff --git a/app/open-iconic/webp/file-4x.webp b/app/open-iconic/webp/file-4x.webp deleted file mode 100755 index d3790d9376ebf528a67dc3eda4e567badc4ab870..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU| zU=-8%v-CYPkngWcN!%PJHn)wqGE=JZZh#${*_)7=Y#}r~!3fVq%!fsHMQ5 jz+gAgsLw@Zk)re$CT~ubFAWUgj2#RN|9+g8I=}z`tVSp` diff --git a/app/open-iconic/webp/file-6x.webp b/app/open-iconic/webp/file-6x.webp deleted file mode 100755 index ca1cabbba614aaadf38f0f184d2b5a57b329f0f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|Oxfx*H1^Et@`hJW8V8WbwlW;u*&)BZ(`Dyd^pU?zyLH;K@VucBxZ)W vj9Ly14h(h&{pPx8Rjx-aWHT&2;Q(zU&6p#!0_+)oC6F16Mh!r diff --git a/app/open-iconic/webp/fire-2x.webp b/app/open-iconic/webp/fire-2x.webp deleted file mode 100755 index e12970959c64f5e45b443796d0c6c192b514ef1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmWIYbaT7Jz`zjh>J$(bU=hIuWD5W>KNvas1b9pa@&x@4E|{p|YF^;OA9rv6mTGaq ziHvO*Yvktg^S5m0lbXyraaBcP$B%~wn{t=#v?x@RQ<3xgFI!i+Mc`unCePW^&iqsS zp1ZQs+}U;`cW#!MbYkYz@&jizEE)Fn=GNGVT6WiOn5^_%=1a6jQQX06ZJ$5N3LoCd zT$^aAE%AKg=c${ft$t{ua@ASb`pwh0cS+0Fs{q{ubghB}kTzmun9Hao0CctB4GZ-p O49o=#|9;OozyJVecu;x( diff --git a/app/open-iconic/webp/fire-3x.webp b/app/open-iconic/webp/fire-3x.webp deleted file mode 100755 index 2fdc805304d976b90fdd9caa6d24987e0d48347b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=SSNk&F40RRA3MM6+kP&il$0000G0000N000*N06|PpNZ|kg01@xOxNRFr zD>nHRre45mmVAV#un+L~wEw)xGK ze_-d_eNG4w{b%I1Z6p~wbyhtCZ_@&i8^2W}>FT!;$4q)J#+bTE+Q!h4TPE2$1(h0VSg48RIIG<;^j3VSqYgBkWG=>jmr{w3U`!47-% zJ?9`0b|ts(3WUPe<<bBWc9QOCFvGq&N*{7hw8QQlG=J3tGpt4)RNp3GhW*U@ zP?&-h_R(}_00011P&gna0002e0sx%>Di{D506vj2jzlD)Ash4pO9=$@fB;tkhyVco I_|F=^0Ekh4$N&HU diff --git a/app/open-iconic/webp/fire-4x.webp b/app/open-iconic/webp/fire-4x.webp deleted file mode 100755 index fef409dec971414d5bb992c57537eb6a9cce4b48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmV-~0ek*ZNk&F|0RRA3MM6+kP&il$0000G0000V0018V06|PpNG|~Z01+R;u#u!T zTmonJ-z}+#h{zH)cd!X=>@C#ebao>h)YnmAc0~cN{B%_{v5DveAU2YuNUGy|W@g4? zW+?xi+O6rH@gSoAjNG=3WLLMYGkOJrKG%`hhv|7@PPlza%Mr=6agk+vmXgmb99HA0 zE%Wd#K3|lsYO$O%=zS!6lQ4}q%3X%-M^R|f=rSsAv^oReI&f{mHUQ6oow=PC0G<>sC2bLDCqTo5uH|SLa*MSCuF7^fA zfd>Y?6e1j`ttkD~9c%|Sa+7zt!&+5v92m(}szZ|ekvn(}v>`p)lDv{Dcn*AP@I>+$ zSq~j}jc{yvima~=<5C!$PapH0I!y1vu6+PbS(e?09H^qASM6+0MY^godGH! i03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&T!{-PTI diff --git a/app/open-iconic/webp/fire-6x.webp b/app/open-iconic/webp/fire-6x.webp deleted file mode 100755 index bb80a376de02294a5e317dd1f23fc6efc86dce33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 528 zcmV+r0`L7&Nk&Ep0ssJ4MM6+kP&il$0000G0000l001ul06|PpNVx$301^Meux;B& zjg_?bKl?B1Y!MMT5Ed3n9PGrEj;}nGf8kYDd?{8Uy09qGq6LVJBq@^Wn3g1bX4)m`0EXK7TR@@SCr%1Of})_+Ez)RGG4m zpaztF3Bg3KR2u}-qoIZ%avlvU1Q6cQe1l`qV09zP^HTPBE`o%23z7pmoDUmk7F8^30?dwe z`bxkwr&Ad+bmMy+g3kJMnL(8)`_NswoRUxjO1}iPq)QztdZpSx{m`Kg-J_ufd8d69 zg35U`tROvFzv58g9Zh};;!N8m4?U#01#zI|zXIK$Wdbp!r2}2|XxT%wXr4f4PPCmM zQZ#-=prS`wJ;)Ueei3?3yAN5XVFcZy!yRf%bx%N5>GB6v_9@3ui4$G6(0$4Z)Pznm z=*l-wYh`eTX~l*GUo@00011P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIi SfB-;C^UfJy0RHy~fB*njSL+A> diff --git a/app/open-iconic/webp/fire-8x.webp b/app/open-iconic/webp/fire-8x.webp deleted file mode 100755 index f051435b38273797170c588f6e755222d26d116a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 680 zcmV;Z0$2S~Nk&GX0ssJ4MM6+kP&il$0000G0000#002J#06|PpNK66%01plu^b zH%a&7Pq@b-BJ#6T+?_4{WY#uk%QDzC{)Q)s+pE9(9g69}~ zM6rV{2Gb^rtiI5(h$7GEIY5CMbls!4`HZel6gJ+YuZ5xpf9On5Q0Cb=sJKtqvrtTfSx<(4Z7}O7U}qGK+b1$eZn+T2K%Fs<30LX zuulxGLJt1WnZT|vbPHK~r8k4EwW#|;ke77#A$F;EA=l_{L)3q%x^<|Dg#Hhx6{n+c<);aJP~_X2i_QO|JAb@}HN_M9=<1boA9OqwunjM;*>vX`#Ibm-4^5ixoI zlhWI}pMeGd09H^qAT9s^0Fna$odGI906+jf!A_kww|7^(eYw`!-5V|C!qqxt-dj(VU@{dsSO)%UrBrk(hoFQK>|n{ cF*3|$)Di&NAb7(70IQoQCIA2c diff --git a/app/open-iconic/webp/flag-3x.webp b/app/open-iconic/webp/flag-3x.webp deleted file mode 100755 index 4f9285e43265c05e2e61474cf0959a3fadbfa1ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWIYbaPw8z`zjh>J$(bU=hIuWD5YXI2bwl1bBo3d4l;1R^&>r5WhF=f3Z|&hsPE1 zdJ}^Vm6Ipy)Vv(If+jSGEKx{3TjR&1^h;ksW77fNc?u_m_oXc~&p!Ec!se%cPFQYo zxiJ$(bU=hIuWD5YXJQz9p1b9RNd4ls36ejV!*VFzheL+cS)26fC zd*=8Y*wL%vy0`kwg`erwA;-^m{Nv{6ib%da>B-qGH-+DZ1otio3s7GnZo(nO>f6}0 z=vm9A;4?R;t=)FsP<)2>nX62%{xdN!0PR#z1KMzjiD53ImI8wUgWW`J$(bU=hIuWD5YXJ{URr1b8$9d4k^?6ei{VcxNT`w_8S2N$Gk? zy0@E~(n2-zzxA{*6B&HlOnFGT+`(Y>nJ;)8Rs=?de^h9%PMn~;@nd*3*QyI zE0imcE1Wm4;bT1`&<#M>DQEy`A!dfTj9LZ^1`Kv99j3XcDl5)-!W7Ka@}+^n!Ta+$ N$pnUf-#Ho>7y#1mQ6K;S diff --git a/app/open-iconic/webp/flag-8x.webp b/app/open-iconic/webp/flag-8x.webp deleted file mode 100755 index 37dfb7e78fcb51aa10fb13f6c4b42c781a68173a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmWIYbaVU0z`zjh>J$(bU=hIuWD5YXJs3Iq1b8e2@&wZtF36RBS;o2j@<;V8{4Op} zI)5ISI!UD4Wa5;+Ne3sY++23m|Nge#_Iv-i?DJfD?brnWhR@i-n0(x@u4~?-2O1Xh zH$OP@N8-$!eXR-J2g91yvfk#{)|;@~V@<8jHAS)4GdfDWj#w>EiZ$A}Ze{}S#XQql z?@MQWRy$kS{cMqM@y&%h->`A`6|9y!8#+IYzd-Jh&7sPk&n(Yha!35z&j@rO(CrF( zKzb50!(2u!2L=ZQyMumn-PDv9iL)>z^RRqrU@&5soY~dIK4Z@VhJRo7>}&w41^|-o BXwU!v diff --git a/app/open-iconic/webp/flag.webp b/app/open-iconic/webp/flag.webp deleted file mode 100755 index e6ba39f7f158e70aa061f85ce28aac7524899ebc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmWIYbaTsMU|RoKYzsY$=TJFm4N|hih=}Cj}aroTt+Pp1`YJ$(bU=hIuWD5W>KNvas1bE~Cd4lB&CQMX$rtOfN!T0|CS24kf z8#FT7*H4cs2*{nCv!{H&hGLV3kPl0s45y5s$_(WuuHWxY8$6pWAo$n+-*%6WoE0l2 z@2x&;zSQHN2CL0=p8P8hotId!{t3P{>Asip&sC;&SqFBD9$lo)%)kJ2g@OdoP9sK! Zxr|x@K-UP~uuxyZz+Axa@AsSo3;;gcJ)-~s diff --git a/app/open-iconic/webp/flash-3x.webp b/app/open-iconic/webp/flash-3x.webp deleted file mode 100755 index 8fb624daf9819e86d68f5ad759d63c4df89fcf2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWIYbaT7Hz`zjh>J$(bU=hIuWD5YXI2bwl1bDOqd9wQ#m`qZ68gbwD#P%umP0{kM zE-INi2cJ~_w3q7J$(bU=hIuWD5YXJQz9p1bCDKd4l~5R`iNwOn<#!$${nIe*G91 zmqmA*q8>j#nRQ@CuZrv5GX+1}yDzuj@AxO|b4f?(8&}`Q(_YPUw#}UWo85MSXO+?a zEpiFpM1yZ6ZMa&Z99^=lD=)!ny6~x=TG}$&efe!2r?`%H{q+?Hj(ixg@t#NLDK2ec zpuIpBDX0PIOH2%N8MPD`6d3F#8uhuTEK-#I!sN}#@}+?xoUwy};opz*QU@3Sz}ijV diff --git a/app/open-iconic/webp/flash-6x.webp b/app/open-iconic/webp/flash-6x.webp deleted file mode 100755 index 50af2f3c55b85123e98e47ad8c4a457699ce0921..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmWIYbaQ*gz`zjh>J$(bU=hIuWD5YXJ{URr1bEB<@&wl}(3o_k<8yW8f)5Tt|Mzut zb$Dn*9h5n={(Q#PhdU;!xSm>^%JzS)?5W4`F8?oX%bm^9G-+*Zv(78y1h*u<8$UIwr@PW=&OaX!JY8{7=Kc_>kOj;!2NU72k@+ibj885n>rR?q;tPl%aeE~AzK mg8_rxN{4AKs>+Hpo-hS-wR~w{aPaQ#U!cNpp{-tpb%M!(i}u&A zDJcofdTGdcO-Q(IZ%Wdp#>Z}xL^S)SOa9$HHSg08JHfy1Gq&YQwQLXHk^XVdHn!xm zua36d-@oB@c2i98^`ne&@^$5Jb_FI+jdj~CzISIV+wSzeGh?fEtM6SIYqi^bZ)a@O zZuXUzYo4$Ay?&eE&4f*Xw>xs){GWC(07x6$T#@TywrxM_!EiWl+I^Yat-UAMCimVt zrYi$>2RF@ diff --git a/app/open-iconic/webp/flash.webp b/app/open-iconic/webp/flash.webp deleted file mode 100755 index ae1fce8b51a22d079e4b4720bd48255ede504888..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmWIYbaQK9U|p@XZ>fxVZT*C{$ll4^Lje|sYg4uJKyiia?W=A-*B(NiV0`}&};<> fAZ^6RFqct_gMouV@P>u@5(ef1hJU~39AE$di~TCg diff --git a/app/open-iconic/webp/folder-2x.webp b/app/open-iconic/webp/folder-2x.webp deleted file mode 100755 index 951608c386f919a5a29c087545b9ecec2d99aa27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU|$D)8!4$KV~i#-n*2SfdOcqf*MfwB_@Wsj9L;5 j5)5_|jrv?v7AZ=9Ve;l=`O?4;&e*}g@bAZYsRIlEL(M99 diff --git a/app/open-iconic/webp/folder-4x.webp b/app/open-iconic/webp/folder-4x.webp deleted file mode 100755 index bba20856fdfffc234022d5f82615178547eabe97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU|#bN3kvF7cM4<> z=;PbPv4H!pbB_6Z!N1`G0t`y$RtPeMZ-|OmSJywucTOV%1JFDLHK6WGObl}wwG i80;n*^|`1lQk4F}J$(bU=hIuWD5YXJs3Iq1bDaud4ll{Dh!P;ItAZJ=DE74EDC(e zYs%PQ5^?CZ#OkT0HETD$Wv_Uvyy!m{6O+S{nT=dJ*H6uAeQLc={`VWjvycAh1RdSE z6=)0t&;|uPAU%nhVJ@SV1A_yD-9f*(ZfeSl#95ejR&g|-9pRwlw!@nJ$(bU=hIuWD5W>KNvas1bB1+d4ks$2uxCWUNpg?QMh8tclDEe zf)f>5x~qihOh0(C9cIY5Y*1eQ&wk3qJad;X_L~#Kr#oiuUR%n=Tf$vh!u$3M+uSdF zvS0XOzc7}TF#CRCSSlL2G~ilrEn9GhhKq>PNoK*VcFUw(de)n@Zk`s^^~BZYl5U;e zuLI{@<$uh4A!q-yCi}z(W(EeJ3l$`Q?lEFyn9Hao0CcI~4GZ-p49o=#|9;OozyJUT C3`sNq diff --git a/app/open-iconic/webp/fork-3x.webp b/app/open-iconic/webp/fork-3x.webp deleted file mode 100755 index ad851fa6cb54ca1c599441e3389a22ff2d545784..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmV+}0nz?aNk&E{0RRA3MM6+kP&il$0000G0000N000*N06|PpNZJ4Z01r;fqh4hH>Omhyw?*ZMDhM0I~Ppd-v^sc|Q4sEkyJ` z;Rol}x#tjz&hc^TI{f{Lap530W1Kr^K--17v|Z>-dxB21XXr)ygkH37=t_HmZnQUO zNZW_Tv}4FG7#AK28^&#kf6=1a4lxX=ae$?eQb;Kzb^g9cDcD+*zY9|8@OsA&)kDha zr9;Z9+rS}lZED}B#~Ld9nsHhnH=^w!ccZ-`_o00wccZ-`H>MpTSMC@$9@%no=Y1TI z1pok6P&gna0002e0sx%>Di{D506vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0MNvK AiU0rr diff --git a/app/open-iconic/webp/fork-4x.webp b/app/open-iconic/webp/fork-4x.webp deleted file mode 100755 index 2dbe9bfc70b818058881d835840550581ad9e121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmV-|0e${bNk&F`0RRA3MM6+kP&il$0000G0000V0018V06|PpNG$;X01-FBAd;j; z%pMsG-~tQyHx)i;h=_DDUcql3WBbJxFY%hg5Whn7s?B2p5M$d`)g0X2-QvOBozs6w ztR8B+O$9H|^27b+*nnaT-rqjH4|sq`T;Dq~2KN*(e>r3>-TY0Z6*(1z9~ zg#YB2#v}Dj)zL g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^08bO5P5=M^ diff --git a/app/open-iconic/webp/fork-6x.webp b/app/open-iconic/webp/fork-6x.webp deleted file mode 100755 index 794c51c140bae270eb46e87f3369dee1b9ac0f55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcmV|zj)R!5Z=`*xOLM5p~sYXVo!4ikJcA&jX=`34+_{1{LSD& z0sD==dw5X5x_eFd+lL3m`#MV0Ps%1d7_@*7L*g8K7!cRtMgLU}e)K$z+VCt>emvc) zxA1+L(wRKs8nuYZxs32!O!e}D;1!KILR&N&2prJ-kH7=XJpwbDDFQQ^83GS9_Xr%) z93ZemvyIRVjWvRcDb=Ka@ODZiZQ&ZFEuBpf*SYD9Py9NKdpEcO00011P&gnc0000I q0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*nJdC`;r diff --git a/app/open-iconic/webp/fork-8x.webp b/app/open-iconic/webp/fork-8x.webp deleted file mode 100755 index acc9765f638ff95f4c131f4c7343d645f6141769..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmV-+0*U=nNk&F)0ssJ4MM6+kP&il$0000G0000#002J#06|PpNEreE01-#RxNRFr zyOQVnZU5DJuuVinK1U|C)Jx8er6bfk{0Xtk>ASEgmL2@KG1LNykt8XSl*_kt%*@P; z%iEp$OY~ITIrR!e^gr=$>*%!~e)V3Dnh>iyci;VA-*-DzNX>^x6YrZ4YFAU5=~Wf^ z%?Xo}4P=*xOb(ZjJ7o3%neE6-+(vqn!UmEnk=eM6RC7XMJcC4IL}6G*;-1nS61SAD zVOx<>Y{E1GrO<#mqId{%Kye@DmEsG`GsP#EKE)nPkKzwZpcr5R#VJgn7+@mB0Mn<~ zgBeil!@N>_fqAF+26IgD2Y{7IXc3>YUJs|Ny=^2UEgu(_xM+%zC`o|t&~bamiTXgOapb1|Mno$KrDUo-xtU<(B?mA4k6QQ-hK^+*(q&o zLZ;Ilboz{Epwnj^1?X~sB6OH+q7aKewor`4CLd>A6s*vW51Q3%8HHp1$6VNi?>h5w1)j|@g;4{J_mpnn*Nl{618#>D58(Df@fmJCia&4*6a(A>#Q?Vf z#Xj8LD89n&gyJ#WIuzURd!qCR$4;OyZNqby!VY}TnLUH|USKlp!hiOaiI*<^%iP81 zl)t8*=X3A|00011P&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I Q2bjFz0RHs6xqtuw02y5!*#H0l diff --git a/app/open-iconic/webp/fork.webp b/app/open-iconic/webp/fork.webp deleted file mode 100755 index 5114013fe3235efa11327a7e68c2addfb6bf4918..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmWIYbaSg?U|J$(bU=hIuWD5YXI2bwl1b9RNd4lo^0t(LOJcI=ga)wP@<5pFD z`T&>EHNi_sjD~;I^tZQl{L}Wi-4J$(bU=hIuWD5YXJQz9p1bActd7|nH0t$wYU0gP>u}xGtDk;af zGMM2A!@svr^YrI8bo?_ex@|V8IN^KQGfCO--IK0pKCerdx8yU^?-Lg87vFTfoMXVX zTtr9kn8GxR>;5Z?|7r8l?9pW!w==9`dtlD!}U1JDf$YCsz=F)_?# n)KXwjV6dBL)aRnINKyI=lQ$>Jmj;G##tsICe?QJk9bfJ$(bU=hIuWD5YXJ{URr1b9>dd7|nH0t$wYU0gP>x#cQ*o_eF# z&Egv)Q}n{mtR;UQ z9A{x*0J=#*1Ly)FW`?J$(bU=hIuWD5YXJs3Iq1bEB_@879lI zLxPo??b?33SNGcI3;qp%vMu+qLPGVe^*bU%tPNMsTD<=p?@fcBueP+WE6K8An2@P% z_%6VkwYgCL;Swh0Qz>_{82U;goE~t#G-x$woiZhDQ)ubbC0~-322|}!vzp>_eQN5r zFt26rwRirIZ`1iVOH6CgWqzGgJb`I8D@1opRhLIbA0%v3SfO z%HiN2a_0Y{{*Hg{$`)*=HvC{<0P0te0ID`(WSGmS#lgVAAb7(7 E00qVyH~;_u diff --git a/app/open-iconic/webp/fullscreen-exit-2x.webp b/app/open-iconic/webp/fullscreen-exit-2x.webp deleted file mode 100755 index ef5b686923463e77efb3a235374d649f0fa0fea9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmWIYbaSg?U|gsZIHUc`?UD5Rl@Vb^506GZNz6gSTHaEO;(Tq enq$PsFqctF0BD2Y4GZ-p49o=#|9;OozyJXE2PJy| diff --git a/app/open-iconic/webp/fullscreen-exit-3x.webp b/app/open-iconic/webp/fullscreen-exit-3x.webp deleted file mode 100755 index 4d94e318ff3cd039f2c7f153029eab228412f86c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmWIYbaPwAz`zjh>J$(bU=hIuWD5YXI2bwl1b9RNd4lo^0t(LOJcI=ga)wP@<5pFD z`T&>EHNi_sjD~+EeGWBo`4XRadmFE@wcgK#439o&?vGHpzHrOQ+lyGH-hOB0@kxAv zsj`z@kq+yfvg@I0+_R5N_fNI@05lnBr-B-gzQn{Zmr+ZCL4v_J$(bU=hIuWD5YXJQz9p1bE~Dd4l2!0v?Ia`dnN_Zi$$|0b#zRWO|okX5Y+6uPJ6d6DOo zO|Yr7=jR!Z7C3I2ZLmBtWc$P!ACI{IxsdyR|CWn^N*|6CD5a)2MgwgFxPl000XLMZf?6 diff --git a/app/open-iconic/webp/fullscreen-exit-6x.webp b/app/open-iconic/webp/fullscreen-exit-6x.webp deleted file mode 100755 index 28b22df563565b52be4744aba48d25ffd1959ec5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmWIYbaQ*cz`zjh>J$(bU=hIuWD5YXJ{URr1b9pX@+9>Y1QaB$>nSSt8()H`3SyHK*U%$7#7P`1Yb}^Cun;IK6qAZ&_%z`Nn@e`YBg- zFSs_nVEJ2-Z#TNv#7OO4S$~qtGCSI+Ot{6{M3L({(4j#0Drf**C&bJ!mr=`r!GOVT irNcBARb|B)Pnd$aTD~+eICy_PCz-(T?>k2W0|NjJ!dc}2 diff --git a/app/open-iconic/webp/fullscreen-exit-8x.webp b/app/open-iconic/webp/fullscreen-exit-8x.webp deleted file mode 100755 index 3f41345e65964703ad8dd2ad361d9eaa90e11397..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmWIYbaUfjWMBw)bqWXzu!!JdU|hNPmy_D}zP-z=H=!Rm@i<{3@ZJJ-2G?j^dP4LE&U{7KW7tah(A z^~&FGN6t&HJi)fLyYp}U9)-y^y*0m9Zxj(Le%~@zB~MJ+g(*X)ZO0Tg1@($u5)(Gg zNO$@a)1<^XX~W`^jT&!&o?-y{NI?%sPhw`6%c$kR;J{#a&~L7rn(`uX7N%q#mM;wq XMhufPySmtC?0LZO@5`Q@4M5cZ8WwDa diff --git a/app/open-iconic/webp/fullscreen-exit.webp b/app/open-iconic/webp/fullscreen-exit.webp deleted file mode 100755 index d282c4e6dd767f65d5b4b5828ff01a74bbe80395..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmWIYbaP8#U|RhLIbA0%v3SfO z%HiN2a_0Y{{*Hg`MmlyTP00)lK>Z35K-ET!409Q^I2bq>1aDZVFJWLVVEFfY&H)Ah D=tde^ diff --git a/app/open-iconic/webp/globe-2x.webp b/app/open-iconic/webp/globe-2x.webp deleted file mode 100755 index d5b139531bb09e696f3c044b98b259910566aa87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmWIYbaUfkWMBw)bqWXzu!!JdU|dd_)q?#4ce%MT4E?v@%{tJKyQ zx%P2hWmVf-#PKp;BVIIoT2=l!Ta9|9jLwDZt1YbRo+M6iW(N8N=t~6&AZ^6RFqctF W0O(u68y4zI7?=wf{{5bFfB^u%HgYil diff --git a/app/open-iconic/webp/globe-3x.webp b/app/open-iconic/webp/globe-3x.webp deleted file mode 100755 index 7238eafc9922f7e6a999e23ebef38833d089d29f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmV;F0c-wJNk&GD0RRA3MM6+kP&il$0000G0000N000*N06|PpNI(Gq01@}Xpphg+ z-@V5V{^cIzJw!xaY?+ylpV{@K=^GOZW|M4**XMOIWo9`eSaCB=PQoNdrYt~^B-ymp z&-VNN&-VMaZTtM*|1##>d(K@$ME?_Jc69vsD-XxRG(0n#ik4bW!LEMN^P>WDK2}~&=^O>%6yIo+p);R!hj8YO6y5hEWP|$uYA*w$%d^H6Wer(Hy$ySR44J2> z)QF;*9a#SB@8??hjxso=`~=~#LU}%=K76EJf?fQgdH+kj3oCX*>*tp$y`6_SrTz0j z$s!1IhxYw3rRRgSO#5I+{d3iVxwv)v`bVdqR&*!uh@Mmal31s)06Tn1S%suN=1oVIaR{@9s0RH&T8o&T?hrU(- diff --git a/app/open-iconic/webp/globe-4x.webp b/app/open-iconic/webp/globe-4x.webp deleted file mode 100755 index 2b4ba9714c67653b1cdc8868a484e4a99e25f445..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 482 zcmV<80UiEQNk&H60RRA3MM6+kP&il$0000G0000V0018V06|PpNR9yj01-!`ux;C> zk=@<@?{&Y3h-@we{a0dOrqNJg;Wa|1w$gDa-R#LQ3UOzM2oobnux(pyn`=SfE6j!@ zg_xw2Yi9bo^B>U%>B&Qg=zl_p8`*H9&1RT2VjPit9w_WHg^I9~vqHB+NXe8(Occsj zYx-^aqM{&a{bON$g<`U%%ilv3E>6vER|4pkE%qRVy6!nJo6b}&YDX)jLPY@Hz zgN*i92=N!iv_ZfA-$c3gWlo_U?^#SCon7D62Xy-g8B1SLaZQ)PD9xf)klVES9Jb9; z58@l$2V6K|aRwpi(2YZQwPs;~^23B~b&lfInts=PID)Dj)zL06vj2jzlD) YAsh4pO9=$@fB;tkhyVco_|F=^0CHX64gdfE diff --git a/app/open-iconic/webp/globe-6x.webp b/app/open-iconic/webp/globe-6x.webp deleted file mode 100755 index 407b0de1274c40cd46ae6905a2bf991679f6146a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 682 zcmV;b0#*G|Nk&GZ0ssJ4MM6+kP&il$0000G0000l001ul06|PpNK^s<01?OHplu^T zx=nib&mVD?MMUHyjtptI*GP;Z<9xF-kBc2AUhXyH~sZ==xFOcR#MH9>#U|8?-d`U5rt<4k-w(3lL_G z0}6wq3?#EHj?tQdy&Q0?pak1)O#T1M?(*ax$6Gu3j;Y5xFz-^YSF+G^-!$#ORF0{J zMVN9wG{z<9vjO#|91Qog3}>KbS~RsC=%2JTGf<9ccA;mAk0H%RNDBdtmoU!`Ir{$` zG7UV8uBk;|uQwa8eK2X(ve>0^g{G8oQ0F6*c`AEI8dSP< zp2D6Dne;l%1N^=*t;3@dx|mBKIA9u2!D~~=*Qg92oS^cy+@)H%rs_hrN$b@I)h&p! z9a`VJRKFm)r@iY_n}=YJ0zabm4Eth4L6mS5EfxFmBy3KHlE~*McHsRS!?sD0-(@dL4d)#Q$}t5Mk80Gf-z~wm)}}p=1`Y9<1KaY+ zTcbA!sMnF~)A;N_w(ytg9uha8@dCm!mB7XCHO(uKm8e`|R0wEnLge+C1|HHQn%5zi zXi_81T?i_UF}mDPD3xnH1uF`Z>h#bn09FRa$uUd98%kcc_*g+ z@4hyhMUtH^o;Rq++pv{}G=~w*!y@c6O^(r+h9q+oP#7FK5PDYu1;M31801@AUpl#cH zNq_#3yQ7GRJOqoMii=@#U9O8*EWwA=itrpRA}>Qrg`2YseZQN@9BM)Q9doXw{J1t*9m`ZSKVV4itrbl9ZQ^ANeGv9<|G znqU92-@FEuTYPywb(QSaS`xAh$AuM4HUdTm9wwL6&O+?g>F*)>OyvTTCbdb3Um0FO z@%oH@V!TEDHl!ZMjhplEcmb0uDjNu&sEkfig&+&@JEQ&_#z`uV2pd#>VLanPyfkF= z5usb8@_{+3_ptoSsK1!_Pt8o4>MvM+Qt=1WrS7P&ycno2Q7Qv8_0mhd>9kLDD_#H+) zjCbqbAiAMVyUyqqEFNf6D=>Nui*wrK?-(t^VwpBKX-0!2EK0OU%~E-shdkM!daX{G3WEs(%g3;PX$ztp*U5V z(-5adRLamS`ZRur^gN(4Sb*+;#u{W^j+zYgPc(f%lyg9vld>K4bASkS|skLwNx< z&Pk7!-DB8#w*y)XZal=`U3^mbc`=Q+HXc7{e1BL+yfdlWe68&Vq2I3MZ&EW50{{S4 zP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw E09@IU)c^nh diff --git a/app/open-iconic/webp/globe.webp b/app/open-iconic/webp/globe.webp deleted file mode 100755 index f615c90e1338da773766bab7edeac5c211fe9693..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5W>I~Y0o1bD;(d4l2#6(+4^DKGbM_}}t>dq;^XHiFe8W)m)XVZyrD6 z?D+X@Bg6Oq<^N+9qD@wro$FIt81vqZ31~XdUIhstZN$hhmr;v@frCNthK2eP2Ic~W Kf4}D(U;qGV;5khI diff --git a/app/open-iconic/webp/graph-2x.webp b/app/open-iconic/webp/graph-2x.webp deleted file mode 100755 index b6a142cdac3032fb62c6e2ad8c92233f6e098870..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmWIYbaR`)z`zjh>J$(bU=hIuWD5W>KNvas1b74id4ls7s4*}e>+<>U-`3&L6V4NA zkfXBlto3Y}ZU6Hw+6Oqg{6DJ3`S6eNtdUJ$(bU=hIuWD5YXI2bwl1b9>cd4l^FtjLvKA$}+G&-~~>7nh{a zSCNKa0%Z&`R6H-r+_(Mw<9gKweuALpeGFaQ8w Cj85tR diff --git a/app/open-iconic/webp/graph-4x.webp b/app/open-iconic/webp/graph-4x.webp deleted file mode 100755 index 76b35ffdf7d39bcdc7b1b80c35078d4e936de005..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmWIYbaQ*bz`zjh>J$(bU=hIuWD5YXJQz9p1bEB_@&x}UDCEvApM9nHztFKz7Z<+e z%foczTzJKhqkio8@zu?=ZQ|YnL9;E z$(((v#M>=yXTri>uPVN}SuDH1(KK>)&zg(3Qk8DDM~a8(mn}IL`g&DaXy;9viC(AK z&P;h^BpaaHa;NA}#^3*<`<7Y1*fjqe!<}cWJI<;%KTh$m^t1!I4d`kGH6VS7iD53I mmI8wUgWW`P^gt^m5J4AjlzT; zPe)-ykEo|GpvTl#=+mPbDs<^_jTGo*olX=QqbbyCm0GD*JjF7#gc^?oVrmAAT8kdc z0QwoIifB-;C^UfJy0RHy~ GfB*npQhtE| diff --git a/app/open-iconic/webp/graph-8x.webp b/app/open-iconic/webp/graph-8x.webp deleted file mode 100755 index 0cc14c15182693b3526f11975b75b7f424809200..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390 zcmV;10eSvXNk&F~0RRA3MM6+kP&il$0000G0000#002J#06|PpNGbsU01*eGpluuJ znvB}`Q`&tTA|hAb=9ev7#2iwl7#ZV4LZtHml5E?mnuEK$JH%blJO5!J?@5mexf8SJ2t?(#cHRRt6)u_GLQ!#Np_brR z3NxF5UD;z3kgM#)s%o`^SY555)>La5+1Nd}e-#xk>ThBedK3ms4 z!U0>yJ;ouK|A0)!Y%TjkTurscL9DJ;Q>&^~_F`qVl4~?1E4sgnuQf=vk0YtOy6Oilj(d;0P`@^`V+Z`hM!l?%^{W|a)h zt7;Ryoc9=1osD#nKAUgpB7dBp1hl1+xYo0)KL7w$P&gni0001z0|1=?DnI~006xJ^ kokk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw0Io2qRR910 diff --git a/app/open-iconic/webp/graph.webp b/app/open-iconic/webp/graph.webp deleted file mode 100755 index a00a088862760a527ed9b3ad50d453df68f152e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|-t~G$iM(JO+f;v*NBl}E~6F)0|$fP S4GZ-p49o=#|9;OozyJWG_#++w diff --git a/app/open-iconic/webp/grid-four-up-2x.webp b/app/open-iconic/webp/grid-four-up-2x.webp deleted file mode 100755 index 84a2ff9d236b91a9e4d8c95264301eab6af37145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmWIYbaM+~U|)P^}V{T%8M)2kKN%1Jak680Io+Niaw-*iAI*b5U8ODE)=Wo0H{B14B4t2Lr>u KALpeGFaQ9R^Bge% diff --git a/app/open-iconic/webp/grid-four-up-4x.webp b/app/open-iconic/webp/grid-four-up-4x.webp deleted file mode 100755 index 50482f6324b969a43555993547d4b5507e7eb4db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU|Sz2D^zyeJ(1C6s5l~d2_OSX|kK{_v5_O G0R{k!ogD)J diff --git a/app/open-iconic/webp/grid-four-up-6x.webp b/app/open-iconic/webp/grid-four-up-6x.webp deleted file mode 100755 index c1b2978636f51eda42ab378d587183cd4884b028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|kBy7aocK&%glGt)Kx^E5yt&mr=`r!GOVTrNcBARb|B)Pnd$aTD~+e SICy_PCz-(T?>k2W0|NlEk0cWS diff --git a/app/open-iconic/webp/grid-four-up-8x.webp b/app/open-iconic/webp/grid-four-up-8x.webp deleted file mode 100755 index 85ab0a8a8f9841f64510b8419f84da07a8886976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmWIYbaN|XU|**cj6Dw+{(afAvjM0Y0Q_zw!vFvP diff --git a/app/open-iconic/webp/grid-four-up.webp b/app/open-iconic/webp/grid-four-up.webp deleted file mode 100755 index b01041aae1122becbd977e2a45f3ee88930a0311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmWIYbaV4zU|@bCAW0}KFb8W9x$ diff --git a/app/open-iconic/webp/grid-three-up-2x.webp b/app/open-iconic/webp/grid-three-up-2x.webp deleted file mode 100755 index 5901f90a91e946fd5dbcad9c3773993fcd7e925f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmWIYbaRVhU|^XsoA|VYAG-%FxX8r>T^+9q$vG`$(xhqO9MkV PV+RAnzaQtN4ln=!jW8dh diff --git a/app/open-iconic/webp/grid-three-up-6x.webp b/app/open-iconic/webp/grid-three-up-6x.webp deleted file mode 100755 index 014b97af651ee57ff0618518996387527bd3d3cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmWIYbaN|XU|9eoi)Pn0vnC zA2&yrjX|@(Gq1{f-+37rfO-}5fGQ_3Gt6bwa$s;^usi5C*G)}%kvI!eG7rm_1_mRB V$(dbU>@)T}VEFfC&&~#*Y5>*LBrN~{ diff --git a/app/open-iconic/webp/grid-three-up.webp b/app/open-iconic/webp/grid-three-up.webp deleted file mode 100755 index 796b7d397fd86610c0a611eef209b20df99cd58e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmWIYbaM+~U|4JVAbg|AK-}3KQO}pK(q=@b7y@ mUZ5yYy@CXgHezI$%c#Y{z`-DR!$N%t19Jhxzu$8XFaQ8TdK8ub diff --git a/app/open-iconic/webp/grid-two-up-2x.webp b/app/open-iconic/webp/grid-two-up-2x.webp deleted file mode 100755 index 5912dc1d0a406969f2d2fdf0a70cfb7be8c57d3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96 zcmWIYbaRVfU|zG`(DLG q|AiY;#km<6fO-@pfGUg_8Rjx-2>|s9-mp+#!oXa>@bCAW0}KExp%~Ku diff --git a/app/open-iconic/webp/grid-two-up-3x.webp b/app/open-iconic/webp/grid-two-up-3x.webp deleted file mode 100755 index 9f2514393de4c39eb2e2ea44a3d0b73da67c30d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmWIYbaP8%U|PfeILadKJ`w^d%;Sxr|y03o08+Rf-~a#s diff --git a/app/open-iconic/webp/grid-two-up-6x.webp b/app/open-iconic/webp/grid-two-up-6x.webp deleted file mode 100755 index 859c7c3c5b9eb854246ccdc99bbf62c55c074e96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|r@co-}>k2W0|NjmW+9*e diff --git a/app/open-iconic/webp/grid-two-up-8x.webp b/app/open-iconic/webp/grid-two-up-8x.webp deleted file mode 100755 index 097cd14977bce19da6370393f38f7a0fd30657f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmWIYbaN|VU|$t_hrw{2B2yH#f2nK diff --git a/app/open-iconic/webp/grid-two-up.webp b/app/open-iconic/webp/grid-two-up.webp deleted file mode 100755 index 2d814ab3afebea2f60e833577e2d46b09a18ba63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmWIYbaM+~U|4JVAbg|AK-}3JyQyw;ptL`G5E% lBTy8mUO@s#8!Wz^ze;9wBEVWGZ+fw_R;-|smG7yw146wCks diff --git a/app/open-iconic/webp/hard-drive-2x.webp b/app/open-iconic/webp/hard-drive-2x.webp deleted file mode 100755 index a3ce84ec35a041c2c697d4dae4d44117b92c31f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmWIYbaU%sU|Gm2)L?veEvM2if3r;C<=>`UYUil^w((9ogZ4wm>$CZ8 rPI~Y5*4c@H0ceYY1kg+)MuxeJS^_}Z1aDZVFJWLVVEFfY&H)AhC+{(T diff --git a/app/open-iconic/webp/hard-drive-3x.webp b/app/open-iconic/webp/hard-drive-3x.webp deleted file mode 100755 index c1b67a066b182a92484cd3fc771e13fb28570f5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmWIYbaPw7z`zjh>J$(bU=hIuWD5YXI2bwl1b8F>d4kIqs7(@SlgaWDS;+ifF3!zG z#jr&&d$~lVSYFtMNh;cBA4w_S`M)7>&i#&mlYMWgq-4uSCU;3U%y=eZF_}x;+vDWo zwpp9&cPe@8-NHq@(SY|p} diff --git a/app/open-iconic/webp/hard-drive-4x.webp b/app/open-iconic/webp/hard-drive-4x.webp deleted file mode 100755 index 001525bcaceee62cb6602d590a27d378528fe9bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmWIYbaUImz`zjh>J$(bU=hIuWD5YXJQz9p1bAcvd4l^FXiQr2?9*Q6KNA}i{=ANe zadDYs;3N3QU(EjC(}bG|s-BZp#zpsk-@j_@{*HgMeQ&$vU6Tv?YQ4(v%KKOH8Q<5) z9+kb$c1KD7=Cc;%=DP4d+a_JAlxLk$Ym)H&J$(bU=hIuWD5YXJ{URr1bFlTd4m5Bm`z$@@#gURq+~~?C-O2L zo-QtI9Xk%$ztUtf-+1Ts5#JLDw>>5;vVE3*?9XMJwO@JsT>eY$%zfN3t89+$`iyI5 zvlzGL-H6Y;mB$yccdn4|)g5OuH7xIxL{2D~+~O~>DQ`xV%CnH!IroCNHr9AcC6#%z zCFOZb9_i9OyR-CY)4GDg{};OKdYk4CbR5u~3K~FH2{ALwWz;fYFkrA-=`hVjRatSy a6Q*FUmM;wq4&I;7NhUD-`_9q8zyJU^^;wYs diff --git a/app/open-iconic/webp/hard-drive-8x.webp b/app/open-iconic/webp/hard-drive-8x.webp deleted file mode 100755 index 79a1a36204ed2de4295a9910c36fdbca4296a8d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmV+t0qy=$Nk&Er0RRA3MM6+kP&il$0000G0000#002J#06|PpNVWg~01-#QIFh6` ztidDmcTp(+*bq@fL%WS3oGI$TuG9oD)SU~cZa_J5#I>XUsyy$ z|JAr{8;R-K?RvxH42tVi9MS?VKG6J+bOOo2w*tw+*V%(&*Op+GN4(r&(U$koY}Cq< zmrI-7am@vq#{1p6mu3A8yw|rbq*D4J)DvR>i%=#;4vSX-i%?&TAuK|hQYy7AEXGEg zL0$}l^+ufg8(8YDIY@$k4*&pGP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJ YfB-T8lWB^I2bjFz0RHs6xqtuw0KjZ-j{pDw diff --git a/app/open-iconic/webp/hard-drive.webp b/app/open-iconic/webp/hard-drive.webp deleted file mode 100755 index 95335e86abbb8df7ddfb2fdf21abdbc80675b858..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|JVEybY7C6Wtd<7GUG3mFV(sk| zsN#8c;?E{2p0AOX~A#KU|)HGG_lyh-KvNYYfMysm bGR$Sv5&)Vmc*8<{2?KKh!@u8i4ln=!?_4UG diff --git a/app/open-iconic/webp/header-3x.webp b/app/open-iconic/webp/header-3x.webp deleted file mode 100755 index 561e24912be61b1c4c809f65b2939d19a077d267..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmWIYbaR`J$(bU=hIuWD5YXI2bwl1bFxYd4lc^Y6+6JSFG;n;CQvjQo?o8 zk`>>#`-?O@pZwnI$Hu0Pf2)0OH+Vj)V{5n?KKHigq}v^n($4hex$J-K_orun>2~`k z%@0@oety25185r19tAZZeTj)-E~AzNg9L-!M58_zl|_ouUzof(S-vzdgfn(9F#P** IUg`h?02mlNmjD0& diff --git a/app/open-iconic/webp/header-4x.webp b/app/open-iconic/webp/header-4x.webp deleted file mode 100755 index 41fdfbbcc8e241f0ecf43bc12bb2bbd66a3c353f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmWIYbaPw6z`zjh>J$(bU=hIuWD5YXJQz9p1b9RMd4k~%3JweT>mt()w3U=n!{j!s z%AI}9iOsg=qxNJTC6A3+_r5DTxcnDgl6znc)3=x%%=?TJvREZ%G44`pSk%b-^gSE< zzRT}Hq@(or^g< diff --git a/app/open-iconic/webp/header-6x.webp b/app/open-iconic/webp/header-6x.webp deleted file mode 100755 index eb2f6330c8316b965a551ef1ea2bcac6fa74a0b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmWIYbaOk#z`zjh>J$(bU=hIuWD5YXJ{URr1b9>cd4lN+)EI==3Sysap1d|wP_T2U z{)^`gp1HS!-ld;%WKr593!uukK&>^}g7DYg_J&9cxcXKbiD|x%mxq zUtr*C?l+E|c?p55gl9}W)ljmO_k>xc``sjs6TPp6n;D&j4>RlN@_b{y9+9pvU6@CX zlYs%~A_Wbg{X)zPa~ZV^7z`NfRys^`QB_u)@q{UutK~}rgM;_ybCL-R|GslHFfafB DsL@EU diff --git a/app/open-iconic/webp/header-8x.webp b/app/open-iconic/webp/header-8x.webp deleted file mode 100755 index e385bd2ac298e174536c1170d2fc92a33349e2e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmWIYbaQ*bz`zjh>J$(bU=hIuWD5YXJs3Iq1b9pa@&xM>mgUY?OP|?u_yX^*02h~K zf0PQW3WBq5U*1!~ex|2~V+ET)GqZ{bH^%`_?{7X6C)Paw^LPHg`koj2o3`c7n0dgC zBZ!IN`!mKj^-1SsCVgCfnmIlxOJmR0N|_@|0%mNf{BndPKx0d#!;8l6&lf&>_TiU} zRua=}o3tdO*)}cvEh3(5@)T}VEFfC&&~#*Y5;W#UcvwX diff --git a/app/open-iconic/webp/header.webp b/app/open-iconic/webp/header.webp deleted file mode 100755 index 1185618d492df8f55642429ad5da680f8a25cce1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|Zl8F` zn;?5!{_^WUmoN7D`LTLU4{QZotZJ*f`GKl|<|s%2X(L94xr|yI3>*xCH!RebFfbP| K{QEuU00RIw6&@%6 diff --git a/app/open-iconic/webp/headphones-2x.webp b/app/open-iconic/webp/headphones-2x.webp deleted file mode 100755 index b14e218bba21d8b93d581c67d746005fb2621bf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmWIYbaUIrz`zjh>J$(bU=hIuWD5W>KNvas1b9>cd4k^;tjJZ)tjc(1DpSU(GxO>B zr%Hl?lAX>1XIcFUxQ`hAOK5ad_U!sLbLPswuWkO+vkLxIpS`8CAilw_& zS{UT)-1s6v|M3#5Naon%^SUO*nk>?plC)x`OJ&Ddp}ar`oe#?-%Xxl0`tSDQE!*SY lK&Jp*q#yyb--wZ6E~AzJ&}D)*EYz1UFc&cV`#t9X0|2cUMtlGO diff --git a/app/open-iconic/webp/headphones-3x.webp b/app/open-iconic/webp/headphones-3x.webp deleted file mode 100755 index a50750d210b0df875b571b7a79336149dba88c02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmV+b0ssC|Nk&Ha00012MM6+kP&il$0000G0000N000*N06|PpNUQ(=01+?2rjaB^ z*S+WdBbz!Z&!5!7h=?r1+w8d7@kiX{GcSXUkd%PKNVe0)%*+nQ^7Y@NBK1oVIaR{@9s0RH&T G8o&U-k#BVX diff --git a/app/open-iconic/webp/headphones-4x.webp b/app/open-iconic/webp/headphones-4x.webp deleted file mode 100755 index a56debc51013a0e4aafae4d1398ef5b77595bde9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPqWNk&F00RRA3MM6+kP&il$0000G0000V0018V06|PpNZkMc01>CbxNRFr zBiq^e?pek5-(S*2MC79QM3-*eLhfyZ4oCdz)0g;UW-~zyU`dj!sv6wg-QA(~zqy$s zz?0vI{xfjfwvp6v`}7X+nHw**_xpA+%1V@(*%QadG#xP;XS|;3!8su0s~U3T)x zWWKvH!+)63yO*Y$(Yor*w2zt2qIfLnn22jmf7BGOZQzk{E5`bU_)V;VpDj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^ E0Gwfpg#Z8m diff --git a/app/open-iconic/webp/headphones-6x.webp b/app/open-iconic/webp/headphones-6x.webp deleted file mode 100755 index 72ec399c9a25872d5901806aff606c2a18959a62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396 zcmV;70dxLRNk&G50RRA3MM6+kP&il$0000G0000l001ul06|PpNHqZf01+?3pphg+ z-*b!tp8U()yE73Hd10QNu;^s`4pSFvI&O9mrsPaK9C_zaU=0~7;Q=h$whT!xBC^`H zZKG`6`48$vytr+AMf9J6+qR9w+cWPF!s6a-xicDd$~U_U@^*gv5ti}&rhntQTtil6 z=`Baa1t_P1UT0oFdYWR_Drl8yYAuZ8#=**L2(zn)O(dSFo9P?%btehG(L(HuSeFsI zoDkFG6=M1S_~ftql64f%Q*n~9og51xIoyzp2dKsb(`5X@o!A!R;n#(-1vQ=*(_XxH zTt43Ii0KyUKuE_>*J3I|t+1^@y^5&=HOn>!)fUqTDzFt$Lop#j9vM^p)Ris<0N$Zk z|Gc;W-ZS8A@ZRQwoIifB-;C^UfJy0RHy~fB*o<^04** diff --git a/app/open-iconic/webp/headphones-8x.webp b/app/open-iconic/webp/headphones-8x.webp deleted file mode 100755 index 898459dbc8a79676f077c02e6526b415ed35e2d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmV+b0{{I|Nk&Ha0RRA3MM6+kP&il$0000G0000#002J#06|PpNTdM(01>yspphg+ z-+j-_{-qxLdx(gvBueT?5_@7}9K(*IG>Djx&x`3M^dhoInn=b?el;-wNV09KYA){X z?hp?acf}pf{0H;wep;z?BKpt3Z6ihX(lOs7$Xuw{e;!SCyUFOOUkH-beC;==9bQ{r zvQW6Yf`R3A$f}X!atT9=GrJ`<_5p_Xs0B4Q2g@|eu9ZEQ_9bpTfbGC5IrVrpsHFl< zXCPG{E}*i@FltP>#b?<~3hv4`6s8g5>QEhM)v=L={d5i4tKBpgs=0A8kobb^#IS}H zuj`wSjQAC|Wp4Nxb`@j8N)%A+;)+c8iCu7MCL`$QOxGi5)hZxS~b8C`;H+dfG z8ukF=g4su5EIqDRsiL6jn< zG(^9oHGwEVOhJgoq_u;{NlY$?wxk6KV_WX|{pFH;kpE^DMz+3BP;vnrFTgzUfa3;t zn`38%V+a4gSwmyRkN!OGp>fNP{yYTAO%Z-Fy8pUF3qR?$4zi z9WI+HrF8cnSg~!bR{Q_?JX;dH_}tnIJCuVnSdAkboMtF3`hWAB=C*yaoqInx{e2L* qA#cYIMg|6;9SRaa6O9-d<}zw=FmNyk-mp+#!oXa>@bCAW0}KENQ88Tr diff --git a/app/open-iconic/webp/heart-2x.webp b/app/open-iconic/webp/heart-2x.webp deleted file mode 100755 index aaca92027ca238b2630a3344b40c0a38f42e1abe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWIYbaUIpz`zjh>J$(bU=hIuWD5W>KNvas1b7q!d4lg3C@^riY(C6=dCz)b!HEr? zKN>Gvv_$Xdd7p5>W749^G&{EccHa{|^C|txH_M%EHS0I~zbhsSj-CEd&9Kb8CH=q> zCDmO!D+-RUdE6Vhyf^ZgD8En2CH3-Z{a5?MX0H+Cc1UJeopOPNIf6yG*HN1hXeZD$ g3KBrth>>9~qm}^BRf0Dx)R!J$(bU=hIuWD5YXI2bwl1bEB?@&x%8YD~J)Vau|B!FSK2_*1gH zf)g2&Rl|fI9XLMYC}*RivS-(`cQa?+-0wZ>?h{^@FY_nf-ZoKd<>onm`2Msk6y7I2 zXUn}lyW)b!X@4vCnYaA?x`?|WLqYn^$6psB@{^=DbqhQ%aV{1-)t7fe@6fhv^MY+r z)m<*tNz1Q>MzXA4c9UIT-KiZqQ%`F6;-kwCUhi0=$h1zy(`@a&Z69;?-~7*|Uv=(qz03cTYPqvg-pl?7*WoU9 zIs5Y8o-c-KD&4PNm&U3{JPga1{J3t;#s0EiiwoPNt!E~tGT)0!yK%!oeRGO~{^lnh z_l!_K7BsMZ_r~c7qc!^HqL;B}ukvtFLX_HrJZ}(AL#D zeII@!`p?L1+c1!HciZg~_}2-!=eYJn8cd zd$K!y%OQssa(m~Vis%QVgePj=J$ccONE${#oqOU(b+8QsiIaEFP+fF^v3F16t}d?8 zq`ZnhJCmKs4k)uT*_rH2cBTXJ$(bU=hK^z`!5?#P(q1=o8>k0hAS-e#mT+iu#!ar7SZdp3J}h z&)(6+rOe~)#5I4aZ>6(+68L>^u7uK8Ra?QG6ML@A>o8%wy-n5mQts_<5xKLI&mZ|; z@4H${sV!gdulnpQnUnUGKe*r7THF2k^wiZ~*4=+mcS)-%k;{Lf;lAZ(*H7YC(oJPCi)D`CT`T6eYc=*|QB_l-AJ6nw0o+Tl6v|7u5{ zQ@-EUD;mD+y|F*9^W>|(zptBT)YNRM-+27_-?k}{ydE>-rcPP;#B=7H-;E)aC66bC z>|}B}zvM(Q%K=5rA|8fqW-BjlWn}nc9F!z=z-*=JN(29d>07!!t1MXM$R)LG0gzBp zuxAy2%_8FA&SCX<=K;gNFMD=2096A3 DdU?(h diff --git a/app/open-iconic/webp/heart.webp b/app/open-iconic/webp/heart.webp deleted file mode 100755 index cc3055b6d13b9afd1986deeaa6fc0e3cbc06651a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU|rJij6WxoQfR*NiV9G%uw&@_@`deF1P#bwz=7_b~?R3p{TKA5;Fq> j&~ya}pjk$Y409Q^I2bq>1aDZVFJWLVVEFfY&H)AhcK diff --git a/app/open-iconic/webp/home-2x.webp b/app/open-iconic/webp/home-2x.webp deleted file mode 100755 index 74dbe3a138e194c283aace70a1c40fe230cc9498..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmWIYbaR`=z`zjh>J$(bU=hIuWD5W>KNvas1bBo4d4lB&mQ56~s4FjN;bV^Yk)@>c zKxf;_$}_5VFv&jd6VXrqDzkTzmun9Hao0JK@~hK2eP2Ic~Wf4}D(U;qHI C%rese diff --git a/app/open-iconic/webp/home-3x.webp b/app/open-iconic/webp/home-3x.webp deleted file mode 100755 index 586eb878db0589cce8e328fb050023e116f98f74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmWIYbaUIqz`zjh>J$(bU=hIuWD5YXI2bwl1bE~Dd4ls7s7<=#wlYYaWs$(0+4gIi z1qC%%uJzG~uk@;9I+m-VIV<(qpUJ5f74Bc+6K|V&9N%M|;N+3bV(k*E*_YFCVrkGc zZT^==6ArH4##y;5Yj!}`Dnd&D diff --git a/app/open-iconic/webp/home-4x.webp b/app/open-iconic/webp/home-4x.webp deleted file mode 100755 index 92a5fab8dbf78ef69d43e957cd4c95a11b6dedcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWIYbaOkyz`zjh>J$(bU=hIuWD5YXJQz9p1b8$6d4k&)teB``y8VpYIi|h(N=#hh zkHlR5bnq8WkrM8??Gd!)4A12HHM@`h=zX#O(6-#!8+O0k!Tk2XwWJa@ZidErD>fax zaOI-lwhfO?EIh@O)A7b3c1dnVRsNQ#Wd_}>77CvZXJ+4(@sIxeq~KQ6BlgSJigcNH zk2CZBm$LuU?+>&e=rRR0Abp96VJ@SV0)qmB-9)247nMbd(qEXoIa$6mFoZL9Ffjc4 JabD^G0{{?_QQZIl diff --git a/app/open-iconic/webp/home-6x.webp b/app/open-iconic/webp/home-6x.webp deleted file mode 100755 index 55f5db4df3eecc5b3d85bd5d8d8d0e7ea3183990..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmWIYbaVT{z`zjh>J$(bU=hIuWD5YXJ{URr1b8e3@&vChP}r9H;yt%jhXdo^>`GlF zrOXd$GRZc_ME^zUbxZf$aSJlpa)#%B{mZOX+n4*Twsrk7zw!3A-c#R}+Hpo-hS-wR~w{aPaSaz!GE!LIOAhCnwW58+iu#}X_%RmzyEy}6ib>llZgH^aN9Oc zi5}ZDpzm-(zG=L(6wko?a&~gU8|BW3Z}7vYif1t9*y+m&EGnEbCWBEG&-W9$RZa*( zrPe7RW3-XVjAsZe8dXk`35CixkdjvMET527IYC8u-38Rjx-aWHT&2;Q(zU&6p#!0_+)oC6F1ciAgi diff --git a/app/open-iconic/webp/image-2x.webp b/app/open-iconic/webp/image-2x.webp deleted file mode 100755 index 906af2227bbd4065b8888bd7da745d2fa5963a74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmWIYbaSg?U|_GiMlNBU@ dv=Jl2Tt+PcpbdgIEYz1UFc&cV`#t9X0|1s(C;k8c diff --git a/app/open-iconic/webp/image-3x.webp b/app/open-iconic/webp/image-3x.webp deleted file mode 100755 index dafcd97e9f7ac7840f2d31c93a80f289f34fcfea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmWIYbaR`J$(bU=hIuWD5YXI2bwl1bFxXd4l2!0v?Ia2I>jkYKQzXw>JTvPe<-3zIh|%a;a*aK;V>hJQcK IOC4YU0Bt!ip#T5? diff --git a/app/open-iconic/webp/image-4x.webp b/app/open-iconic/webp/image-4x.webp deleted file mode 100755 index 972a2dd8ef781be443092e4e59e53b63a8a49053..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5YXJQz9p1bFxZd4l2!0v?Iam6 zlj#dbUZr)9jP^=)yx2cM;ou8lY5qvHv3q1{I zm-XI>T+rllm=S0m&?W^nAbp96VJ@SV0)qmB-9)247nMbd(qEXoIa$6mFoZL9Ffjc4 JabD^G0{}OpGe!Ua diff --git a/app/open-iconic/webp/image-6x.webp b/app/open-iconic/webp/image-6x.webp deleted file mode 100755 index 613ae2de5ea1bacf01bb5e3b1033e0f4a00057cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmWIYbaUImz`zjh>J$(bU=hIuWD5YXJ{URr1bAcud9vyX0t$wYU0f3Q+$O4MzPcU9 z$jg({%IH7c9T5pcyHlGg}q$wvgWjPO)>hACfR)8h7lW+zPH4Yv%R{B z3+%reofPPDVi8~MxMby*m0$FxKH=9an;kKY>*|dlNiD%*ZJJ$(bU=hIuWD5YXJs3Iq1bE~Fd9vyX0t$wYU0f3Q+=^%D*al&Em!)OUu5O+WBM0bv&{d!m{lr!>uRw?@;8~LVA*!YwHnLNA4!uK};?E|_*K@Uhz yVrH1jsO7-mz+iXKZ?2n~@*;5-req$LFAWSv43jgvy4YvzdBE`R%buMLK-B?GO(H4^3cdBZDgQ)WzSJ{uojy?=`Hxd|5u?-epBpy$0QCV)RFDADMvM$|8MOp} UCJWxMP+!8pT)^<}_nZR^0PubzBme*a diff --git a/app/open-iconic/webp/inbox-3x.webp b/app/open-iconic/webp/inbox-3x.webp deleted file mode 100755 index b94745effa435eda161437da8d2977551e072eb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmWIYbaR`)z`zjh>J$(bU=hIuWD5YXI2bwl1b8?Dd4l>5Y6+4ud7-HSf(OM#bCf;( zRK8e>v?|D(|4%r=U+3~)R4w2tGPx!Sw!|*?$uBwpcz2Z v71V(AB_@Wsj9L;55)5_|jrv?v7AZ=9Ve;l=`O?4;&e*}g@bAZYsRIlEe9kJ* diff --git a/app/open-iconic/webp/inbox-4x.webp b/app/open-iconic/webp/inbox-4x.webp deleted file mode 100755 index 5e233a7a18be745133a7dac51d8eee99583485b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmWIYbaR`+z`zjh>J$(bU=hIuWD5YXJQz9p1bBD=d4l>26ejUn{jBp?FkeGS>4SNk zMwg1Z5}(CV1xCi}Kg=h$i0@JUwca3CT5Y#&YGLAYN4DwpY#skxcxE5l;@}gX^-1mf zS!MJ$(bU=hIuWD5YXJ{URr1bFxYd4l>5Dh{)jOsYxxK37n%W@CVe zXV76w1usV?rc1xdH*Y`xSo~srYwm4@qX*U5mDH6Es(dJCIB-M1xyT@gPa=1Dh4s@d z0n!g2gzg0z#sIWOK?6t&F*D3%)G}Z&V6a>1FwI3(S#ib_reLm?FAWS1-k;A&CNTW_ J&e6cY006RtG)({i diff --git a/app/open-iconic/webp/inbox-8x.webp b/app/open-iconic/webp/inbox-8x.webp deleted file mode 100755 index ce1346a1530a4d037f43f80ba26323c0a75e47c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmWIYbaUIlz`zjh>J$(bU=hIuWD5YXJs3Iq1bD;%d4l!}R`jZvlz&JSDqW|i#1v=N z$C;CTdzlNn(cBEjb(8z d^RRqrU@&5soY~dIK4Z@VhJRo7>}&w41^|NnKREyZ diff --git a/app/open-iconic/webp/inbox.webp b/app/open-iconic/webp/inbox.webp deleted file mode 100755 index 43ebdb06a73ea8008ef6ff1a60e43cf288237361..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|@bCAW0}KHEwjmn; diff --git a/app/open-iconic/webp/infinity-2x.webp b/app/open-iconic/webp/infinity-2x.webp deleted file mode 100755 index be4a4667c3b95eac144e9ee67afefa65e2eaf751..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmWIYbaOk$z`zjh>J$(bU=hIuWD5W>KNvas1b9pU@&xxU)R?rSP10z`0l9zwPrA6I zXxusFtt1yU<@K|rnxFQ1$2~0H(U%h4srNe1;`I*e?@#96T>IUdN${`#toxlitK~e; z&7bHzJEv_`$?Ddm!|l8Grmm27nZC7MKG}PdkK#hNO@}QKy*HgwxY(4^|Byew_BwX;B{0bQyf0d$uUBg0%qEdij51#eiWFJWLV LVEFfY&H)AhHvd&g diff --git a/app/open-iconic/webp/infinity-3x.webp b/app/open-iconic/webp/infinity-3x.webp deleted file mode 100755 index cbff7fa6070697f41a5fbd60c82b98fd8634f9fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmV-A0mc4ONk&F80RRA3MM6+kP&il$0000G0000N000*N06|PpNag?l01r7 z-+lhr^XH#`hG%n#he%@RMQzHx-Z5XKa`6Fr3u}SsKYLFn={*=%JKo{Zh`;dpgs6aY<*JMD;-HISt9Z(%M&`vNucr z@4XHaYY+du#dQWp2mk<9P&gna0002e0sx%>Di{D506vj2jzlD)Ash4pO9=$@fB;tk MhyVco_|F=^0Dq!}MgRZ+ diff --git a/app/open-iconic/webp/infinity-4x.webp b/app/open-iconic/webp/infinity-4x.webp deleted file mode 100755 index 4444beab6ce84d1a19978f0ee7a8fe26b501953b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmV-u0hj(#Nk&Fs0RRA3MM6+kP&il$0000G0000V0018V06|PpNE87801@xOxNRFr z6Unpp{`S57mzn7zB66fsn~M#}DGc!;A z|65(Hnm+F_qW_7%pfSBi-(xR@SY~jJ%zaXaN^hw@O{n&ddYgizZgh-&7=K2`H3_q# zbLpEkol8_`ca<>N`O;2jw4YWYDDP;?Bg)=`Ej}2#Lx+^;MyWz&pH%k@RE=^SQT85e@yXaN59=Q&!wT)L5+plc z+KHk4w30z(Pg}y0&bj9=>0H1huXGGO7=J>?B?(Dws6S1p)|YyngsM+&(eKzzB9`u- ze$j1Q!(RXZ09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T G8o&T+Hkq6N diff --git a/app/open-iconic/webp/infinity-6x.webp b/app/open-iconic/webp/infinity-6x.webp deleted file mode 100755 index cbde33f810590a756a93f89c8e2d0f2203cb4a38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcmWIYbaQ*d$iNWp>J$(bU=hK^z`!5?#QI?5=o8>E4=5|>e`rOoiu?A^TFbqC_E+u1 z1Sd{b{bK5o{;L1zBcF)0ZV4H|{XG7hqVnFlZCod|iCzA#Q%gl7{{{OFN&Xj&9 z(B=Q+f89cl@Alrd@9yfBxwG{u|MvXdg>!ml3V(@io_H|Jeu4buB^xEru-j)IG(HpT zHc9uv7mvx4st;zKdtuyWtbcL2&I6kz`&sr0s%|>X6yG6nGg@Q1+ksCaeF2qb>I>d| z&eOi|qjA$hjwxH)RbF#x=u3BHOnP+Ff%B_k{oW;__YC%JT2i@w!d~8#Zl0UwJnuy$ zZ%ufuoif3PmC^Uf36Z8hq7%ddDRC@f%$&H9Z>^h~xXOMfwv!UHp|_CxtyR*k=Sb)c|ZOC)C!vPMjCTPWdZmRCcMaut_dn@q5p4 zF0=ZDYfkoY*C=wOOlR3A5co^_;Lq3v{+)*_9pug0FWY*0J>y(%seDq+;C;;!RzHJ& z$;_9^U$W;;Y~1?p0>7uxG56cr+x0(h0tVjIr>(cIztwR2@5;acj5h@hV4MjtGt6bw oGGH)Zuv_Uc%|%sNamEv-V6K)g4Ga$6pU+7qF#P+@(ZIj}03f~8&Hw-a diff --git a/app/open-iconic/webp/infinity-8x.webp b/app/open-iconic/webp/infinity-8x.webp deleted file mode 100755 index 6a2faea8c493b4d9ab26b0052dce4e2a942a8dd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 628 zcmV-)0*n1pNk&F&0ssJ4MM6+kP&il$0000G0000#002J#06|PpNEZSC01=5GA|i4V7Zyv#pVZEW#lw!-$&Sd0Vf>L8vA7U#$Abm|TaskcR_}vr+qR8k zY+N1e)&Ku52ea0!^L`&9`k(kmFn{t9w^H+4y#z%0h!$a~aB7Lan|4*It*pIfpB_G1R-eu#f3i$iW&b)9(;+o4(Bnh^d&qTNuuC z=$%YrF#S#M_6!Ckj*v{CH~GyGis*09PG2^sGP$)ELq|B)i|9xnS96)E%~wNv4ZR|* zXdZGgq@z-$qdpJ05YsAP(on`@u(L1pddR>YODN660i{`l^O_##a4s3j{TIp)C>K;u zp?p$4hmD5s%5(s>VchO%WSGf;yf9fbgDhB7sj8K^;#jzR!6Lz%WH zXP`dOc?WfdvK3P9K)a!G4sDmR`9k>#<&x?Nlmg|`0i{`j^M)R0a4s9l{YgWajKR*n z((68eJ)TgS2^49?3y@0@9pxS!^?As}gjNB)HQMHNYdV`-e>HS8^SzLc^l2@Zo!)vg zv{%tDa)fvsy@`Y)6fl@+(>tEPVCswB?P(0R=-U{Fn2hMV33)`nj~uLgiGByLce~Wn zGq{2)L%p*D*LnNa(6rxSpNCRGG+99c eNEJ$(bU=hIuWD5W>KNvas1bCDHd4lW<)fgtQ6}-iN z$?cYv)}Q7hu8#cPRwsmRY8hmxcwW3?eAoE#kMN%sm7Icq{cAo|Zkk|xUa;tqrNgbl z6CZA`oVM0LK=eIRQldn0BcFxScO6AxIk}YMVpU7|_ZoZcbTHY&&9Oah`k@DG3=BZm hC`bV9HezI$%cvy)bd}%@3-u)o%mobpe$P3;008bQKIZ@c diff --git a/app/open-iconic/webp/info-3x.webp b/app/open-iconic/webp/info-3x.webp deleted file mode 100755 index c769077eab28c9d5e699dc2d732063b752ef440d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmV+v0qg!!Nk&Et0RRA3MM6+kP&il$0000G0000N000*N06|PpNWcI901@B8u#u!T z>>c2o`|tHk6%mo8irPd-#f{+wiV4Fp6!zpIV;g@;H#?0K6!klUYYoQI zhtaDD(~`0s>?jMEo|Fu-lm}Ef${DH|Wd=>*ODRJ$r>vmKGpIl_rL3SjP^wV9DK4y@ zbYVJCT5g-NhiSxkA0~gpXzju150CGC-$NV#09H^qASM6+0MY^godGHs02ly1kur`% aB%&c3^a4u>1oVIaR{@9s0RH&T8o&SqJ8*y01@}WD3T;a z+pu^q{GEXFuW(63L}W-1dPQePH)s8Cj0jraiA^s$(OGa9!XTDGK#XMDw6&gXem~ph z%0H~TFZZtc0Yvma5nUVIuEQ$ywG-WA73vXveW-8rU7)_wcY%6HUk~c)k?x@aeYJma zdKLV~cxQ5b%vv#Mi!1sTIq2dm1{N`>It*z-HKF`vvVF<~sw*V}Cri1*QlXq-`Js$q zsJ1oVIaR{@9s0RH&T8o&VeZ-<5e diff --git a/app/open-iconic/webp/info-6x.webp b/app/open-iconic/webp/info-6x.webp deleted file mode 100755 index 7bd0de01cc41ec1a294c02908a1319716acfac76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 zcmV;x0YCmyNk&Gv0RRA3MM6+kP&il$0000G0000l001ul06|PpNNNE901@B9plu{a zpX~Sk&mZjWqKJqb$dMYUnZS^q7M3ZfaFmo^(!?WocL{=bu|`VDMtqQz4id0z+cq8T z*hV=<*|u#&yZ`;Dk@IrjxTo+P(f@=+VEMfBeYWI>R_cb1>m+mnHypY0L1meSMW~$9 za0-zUCv*g$`vC zmNmMTVClW4%Mq-{J2bu(U|;>B;cXHcW0xE`DnQ3u-FfVG9yUvG2LJ$8P&gnc0000I q0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*nWOvOB;xUHWwV^EC83?+koxLVLh4zYE^U26Sq$Nxo7({esPu&IC4@4@xfsn^QU$u*v&$O0YSna}ArkPp1N#V>&mmNxsvm zz@|^<3PxKxW!MzyT)}8SrwXH6$~CMWDBH05piIHaql`nuDLtq?Q`R9Gl#ftbQSK7> zPV6b~p*E(oYs5brdpZNC6&cOXLhp`|E}&TQ7~w4g%|0WvpgUt|AKE>Sfp0D77jNnM z7g?ATM$0Gf^YMO=MN|L)09H^qAT9s^0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>KNvas1bCzXd4kgys4-kH>2&6QRwO9M*wfS* zzmZG4O~A=f+Vhn0=K8Jd{#;7G)^Es_R*^ld%(TVq&?|(+Q+nHuJxY{ z)J$(bU=hIuWD5YXI2bwl1bEZ~d4ks$tjJYKU;anzK;nz?KNsI_ z?C9We%m|Ye`M8Cpe96ayCvsI>H=p4#-u(an%dl>-bAo@2=fZ@ZVj z;@fu4qwzf}<$(4BU8bN0q%Scs%w^P)V31(2n`qSMqOwR)`U{gcC(D-xhH%CX28Mq> J&PyF&0060XQZE1i diff --git a/app/open-iconic/webp/italic-4x.webp b/app/open-iconic/webp/italic-4x.webp deleted file mode 100755 index 04abf507fc5b0f765901c7646910a9c6565f2908..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmWIYbaT7Lz`zjh>J$(bU=hIuWD5YXJQz9p1bB1;d4kUuXiQqt*8QL%|J;x3J Tmj;G##tsICe?QJk9bfJ$(bU=hIuWD5YXJ{URr1b8e3@&x4%noU~bw#K2k`{e0A$tpb^ zCmNhpb}X{7oM-B)^8VZ}+Hpo-hS-wR~w{aPaJ$(bU=hIuWD5YXJs3Iq1b8e3@&wfvZpc+O{d)X^kDwr{M3cdi zs8zT7T{U!l$q}uC>zl6C77RzPoVhhg`-jUU9s-`A?r-FskS`+hTQ(Ig0JQZA;k6 zY=y7uf7X4xl3)IC<$c!qf9`&|^1j3WU)`rG`RR{RC%jlbdFJ~W>ne}=ws-yC#sYLD z(ESQ}Kzb50!(2u!2L=ZQyMumn-PDv9iL)>z^RRqrU@&5soY~dIK4Z@VhJRo7>}&w4 F1^}SFYw-X8 diff --git a/app/open-iconic/webp/italic.webp b/app/open-iconic/webp/italic.webp deleted file mode 100755 index dd8c76ef1c6e105278d6607fec9021a4915ebd0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmWIYbaSg?U|dO@EYz1UFc&cV`#t9X0|0YL8HxY^ diff --git a/app/open-iconic/webp/justify-center-3x.webp b/app/open-iconic/webp/justify-center-3x.webp deleted file mode 100755 index a11ff49a7017b028dca33cd507d21a1a70a01341..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmWIYbaTsMU|Pl000VhAu#{| diff --git a/app/open-iconic/webp/justify-center-6x.webp b/app/open-iconic/webp/justify-center-6x.webp deleted file mode 100755 index 75da5466d63fb49a1537d557e2cc03a4ef4f3085..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmWIYbaN|XU|U|9eoi)Pc=yBY zOT0rsMx*qrpyh8H-!mNj1ysZU)UTiiq$e>m%w^PaU~pitJLospO-*@`I15uU56hPZ Y1|x>anO$A%Gxj`S`1fVc&IX`r0OtxPEdT%j diff --git a/app/open-iconic/webp/justify-center.webp b/app/open-iconic/webp/justify-center.webp deleted file mode 100755 index 6062aea81a8cd291e8d15bd040a6cb96076eadc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmWIYbaM-0U|3JVAbg|AK-}3KLxR{gM*=+n>wG lzyMUOAOVy!Vq}=hsKvp+!610ULVXDXa{1E~AzJP_N((3-u)o%mobpe$P3;000D@7&8C> diff --git a/app/open-iconic/webp/justify-left-3x.webp b/app/open-iconic/webp/justify-left-3x.webp deleted file mode 100755 index b648cae06fcba12aca683a0befa00f82d5d075a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|Z=Ut1l z%YS1LXG4+T<$k(M3=BY>3Ti-gmzWslGHOXMNHEw3Ti-gmzWslGHNL>C@|PfH0pCvS)?fag~^+f}$A!#g8cc%re=qAXGcW*kD`)`K3NbUxWz;fYFkrA-=`hVjRatSy6Q*FUmM;wq S4&I;7NhUD-`_9q8zyJX0IUuC~ diff --git a/app/open-iconic/webp/justify-left-8x.webp b/app/open-iconic/webp/justify-left-8x.webp deleted file mode 100755 index 883d529fe2c089772df4b40b0205ed87701ef891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmWIYbaSg4JVAbg|AK-}3KLSc*yU@l0TIE! p=Y7;Z-vi13^(aUHX(L94xr|x@K)r%DEYz1UFc&cV`#t9X0{}le8Eyao diff --git a/app/open-iconic/webp/justify-right-3x.webp b/app/open-iconic/webp/justify-right-3x.webp deleted file mode 100755 index eff439ab4d128088f99019e8bacd53a2815bef1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|%l%w|@<5#mYC!rD6T@6aEeQq*2D^zyeJ(1C6s5l~d2_OSX|kK{ K_v5_O0R{kMDj$^q diff --git a/app/open-iconic/webp/justify-right-4x.webp b/app/open-iconic/webp/justify-right-4x.webp deleted file mode 100755 index 02214765bdd4cb69f02fd0ae508e1bcd3ae0d26c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU||E2A~cF2_S96$S{{ti-UoKLGXr!`Vt1_0)~IT=Nw=F0HaJ$(bU=hIuWD5W>KNvas1b9>cd4l&BXiO4m|MIMrfhUIV-_nhG zN=lj%@fRePP1QPgBPl3B;$+yY{-eAd@&9{|Ep6=hr=4?q+r$Z1f40v#bF5M>$ntj4 z2Fvdb%eSao8ZmhtxgbB2Q8#I3-J$(bU=hIuWD5YXI2bwl1bD0f@&wHfE|{p|dVMqdc^?YqnKlz*+?kbB$Bsq8mL zXO!oD`)cv%C5AH&&aLsy`BD1yi1zFASGH~DUM%EsCBUt0y z+~!*raL4p$7ti@46wKS(o2g*Z>$q{nmW?~w3_oZb-F|$t*+L_Z2?>mmhCUbn{bdHa y6X*j4H6VS7iD53ImIQ+YgWW`0RRA3MM6+kP&il$0000G0000V0018V06|PpNYnrT01=15D3T;8 zTitsDFC6ef1pak3E+Qg}Dkdf$B1Q;3{1?uRc$JDmwg(kBk|f)-p6zej>iuu;y`#~e zM)aS7+qQ9}s_pK*!;$qThuimi+mC%mXZr;4(P(z=2CQpWhDL{2i=oFX2=fzwTF8Hr z;{Gp^6L9x1oVIaR{@9s0RH&T8o&S~S$mfN diff --git a/app/open-iconic/webp/key-6x.webp b/app/open-iconic/webp/key-6x.webp deleted file mode 100755 index fdc6e64e60b9cc1f736c3f14367ae6286d973c3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 392 zcmV;30eAjVNk&G10RRA3MM6+kP&il$0000G0000l001ul06|PpNHGBb01@ZGwvi-7 zH@$1!Gn4uG=XexEL}Wk}C%uTId5R1p@d4O?1CfPcGJdXW@ct?!}LNT0)zq)5#vSwnUl9y0D69FjIQr)v%QafnDZ)SSIFB;)|npl%X2 zLp~vWyc&t#uw-3)kaD{1luF%wVm#}W6=ZI;Lr*&=ryQo*eaa~syWlLQcph)fA?)KXSB`@(*=~7L!f$44+<$D-S!Uw00011P&gnc0000I0|1=? mDlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*oEXQbNz diff --git a/app/open-iconic/webp/key-8x.webp b/app/open-iconic/webp/key-8x.webp deleted file mode 100755 index e07012d74e120119c1619ef06c825843696031c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 506 zcmV9QeJJ_(VZmN$x7iYq+;Ns?{T*16BN zZQFj|w%7cpa^5}I&EJXWzXP{z97%$x9wB){kg6A#`*)O5wnTE?P6kRG;g3zl<)ZvI$ zuW@2Qv4HT0KFbC_$f$ksOJ2QdY=mW)iP=wn%R;HhkBGAQs2acJE2P3y)RkdA%DCaz zj1{sxi>QcZ)%i7#hCFFeh>B*#z?+n(E5sq1ANTka(QZt5|o zGu}A;1OSCE8bX&X>X4xB!5|JJ>b`=+VJ_7G8h!B)hdgz2>W)_GT*S>~uKUpFOP-PT zHS>`6FbXn??%sa!{d%)&B@9Lqn4*0U(}M=d19>11 zN$Fye=J7Q%9!hiF@(B7iGxKlv-@oR97yq~1iMZ?3Y-jSq;7Dim4=tmut37K3TKyj~ mGcW+nSC9ajX2i%amr;v@frCNthK2eP2Ic~Wf4}D(U;qF^KrF%l diff --git a/app/open-iconic/webp/laptop-2x.webp b/app/open-iconic/webp/laptop-2x.webp deleted file mode 100755 index ba843065c4143ee0fa72243ddf645ec92887ae7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|}!s c5hKG~MlAuL`GPkr)R!J$(bU=hIuWD5YXI2bwl1b9RMd4lN+CiJRg$TuC0UVL<)jH`=E z#jH7>4ytWh8#X;+Aq%g>K~|*+!m1b4LhX;+E&9(g$*hmPg7;2`%-OTKj!dcPSqt9H z6gB&MC??3FqW18hBg28U0QJ;&-B1P#hOx~O< TUm6&~89Nvl{{1*Fb$|f?6UsRA diff --git a/app/open-iconic/webp/laptop-4x.webp b/app/open-iconic/webp/laptop-4x.webp deleted file mode 100755 index d1234ccf5de9b22f92b7059e41530c8ff9307fba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWIYbaPw8z`zjh>J$(bU=hIuWD5YXJQz9p1bBo3d4lB&mgOp2-2C?MWr6Iv?hc06 zO~02M@zm&2S-I1haodIl-am7BOj2B)oUvZ?pX2hj-aBQxS^18%m%LKxzTiA#XJ$(bU=hIuWD5YXJ{URr1b8F^d4ls7Ea+7+EkDB_7x%#3g+V*H zE+i@DyW%7ZiR}}YWXyb+XZ62Cyzim##d<|YrJKrcwiRyEookr=byMsiHYe*_N{`NN z;4D3KV?(_i)W91RQ%0GdcaN&o-= diff --git a/app/open-iconic/webp/laptop-8x.webp b/app/open-iconic/webp/laptop-8x.webp deleted file mode 100755 index bd125ece3314bdea3a26885a74f461d2f97ed3f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWIYbaOkyz`zjh>J$(bU=hIuWD5YXJs3Iq1b9>cd4lH`XiQr2tVqSC@*(eky#hf& z&YW5q$?G*sLMqH3raNw!q+)&Y@Z5?+_x^7%l(AF# GR1E-swMrcT diff --git a/app/open-iconic/webp/laptop.webp b/app/open-iconic/webp/laptop.webp deleted file mode 100755 index 9eeeb8bb6fbb5c948deb1c6d920bd06339d79119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|@FU!(U`ZfQJeB}b^7i_zVlZ(DY0QCS(Q;-1CMvM$|8MQbVI2Z(P RSg0>yU@l?+nR5=b9@oi|C zlJ-FMOOoQE{}(0em+CL^doBJT{Ixm*1JDcwHK2}5Obl}wwImoM80;n*^|`1lQk4F} WQ_($(wCSR<}zw2FeotCO*HCrQCXxY{e{V!ljTbT RLpWmx1H-=`=cNuX008?2Am9K1 diff --git a/app/open-iconic/webp/layers-6x.webp b/app/open-iconic/webp/layers-6x.webp deleted file mode 100755 index a586d3b9f8f40c67e452b978c65dbe93b2ba66a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmWIYbaSg>U|k9d}&~C@cw*GGJ)aWca8=I1^}k)CDs4{ diff --git a/app/open-iconic/webp/layers-8x.webp b/app/open-iconic/webp/layers-8x.webp deleted file mode 100755 index bacf2d736508216a1025b1e6079da56a609edcf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|jDChyzPhw`6%c$kR;J{#a&~L7rn(`uX7N%q# bmM;wqMhufPySmtC?0LZO@5`Q@4M5cZx05C2 diff --git a/app/open-iconic/webp/layers.webp b/app/open-iconic/webp/layers.webp deleted file mode 100755 index 8177b4280b13f9f3931ad240f786875356301b49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96 zcmWIYbaRVfU|u@5(ef1hJU~39AE$dWQ-J} diff --git a/app/open-iconic/webp/lightbulb-2x.webp b/app/open-iconic/webp/lightbulb-2x.webp deleted file mode 100755 index 496b813dbd68670d1143477398aec119e7baa247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmWIYbaUInz`zjh>J$(bU=hIuWD5W>KNvas1bCDId4m5JESR{Y?Y(GBBFlfJ3UR@S z+-(3?gQK!%SKr5(m49#B>;4n;0+7)B@E034F7)5Iluq_61_jB diff --git a/app/open-iconic/webp/lightbulb-3x.webp b/app/open-iconic/webp/lightbulb-3x.webp deleted file mode 100755 index cd94edefd2c4dafed846efc84b02861b26520732..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmWIYbaVT}z`zjh>J$(bU=hIuWD5YXI2bwl1b8e1@&v;VT1;AEw&vjeiRM4kJ4IYw zQXHht9eH1}V$Y$Fi%Df+eLkhl#*dnn%_oVhY?BmAPnVSb^j}|Q#k!@{F8@V$Gt+DHQ?FgzouO7g z)-Ss`H%E$()iNg9$L6QryBU$YA~bW)7(94!`TEx-8|xT%9A)|@k;@u#UNP=wJqrT^ y(ESQ(K-XSkVwlUQCBY!UU^mgI&qZaCqVyLgZ%&pk4GiIo9SjWrew>#&zyJX8Kwv2V diff --git a/app/open-iconic/webp/lightbulb-4x.webp b/app/open-iconic/webp/lightbulb-4x.webp deleted file mode 100755 index e413c799778a34603952ddc35f6dfc90e7fd5caf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmV+_0oDFeNk&E@0RRA3MM6+kP&il$0000G0000V0018V06|PpNYwxU01>CbD3T;a zTiwUZ_r3FPa=}DIWFX2SHZw=-swQeguN!ZDg?>Jqh(eLrR1~22P=;hY!%00011 wP&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0PR+ObN~PV diff --git a/app/open-iconic/webp/lightbulb-6x.webp b/app/open-iconic/webp/lightbulb-6x.webp deleted file mode 100755 index a17b6a929a45d04428f8c9fcf046d31d63a2dbb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmV-`0e}8dNk&F^0RRA3MM6+kP&il$0000G0000l001ul06|PpNGSmT01xRE3$ zbPwMDA^$k<4uXh??4{D*`}?1 zZQJ&H=h?ny&wo6Zz1GujME@DNZ5zgFJKd*O7@ENOY<}f5Y6Q-v0AMK_@TF|Phq3`3 zWgE3^y4Lsq4s$p-3tFsgYgyd5i0gSHO;AgoH9;+P&P27uH-t%RDbFw;u*TNnOZr&j z|NkFozq?!SJ8OKm1=a-JHaHV?o6zsJBI$O*cAH|mU0OlI!`S97s%p58NzK-q;yBMa z=~_6+G$P#V>7gdv3$dzj&C_=r7S7iFT&-5?^?I|}?CxXM=;AQ{BX*-p<_Y_ZF5N0O zG{O;XRaU|==5~!0)fXHd+qF?4{cvEz3zy*l00011P&gnc0000I0|1=?Dlh;r06wWe emP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*mrII;wQ5yyExzSQHjLNn+Z`8azeZGE06c6qa7u+GZLp-nMKaN;e-A4Z+`tQhX+dv9uW`(^ck08D1QL}kDLDod~9cJcA zl%IZIH2;+G&H393;D5RRyJB82n9mEWhUId!%7?`l%< zZYm3~e=$c{fc=Xr3$cF%RblpTLs6*x8+yf*YX3$bnE6my+Wm9ImcrVyumk^&(%zl< z1Iu@3%k&Ta?#x)fI|*g|8Saj=YxnN($ru4is<=QvlDb}JB3!4;6t;6PCJUQ!=g-uF4Yp@x9623(bY$%ZbXtXq2oEB~?B?rhVAN|94$g2MM zCwHr#PZ6B^f_tmY650xz+z?vYI8GmdrL51gajpr?b!K?0(*)<=e(zDW({a)P00011 zP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw E0B8rzjsO4v diff --git a/app/open-iconic/webp/lightbulb.webp b/app/open-iconic/webp/lightbulb.webp deleted file mode 100755 index 67fd467b6e62abfca37f0478b0a88e08ced00b64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|J$(bU=hIuWD5W>KNvas1bD0m@&unqQ0~o&u14s>CtvNqbSv=;6(S2c;}9i s7@JG~bJ>6{X8`&{K>|n{F*3|$)Di&tNbrV*`Vt1_0)~IT=Nw=F0DL}WYybcN diff --git a/app/open-iconic/webp/link-broken-3x.webp b/app/open-iconic/webp/link-broken-3x.webp deleted file mode 100755 index 88266c324efa788c5bd5af03d9dc5befba6e24ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmV-i0i*s>Nk&Fg0RRA3MM6+kP&il$0000G0000N000*N06|PpNC*J{01=PED3T;a zSKY_Vuk){S={!V4RunR^;Xn7r5$hCc6sT$Gzy4i_LV>JkOckWhoVVn32yWXXNS{;yu|g3A{FM0WrMh8orEd{E{Q<`VUg4W|wpFN&P{#%NMJe zev#B6-|Ys+ZnJZ{6QfI~E2E4ZCT^iWI}A8dp-9fHa9r5eKkz|5!j}_nBmd;C^A-el zq!1oVIaR{@9s0RH&T8o&VN0hXlz diff --git a/app/open-iconic/webp/link-broken-4x.webp b/app/open-iconic/webp/link-broken-4x.webp deleted file mode 100755 index 6f1e288e8a7370e9fb6cde0d79704330989568bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBl3Nk>0RRA3MM6+kP&il$0000G0000V0018V06|PpNKXL(01>ysux%Sh zC+EKR|NVD$zReI3S@;k7LB`Rz;)WdS)L&wfv9cwrHXJfpamb`{jJc)3!3_wqZKrL1 zn3X+X}>S-d-! z_`4bqCCba)c2SBG=>Px#09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIa OR{@9s0RH&T8o&Ue=(CFe diff --git a/app/open-iconic/webp/link-broken-6x.webp b/app/open-iconic/webp/link-broken-6x.webp deleted file mode 100755 index 146b15b3230baff957825c90b37f5100f8285c5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 510 zcmVk-01je^*zXZBo1p-Nd)d{e-(Z98pqgL0UenVHJW zt>65|lSuND*6M#m{~fq(<4DqI_xf$$KR_!sQH`hD%Lv2BGnBrVn_hvo0)Z9icq2XGh}7UgBM1XszIl zlpBZMOe<>`?V-2o5^c=-@tBvT^Q>SJRXNefqya0c7&PQ{iJrZ1FA=pDq;G%2qAZ;GX{y{N ze@JH#7atf;#0wEU2iWZBto|cHUh+B{`S$e@@r(v+gnXyIS4K>UQf#o4m*R7n@CUOC zb-@PUBR+^@8+wA!n{y3ff|}=WTQCH9k2gPyFa~1%r#|{!30MGdI)~@4ujfNs0EPen z09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2&DgoV3K@xU0ShsOd-dhMnVrvDNiwNgdZ7G96}nP$=J!Q0R?}=B?c;e<)ofOT~4jI z8&+{9*z_Hx<9`t}c`frD6L-GLlulDnxUqgIs^^`>v}}aG5Jz? zKl@(v2;_gA=$wH%oH)EN6n@WFmJ$(bU=hIuWD5W>I~Y0o1b74jd4lH`Ea+8vD#3D~`P}#Ud%8M2 z3_b~^9qMlR6g27MJnCPqc-Th!+Ctm^UD93C ywit&`$zwG>a{1J82cU^SyA&jVv=Jl2Tt+Pp1`Y67d(x)_!h)IYV7ZMyswyh>NibE84 zh#M|3t$m!}{o+5LgRH=B!0!-m-R`Ir2;ExsS6`vpWozlVxXb&JFqG((` zWN#sB~S diff --git a/app/open-iconic/webp/link-intact-3x.webp b/app/open-iconic/webp/link-intact-3x.webp deleted file mode 100755 index d293422aa24172ff4d9362bc67bafd7238b6bc0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmV-)0gL`pNk&F&0RRA3MM6+kP&il$0000G0000N000*N06|PpNFMRZeUAaXrn}SUYDHx&vR*MUE4g8FCyJAc&I!zxUSrPKgRr9U+d*mze0AWB#S~k z>D98l=>G}?aq(N`+)&l?l09H^qASM6+0MY^godGHs02ly1kur`%B%&c3^a4u> S1oVIaR{@9s0RH&T8o&U~$)t4v diff --git a/app/open-iconic/webp/link-intact-4x.webp b/app/open-iconic/webp/link-intact-4x.webp deleted file mode 100755 index a8fcb94f2d0a7519c5ebdf714bbb1407199930e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmV;L0cHMDNk&GJ0RRA3MM6+kP&il$0000G0000V0018V06|PpNJaqw01+?3plu{a zzsYkw`8%a_m^};bTGcz+o z`R~)*Okdx>0}=ga;I@&XX0mh)uOJc8&gytvHp3*u?!2M#ZdoGTDHw*LDubmhNd>?< z>spD~XJb?l?;InS6!u(Iha{K}8&}!TPdtI!-zHw|4tgao86@y!lG#GzQ6mj|$)C#Z zf+42e$nbNbh@mqEN79t(oe31zRz6=lqQ^M0ct`sAUB-#S+vk3Q|JFC2>G(uxs;pg7xO40Rf`neGHd%k5um@0+bPceSC9(RPBZov)f9a!FUHk$=jm7D- zs0C%)00011P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^ E0Ca)10RR91 diff --git a/app/open-iconic/webp/link-intact-6x.webp b/app/open-iconic/webp/link-intact-6x.webp deleted file mode 100755 index 602197a8d3668dc8dd4c5b66e0e266ebfc970710..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmV-60?GYSNk&F40ssJ4MM6+kP&il$0000G0000l001ul06|PpNZ$bf01IFU}u3w=54Xt z8X5FJXdiiWTb4(Q;5-rKnLOJ1v>rfdXG+V3DBGCwS)>mUKa;4Os2r~GDPvmb;+81j z1z=)Aau4o^Nj||Lv%f6CA;Lr+uq5^?t&^9zLiKu70W;f{hj`;JH1J?tNM?2ys=lF_ znW5f=FPOsDlinIR#++^F`F&OaAwP9(t>vO^_d7f=BQ#yFle_QVQ0r0$&0x$hiNk&G<0ssJ4MM6+kP&il$0000G0000#002J#06|PpNOJ-J01?N+plu^b z*JSSH54dwEA|el5I%1jlGt^?S`3#qfKW;AZwAgdPn3IkfSs5Gm6wP-`T3e(_^2Pu!G3hZ>W{6^@=17x43b9tbFwCo`W6(2awS?Hwsn8JfdwbNUc;Uvd ztDWkM@BWaDWf^3wB*!VKFx%^UjH9L`i5yLzRG9l_ejhU@8IwB~NQp4C2DuV-My{9? z^-8YrI{j54XNZHFb$+&qa_=*LGar}=!G5m`>!+`EqvYeTuL8{bg=P(1Uaj;`fdsPqC!4~&4ig-LDDDq`Hiq!wmj0FVwq z!Ik?6(W{A2CENRL7??Fy2}1q=_3X{?$h&2!eFC<+hV@${()5iyp!c>J5sG|%=de)T z_}anA;pS{eIrtWjEFf2u`>R2&_ybD*%0=V|!y!xLihWT});xnF9_cVC%GN@ug8C6(ZCBxsT29Y;g9-)H7u|V~ukV=@i}Lsx{T& z7ixV-t0)FXAtOCPXy>EyU*pxfZK=LS+Jw8to~gVOk_#sG?!St~&%51m(gXki09H^q zAT9s^0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>I~Y0o1b9RPd4l2xH6|_b2q`b-QmA;${C`_n ztc#0S>~Sw|^4c{>__9z^1sD*Mv4ml_5Toan&sUV-38yOTTkBj zTljj*nz*?1TN6a)?Pp|lx2@<&WMBrG4YXB30!SM%GR$Sv;$Yxl5WHcbzJ!6ffZ^Zo HIR_X3t)DlX diff --git a/app/open-iconic/webp/list-2x.webp b/app/open-iconic/webp/list-2x.webp deleted file mode 100755 index f2e81a5f5ed6773dfc43610397e1c015aefc396a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|JVA2@wS0DBg0%qEdijJf;TMG PmoP9FF#P*H=Kuo${7WE* diff --git a/app/open-iconic/webp/list-3x.webp b/app/open-iconic/webp/list-3x.webp deleted file mode 100755 index 528c5555a222f63855e33b18824882265280f745..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmWIYbaR`)z`zjh>J$(bU=hIuWD5YXI2bwl1bDard4m267UW7V%Rg+Tl^iP}II&`* zRoTK76ID_pU(9RWTp;COaM^m%|E$Yq32$_tPV@+f-u$)T4P*42{jG1eAKAO3<{=vc z1JHB@HK19Sm>A|VYDq9iFxX8r>T^+9q$vG`$(xhqO9MkVV+RAnzaQtN4ln=!BO)_` diff --git a/app/open-iconic/webp/list-4x.webp b/app/open-iconic/webp/list-4x.webp deleted file mode 100755 index f61ad0615c5429cc28b9e924c1b0d4614dddc54d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5YXJQz9p1b74hd4lN<3JweT%OcYa)s>V)|&2zu9T| zk{|QV*oHkYu4iUo0NSLW1~m5)6T@6aEd>Sz2D^zyeJ(1C6s5l~d2_OSX|kK{ K_v5_O0R{lJ$2Hsl diff --git a/app/open-iconic/webp/list-6x.webp b/app/open-iconic/webp/list-6x.webp deleted file mode 100755 index ceb29145850078a328e1c0c1059ea0fa804899f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmWIYbaOkzz`zjh>J$(bU=hIuWD5YXJ{URr1b7q!d4lB&)EI==3SzHqp1jplP_Xmi z<-#vbp*gp`^4JxabvqJRO&Z)3+Qc?+m?*TJKKoJRXZMT!x3=XXX;>{dEVb5T`RobiMyn5*SW1A~M2=W~(?4FA4!G%zp#0E0n8m;e9( diff --git a/app/open-iconic/webp/list-8x.webp b/app/open-iconic/webp/list-8x.webp deleted file mode 100755 index 157c3176588c8ba3aa3748d08116290bf4a20d57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWIYbaT7Hz`zjh>J$(bU=hIuWD5YXJs3Iq1b8$6d4kgy%$TT>Q8iC_lYsa37ws-C zOHNtO$+SyQ@SL5Q1A(%#>7PQoeM28)c$eX zA%sWB`7;0G`-}_>K$j`#0o^f)nPD!YmIH$WgWW;Dxo&F8i^N%&l6hFZG%y%3OwR1; RVxO_+0mHv9dv=0c4FC)fQ)>VK diff --git a/app/open-iconic/webp/list-rich-2x.webp b/app/open-iconic/webp/list-rich-2x.webp deleted file mode 100755 index ec8cd7688e959fd970c7d8829e36d7f6a01b91e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmWIYbaP8!U|Q#^c(ngF7a~ZV+fMy8ZuuxyZz+Axa@AsSo3;@U`8gl>u diff --git a/app/open-iconic/webp/list-rich-3x.webp b/app/open-iconic/webp/list-rich-3x.webp deleted file mode 100755 index e5d27930d064fe380c980cab55377e490f39be9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|6OH;@R2C^pe_`_GWckv- Q5YE`a!0_+Kd8q>o0A}JIumAu6 diff --git a/app/open-iconic/webp/list-rich-4x.webp b/app/open-iconic/webp/list-rich-4x.webp deleted file mode 100755 index 932fa6182c0c4ced610b08768a86a2552e7a2d6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|9B&OKkvf172 z;PU?@n+Dfr>mIWO7pJ}YpAS?8)UTihq%Scs%w^P4U{GMNn`qSMqOwR)`U{gcC(D-x RhH%CX28Mq>&PyF&001xOA?*MF diff --git a/app/open-iconic/webp/list-rich-6x.webp b/app/open-iconic/webp/list-rich-6x.webp deleted file mode 100755 index b4eadb79673bd231f2ad5af3e356c1b72f8f4089..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmWIYbaN|VU|#-Y5o*01d5Q=hzt-fch0QfU1R<8Rjx-888?y*sXM!=Ax>sIO7RZFjvc$ U1_lT3&*vl)82)|dXkcIf05FCjNB{r; diff --git a/app/open-iconic/webp/list-rich-8x.webp b/app/open-iconic/webp/list-rich-8x.webp deleted file mode 100755 index 06c72ee49c71a490986ecfa564e41f730b10c0b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|@0V|Njqmp}GcW*6P|yRapTx{Cmr=`s!GXc4JVAbg|AK-}9u665v)_5S{7+71 l28sgJD@XuoBSwa~j9MHF91MatEYz1UFc&cV`#t9X0{|QS6Tbie diff --git a/app/open-iconic/webp/list.webp b/app/open-iconic/webp/list.webp deleted file mode 100755 index 433078c24d4ac81ec234f12ff89f1013bd2d6b93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmWIYbaP8#U|jo9>_N;JDXla69AQ zw%G^%_9-s<&obHMYFSV7J4T=?pne4jAZ^6RFqct_gMouV@P>u@5(ef1hJU~39AE$d D`tBbv diff --git a/app/open-iconic/webp/location-2x.webp b/app/open-iconic/webp/location-2x.webp deleted file mode 100755 index f5c9efd9c2e3e52afdb695b6907721fd677b660e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmWIYbaR`=z`zjh>J$(bU=hIuWD5W>KNvas1b9RMd4lc^0uHmRJ5;9q=;#nRu6x5} z(wZ#$WATTkf4ua*L8YLBtD?2PqvPLX-&;#||8S^=E5fqCoNUgSJh3{ z^P637|No1X<8`GR-ZkeUXL>L(FaT{-kN}!*#KJ$(bU=hIuWD5YXI2bwl1b7qzd4lc^0uHmRJ5;9q=;#nRu6yUo zwzn?*U$Rsb9&feq5GtDK=D2SkdtY0}zty?7+a@M1&$T@4VOz@NqdE=&B(G(hVXXAXC9~#W_RyS@_kWyduniXgx&@BpT tK>89B!(2u!2?hxUyNO19E-H%@rN1zFbFzGCUJ$(bU=hIuWD5YXJQz9p1bDOod4lc^0uHmRJ5;9q=;#nRu6yUo zwzY2hUtW21^jtr7uz}^z(+N!bb}_$?=yM?Q|9>a^el-U{zGV zBG4KD1>4t;cY$4e%q0CjH z2i7^>vdE062D$?1J_R)(eTj)-E~AzLg93xyM58_zl|_ouUzof(S-vzdgfn(9F#P** IUg`h?0EaJ9)c^nh diff --git a/app/open-iconic/webp/location-6x.webp b/app/open-iconic/webp/location-6x.webp deleted file mode 100755 index 2b2712ae5846d69004c813b97cd7f3a2e940d48a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmWIYbaP{3WMBw)bqWXzu!!JdU|7*wfs=Zg%&E!;$swi2k#2+eT6bYQkpEPl%oi z?P@enG~duN&5ahq3ZZ418!Utt0?RZvS_muzmT7LZ5LgH-)7)qwun<_LxzR#kA+Sty zqlLg0P|4*u=;(#r3e|CN2jp^WZbP^1?X9jU0IA`PD4bWo%kiu9tQBNbKu z1pok6P&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6 Ixqtuw09567?*IS* diff --git a/app/open-iconic/webp/location.webp b/app/open-iconic/webp/location.webp deleted file mode 100755 index a2c41e8eac99d893d208f1f3bf5289a86ac5d8b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmWIYbaN|XU|$@-alya-f4IyXtM}Q?sxYr$@sZJ$(bU=hIuWD5YXI2bwl1bCzad4k6m2rvkkT(@_%kQ5PQY+KRc zd|bn$U&EvOMS_awq)A_6?=1ZHKjh9siHr4{JZF1+zo#fx636R2Q*)#0mNO=G$yNIT zb+4aZ*x%Dz?Qwmzg3w}?uCHtcNlz9;^G8?~B)<7zzKauR56}e)YC!rD6T@6aEeQq* i2D^zyeJ(1C6s5l~d2_OSX|kK{_v5_O0R{k(Awb0d diff --git a/app/open-iconic/webp/lock-locked-4x.webp b/app/open-iconic/webp/lock-locked-4x.webp deleted file mode 100755 index 60211f544e4cf249c42c6181f22069444ee28c44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmWIYbaOk$z`zjh>J$(bU=hIuWD5YXJQz9p1b8$7d4lH`XiQr2EX|Ya$I}I@|0f-A zby=d?!nVHS^!329S1bp-CaDB(uGkiT_y4l<$KqZ7OYY2-_RR5%O}nSq{b$X~U20!b zl;?i;`O>5%ZhqZ(|b`S11F&4U{Qa%%QCL9iWtCQA64D zyF&@cB7}0|2MuSEcOZE2-_kn+00011P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R> WQwoIifB-;C^UfJy0RHy~fB*oMCvK+z diff --git a/app/open-iconic/webp/lock-locked-8x.webp b/app/open-iconic/webp/lock-locked-8x.webp deleted file mode 100755 index 44aeba4fbe68bbc0f2dd4f6a64f2b7957ade06e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmV-O0k{5ANk&FM0RRA3MM6+kP&il$0000G0000#002J#06|PpNb3Lq01=wYy(6MzqG}pDl(r#yp+p5aN%na^>JwknM(GM!50@fZc9EBmT}pIi*HRH= z`_ASWaLn0sHI*|2>=r}dirLjHKpETbL10bSWiKfKfeeQ_P*xCH!Reb OFfbP|{QEuU00RI}D;`7u diff --git a/app/open-iconic/webp/lock-unlocked-2x.webp b/app/open-iconic/webp/lock-unlocked-2x.webp deleted file mode 100755 index 798ff49c887558628dd867ea5de891e19dd0c3ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIYbaU%qU|8Rjx-2>|U9ykVifgn_w$;ot8$2N(bXiYWpB diff --git a/app/open-iconic/webp/lock-unlocked-3x.webp b/app/open-iconic/webp/lock-unlocked-3x.webp deleted file mode 100755 index 3fd7a4abfcf3b60b329c2964a7c61d8849f7443a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmWIYbaUIlz`zjh>J$(bU=hIuWD5YXI2bwl1bCzXd4k6m2rvkkT(@_%kQ5PQY+KRc zd|bn$U&EvOMZ#^5NsD%-r@i>&Y`ZNk-|fr%oJ(q#R?gQ5(EI&6uXy2BjHuE^YCG3=BZq71V%sU1DOG%cv#6Ai-ca g(WuWwWs#!v7bb5`mM;wq;fx&&4F7(dmpZ@z0EFT~mH+?% diff --git a/app/open-iconic/webp/lock-unlocked-4x.webp b/app/open-iconic/webp/lock-unlocked-4x.webp deleted file mode 100755 index f811a76a0160ba656c63fb82d4c504122e84b93c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWIYbaOkyz`zjh>J$(bU=hIuWD5YXJQz9p1bEZ~d4lH`XiQr2EX|Ya$I}I@|0f-A zby=d?!nVHS^!329S1bp%O;mBM?m2JqGrj7~-h16I_A71AmDaRN-SU3Hva+4?p3mat zJ#}5Y_5G1!n-)Jj<{ojeM5^QLU1g1jeRrITvQe*N`GPU=4AQOz!1*Z!NBnE J$9bs(3;>fyR6PIy diff --git a/app/open-iconic/webp/lock-unlocked-6x.webp b/app/open-iconic/webp/lock-unlocked-6x.webp deleted file mode 100755 index 0bda8fbb000083e3c9f1b325e3f5e83acc9cdf2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmV+p0rCD)Nk&En0RRA3MM6+kP&il$0000G0000l001ul06|PpNVot101;QgD3T;a zTRlt14FC1-aqd(^M24b6c)~lp*=wrwMJ-I{k$L}R)=J|4&Iq)u7X)-Nc}Rh3~6&M=+&$$JFPdziQffWOk7wR0ex zs+87pw9Bkh6y5n%PO(hb4f)ZoDaUB-!Jf5vQ~6e#sC@$)$J>I<$glw0#5;m@$j}2j z#Cw1hWGKPzl#vLO&j%l}_*V%409H^qASeI;01^WLodGH^05AYPsX&%QB_ko2N=&$3|1 z{#(owNKD1_bd56-@fA}@<>J%KU`o>8LSfI>6@O9zg^Id1Fm|V|7z#t`y1|%uss#m` zx<2TQ5QM(`K!e!*j|Tt%09H^qAT9s^0Fna$odGI906+jf!A_k+e{WAZ-)Or4$hWP`X!&^%=_T6i#<>^&>RH`AZ^6RFqct_gMouV@P>u@5(ef1 LhJU~39AE$dO(7n* diff --git a/app/open-iconic/webp/loop-2x.webp b/app/open-iconic/webp/loop-2x.webp deleted file mode 100755 index 760e04b7509536c8e2290401abaec3fd5a95859a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmWIYbaR`*z`zjh>J$(bU=hIuWD5W>KNvas1b9RNd4lx|G$t)Et9v>1{Q-tnwtp@z z4RU)X{rLFME!?0hclBA>kOO?29FE*V9~vfkbhNBl#3-owMM-hdf6wJF{0o<#t6y2% zS=Qk)Ifo_6h+p^Ul~}{lF#9i!z6=aNI~62=HW)E7%w^OP0NO2h!$N%t19Jhxzu$8X GFaQ7?n>EM) diff --git a/app/open-iconic/webp/loop-3x.webp b/app/open-iconic/webp/loop-3x.webp deleted file mode 100755 index fae33280d0404957a4bb15e07526f61240d69196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmWIYbaOkxz`zjh>J$(bU=hIuWD5YXI2bwl1bCDKd4kgyY@4{m?DxNqtO65%b#!nT zJZY4dH}|pF7~S;PW74A)Jmj;G##tsICe?QJk9bfJ$(bU=hIuWD5YXJQz9p1b9pZ@&xBEFqtG`d9I<_wpFe9v$&w* zzAPKNvxX9{5}s`9RX+PI?$Q7MrDoM9uNAxepIk71$BLbgW^LLUGwFNhVj1(J&%27Q zs%E>#Zce+rbfuG@$34|eb0%yu-7#mvvaVpi72bcmUU8nZd>z^Hq$2xN%abQpPII1I znI3y9`tsI=rm<06t0F(vYFGs6KM%@26|*|6(D3UYF`%n}?p06&(wCSR<}zw2FeotC hO*HCrQCXxY{e{V!ljTbTLpWmx1H-=`=cNuX005{yVNL)5 diff --git a/app/open-iconic/webp/loop-6x.webp b/app/open-iconic/webp/loop-6x.webp deleted file mode 100755 index b147cfb33751b7c94118e76ce486f4995128f8d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmV+p0rCD)Nk&En0RRA3MM6+kP&il$0000G0000l001ul06|PpNVot101>aCwvnVZ z``%$IASXpcM1aZ0g&)Vmi;9AWFyS_mBt`1oJ!WeEeVuzO>BNZsGjQ9sk<{C|{R<(E zS+L$~vD#-R(!ge`8?<`mLzVjJFym`gtp<%Mp_8NP&3d+zQMX!$Nr(LYkDv>+5=vw& zk)gb1Ad#^|_Q=fRzt8pck2kwny3;6mv{52si3}w&((5hboFilHX_llK-B^mqJbV609H^qASeI;01^WLodGH^05AYPsX&%QB_ko2)xomCPCu0@&TYj5k%f*L89X(39_>c5k zw4x5J-y^%Q>_DAu@@!VW@AHP3p)-Am&NRZB)fpnExewSY$N1QHZ1Wp4-mV-Zo+_!= zN=dyf@OxBJ$(bU=hIuWD5W>KNvas1bEZ~d4ks$teB{h`hA8YL*2#wd#uF; zCn}t9Pg*IjQ(dR7$|JAqp(0^2X-USsnU#OIV=KZ0F8)8FpJ*+!<8-=K-l3Vnk_WRI zx6To&*yzb98*ylH>n4{8&4POtmpZ+EU|8<4C14sy+{SjX*&-iGQkhq?iiK+*XE48F sc=+x;bH+MGp#4CXDM$cmBSwa~j9LOf7Yg36P+!8pT)^<}_nZR^03oeICIA2c diff --git a/app/open-iconic/webp/loop-circular-3x.webp b/app/open-iconic/webp/loop-circular-3x.webp deleted file mode 100755 index f2b2f6ddd6bd7cbc93ef7aab031c62adc2d96158..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmWIYbaP{3WMBw)bqWXzu!!JdU|CHKck z&!#;#{VMaQH~Y2MA6W(lpnnw9fUdv9#4wjpOM*dy!ET~apNq;OMd>e0-kdC78W_SE OI~W-L{WvdmfB^vaqh}`o diff --git a/app/open-iconic/webp/loop-circular-4x.webp b/app/open-iconic/webp/loop-circular-4x.webp deleted file mode 100755 index bc13619ede4b0a624f0952a4baa83cb44e985471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQs4Nk&FS0RRA3MM6+kP&il$0000G0000V0018V06|PpNcjK&01+zo5#d}x(|K9Y_ z)0z|Ki2f)3NwL|TUx?4!4?UvCS1QD=7$9=Y-+oqh5l$V9{7Sh^VD|5>kFcfO1~8K& z-7$eKK9mXUn!bkKQ1-B=R8y!OWd^foKFkGW3pJ&h!t5LH2u3t5&t}G*BSl^00011P&gna0002e0sx%>Dj)zL g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^05si_(EtDd diff --git a/app/open-iconic/webp/loop-circular-6x.webp b/app/open-iconic/webp/loop-circular-6x.webp deleted file mode 100755 index 6c8d24a245b63625c8b5bd6aa9ed7244707b3328..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmV;#0XzOuNk&Gz0RRA3MM6+kP&il$0000G0000l001ul06|PpNNoWC01?;0Hh|hV zIRW{rbjkjMk}V=47b-e5T7{2?pgZi&hqqsYUQt&g8pNsH7(ljdJ8g4=N-@mLtg_+$ z|A%>1Pf(3IjOc&jAND%gU4JsfDi2N+h}3zbg($Tp9fQwoIifB-;C^UfJy0RHy~fB*nfZo#zx diff --git a/app/open-iconic/webp/loop-circular-8x.webp b/app/open-iconic/webp/loop-circular-8x.webp deleted file mode 100755 index 932fb1944470b60a52381ef47a33af1b16a9aa78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmV-M0=fNCNk&FK0ssJ4MM6+kP&il$0000G0000#002J#06|PpNa+Cp01-FBpphg+ zH*oNb{eCC3+;L0>T?uTzGY!_xDFF%*B$VjP8^ zjhH~u*Pl$G;Oj3YQS8|#W5e?8@zydV<{Q$35hM0$6;kcKHDpUIhSSFdh?V8HRS-Qf zw1>zj@wWuY-h@GO0~v;%f#8*a-9UzR^qfX=V@iK|hzw;JScTL*gGc0)7%3suq;D6I zVHh=t?=rYThIWiPjpzma(JJK1GGP^B@AS*aC^1<=tVaJ9azlYZq)Y!8V(ln!8sUKc z7Np8jWEFxB`pb}(C@g(bSb}tg{tSV#6j=r74*ecN?I>^>;uHEEL<|K6@;mxf#7az- zkWr!khM2NUSOvM7&_731J4T&G#tr?iO~ehO1{q5o`gNpAjFgb`%-{|wWf@q7j3Y;X zypE)H^qfYM(qONLhYc1@Y3eW7t@LOuKIl>Do<) zk-3P5P-ODGp qJI@vJ$(bU=hIuWD5W>KNvas1bBo2d4lNJ$(bU=hIuWD5YXI2bwl1bDOqd4lB&%orw^_#8iWidkZ@n~Q_V zsRxJaHyS-yu`Snp=S$nfo;EE;Rh=mtCJ3-jbhy~S@=V7~wy)!hi=)f`tJ`u98b-;R_qa1=*;@m(FD1JDumrjT=t2cGAbp96VJ@SV1cL;F-9)247nMbd(qEXoIa$6m RFoZL9Ffjc4abD^G0|1!@Q?LL4 diff --git a/app/open-iconic/webp/loop-square-4x.webp b/app/open-iconic/webp/loop-square-4x.webp deleted file mode 100755 index 25a130698366f08d72acc6ab47914eba4a9f6977..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmWIYbaT7Gz`zjh>J$(bU=hIuWD5YXJQz9p1bB1iJ2}x^#Q3&f2YcXQmH0)?hp%ruaqaU{p4*f2Pi|;F zVi_a6@_~@9&ES%TR!{Geny~MfUZuALpeGFaQAbfL9d& diff --git a/app/open-iconic/webp/loop-square-6x.webp b/app/open-iconic/webp/loop-square-6x.webp deleted file mode 100755 index 01d8e9e10fe938c36fc5566c6ba9030de58abf95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmWIYbaP{4WMBw)bqWXzu!!JdU|*K3#KNBG z5_!s=Wm8>~?WRkV2;FyPRdQBnkY}7Fv9Eje%@r%kPhT%{`7gRN_x6U}%T?ZLGZ?u2 zzAGY|qRqG{Rlno(TP?%f8$Fsy;dl1D*nXi~QABAm_ZiP?YkM!UtW&X`_PgS70OLFr z@kbTkdm1lJf3h|!*EUzMK~l*^aKn8UDU&IMxZA}CbT`mP3K~FKh?!w7qm}`K0fXI2hiNXV%8E0dFa>k9d}&~C R@cw*GGJ)aWca8=I1^}a1V@m)4 diff --git a/app/open-iconic/webp/loop-square-8x.webp b/app/open-iconic/webp/loop-square-8x.webp deleted file mode 100755 index 1ea2c582589db11556e63fe0f8ee4b0fbb1d0946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmV-A0mc4ONk&F80RRA3MM6+kP&il$0000G0000#002J#06|PpNZtSd01;OKoQE?x&21j*Qt!2&{7}QE0 z5cJ9!&_r2LhPY7H+yO1r6?aGrbzKnd>U3#D&fr+{`$uT3dP8H~n`0WvtR9NUZ{pAr zSKL!P0RRA2P&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz M0RHs6xqtuw0A_l73IG5A diff --git a/app/open-iconic/webp/loop-square.webp b/app/open-iconic/webp/loop-square.webp deleted file mode 100755 index 9c2e0cc3504fdbc8cf71112478ffb386aac9914a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|>FJp`jTz_cX0Il z)E2qA&G+v20_hpu3QZFkg#LW(FGzOzV*gxR{RmfK#B1|uHVX|D&*?KUFaXU}kN}!u d#KUR*9*0 z+G$5$m7Qm&u2NM=O4MkZ$oz&wY0>|a8+VooY%7{O_t&k9KN%SqfF>$P0QDO&GR$Sv X;$Yxl5WHcbzJ!6ffZ^ZoIR_X3n!qNs diff --git a/app/open-iconic/webp/magnifying-glass-2x.webp b/app/open-iconic/webp/magnifying-glass-2x.webp deleted file mode 100755 index d7889f75d1d86cba46cf37094e62be31cd162e4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmWIYbaVU0z`zjh>J$(bU=hIuWD5W>KNvas1bA!*@&vyhw3xKS?2Mkm?`{51*-8EC(F(uNJEHg;6(3|JFCqhCwSB1hSC;;)%MU;N~sH#2knXa4MO8f_i_ z)Jt?N_W!@0%Ix|1;E~IYIc;~oo<4eS-Xn+Wa&we6KG@91xx?+%0o5mG#DbXP6!ND! zuR0?CWNnd$=+D+UH(XYoRzC8aYo%_i$JcX;Lc*tHZgK3)d(J(Vx74D|Ebk15`vuYW zKdR<8&s_9R;dGcttIz9|F+g_%eWV}(q>UIE<}zvt0DUHS!$N%t19Jhxzu$8XFaQ9W CHfu8g diff --git a/app/open-iconic/webp/magnifying-glass-3x.webp b/app/open-iconic/webp/magnifying-glass-3x.webp deleted file mode 100755 index 7a1ac65a439207c56f9a7e64269fa57d6c4988ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378 zcmV-=0fqijNk&F;0RRA3MM6+kP&il$0000G0000N000*N06|PpNF@OP01>~!plu{a zm)Uav59ay9+d?8D@}LTgRlbanQ;r8lrB(hejIzQ|KOY^`M~RX#Z@E|%3y8ICn|AiM zZ5y$ZZ!`ApzmxM`?z=xFMD#zQWV@56-}l8y9{O01)d0LYYOOhG#U#UYPZ7%Ex)p15fGfgUZ+ov;M-rU+TtQnBhBG_f#LCq}!v% zpXcdO&NZZpgRUVJ9Ci(9ZtxG+EoGSi00011P&gna0002e0sx%>Di{D506vj2jzlD) YAsh4pO9=$@fB;tkhyVco_|F=^0Q;M1& diff --git a/app/open-iconic/webp/magnifying-glass-4x.webp b/app/open-iconic/webp/magnifying-glass-4x.webp deleted file mode 100755 index 0078ed41177e22205d3e3b7a0eecf2db39dbb14f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmV;h0Z;x?Nk&Gf0RRA3MM6+kP&il$0000G0000V0018V06|PpNL&E`01+3$plu^b z+hq3TaQtb`v51Hq(#tMV6z;j~OtSGvzxxnZu%>)rv2Dsq8Gi%>*|yU*FU-tXW@eV; zxBo@?|4NpY5YhicI5~UxcKmy~T$GVe+P|~l^Pr4a|A~>80g4xfQM*FX!cpz*x?3%` zS2vcLtq}GN^`?oSc}uke_@!q`wngDSqr8;i?Wr3?_S6G-@04pq?A>o#C0ezs%kg%dWLBA<=By=dhP{-UMr9v%19CL@1GPMNxqSTPkru;zfDN`gY zDG$&y$~h9QDW}je<+p}t-B5=3f1{iudPRAHx1+8QSyK<;m7XYeg~FAix+T1xp1oVIaR{@9s0RH&T8o&SxRm&v+ diff --git a/app/open-iconic/webp/magnifying-glass-6x.webp b/app/open-iconic/webp/magnifying-glass-6x.webp deleted file mode 100755 index 53d15c08a7c3b2293d7e4ae11e52686426a3b95e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmV-q0-OC(Nk&Fo0ssJ4MM6+kP&il$0000G0000l001ul06|PpNDcx301=;}ux;C> zk({>wU%Z}(h#VfgI1MR3o>256B`qh*TM}zoVRAxfg4@FhjSmk(f^FMs+gwX=IHpDp zGcz-DQjw)Q|GBhz?|=R85k&MqQ4w@^Z$FZP#n0o>Tpix+)0EcURTo~Zdpf*Ca1M`4 zx?R-aHvUHEuNGW72|e;DRCjV3#ocCibTAn1tljiz6jP`gPpFgaAy@{t66(AKd-z6u zK7@*)bLy`;tjAQv5*(Hbsted!C8akFr`dukg5{oS0glU5FEHCwCvd)?>cTjs{H?=z zD4|?Ihbd(P9@~^&9jZ&o2H-JNQ0Aa^DHrg%r5r)sQWoL0PI-X(piIE)59J3cp#<<6 zru3i+{`TM(Pz8{Jzd8JBR3Rjx)ZjHlDWE%oUm7vZE%c`mQ(xE6r;+QD|C7xc00011 yP&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*nF1Qa3w diff --git a/app/open-iconic/webp/magnifying-glass-8x.webp b/app/open-iconic/webp/magnifying-glass-8x.webp deleted file mode 100755 index 8f73515553e5b921942dcfc9c52d5f38f775bf38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 792 zcmV+z1LyowNk&Ex0{{S5MM6+kP&il$0000G0000#002J#06|PpNV@_601>ysplu^b zH%aFn{)D@SA|mp#*ojDLc^MC%)Wsjma>Tx3S!$VVibR5;vs5e=6l~jC+h$jiD^+cs zs$phkW+o+yEwXgyKa?Nd_vzEu2}JZiVdM<2pFAd6#ed3=+x;mYcHQZ#f(`Z4N&suY zZbqZ(vUIg=@gjVt~m=2}Xza1=$c0)J# zJ-z!_Q#%-g*^h*}-qtT@!?lFEJc5b$N=>@tqS0CCQ_~Aza7@jK4| zcz!^21x=kVD)|^%j2Be$5Dj}&2BT;-KA>_2eNa-FLCbk6br;%QDhFtNO63$fH=|5E zwD$XyRRGO2m1$U5q_Pan73CXjI0@wwRHvX^fR%O1+J`bsS$1G0tSP6UtW(~=(i7!A zloQHTSlXk!f$~T>3QIGTF_eTdfTiD*C6tV!hOK}Kl!_vUEsx4K$ciF^Er*H^nNd`* zKv|=_fTerNbtuD>xd$tLML7b+DJW-P zWsx#-pk7fvz{)G-2{hAG#$aKR$~ZJ`M)~TXwewCHL%Ty|1Fg5IEI}KTl=UcDj@6W3 zF7&%p(k@zcGb$fl=sO9Oq>C0qeQMGO`bnzkD2#{u)TR;ihg9oL2S(0%#fCJ3)_bAm zZ2|^kFKkXDXv0tHo@PC0z1asEr4h8msk&E{&iK zUuZv#pmh&vKZ~HBOlZ9qK=17oG_LwIJ4REmlhLR=`t|dJMirXfsmq)V)!m|xf5VtY zFmnE^9Y1_#RbBR;&o?GIkYP*{SPf$uz-}0`8J5GCjj$cYZ0Nyy7*oFt`(aGoE&fLM zLiO6iUvW1x{{Ojve*pjh09H^qAT9s^0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>I~Y0o1b74id4ks$XiU1&aZ{J)L-Uc0JMvme zO3ur+>|AzH@ctg(CP!t@u4gl5p5K3gU0Cq1e@ju;0pVTC(pW`0uZ!h0O_xh)z3%cO zamLL42JhuPw?BNgVPs$c+NB@?G}(xeVJ@Q<2LlI#;0+7)B@E034F7)5Iluq_+8{La diff --git a/app/open-iconic/webp/map-2x.webp b/app/open-iconic/webp/map-2x.webp deleted file mode 100755 index ed74df799fd5b350a30bb14a4c2f14062d9757af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIYbaR`>z`zjh>J$(bU=hIuWD5W>KNvas1bD;)d4kgym@!N+@iA`PdF_R&n@huV zZ8hnG7y>lJY7Q)$ z!6Ddes?|FCKuOBtlKf3`|2UsJwoN>U$&LePKG0?b2_S96$S{{tO91Es!5bFpOBk37 L82J$(bU=hIuWD5YXI2bwl1bFlTd4lE(H6|^2mUi-ED^tsZ_-mqC zN=m(F`nP;3d7`?&`;+CA6)tAo95QZ`)`Yb0t`9HybY8IXJtL#bmw1l}3B_FLUM5zP zu5U?>-ko)?d*|}iS2nB(%2M21{6o7pp_{q+5`WS1hV?-^Z!HbFVSJs{Ym(9Qj#)8{ z-4W$xQJ?Jh*med^ej(TyvE9@4s-T|;0|U^V3Ti-CU1DOG%cv#6Ai-ca(WuWwWs#!v Y7bb5`mM;wq;fx&&4F7(dmpZ@z09{U2DgXcg diff --git a/app/open-iconic/webp/map-4x.webp b/app/open-iconic/webp/map-4x.webp deleted file mode 100755 index 50556109074d59a9577d4836627e3622ef3fd616..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmV+f0sH<^Nk&He00012MM6+kP&il$0000G0000V0018V06|PpNU#6^01;22ppm48 zJ$iQlBJl6+aS;*eNGvRJZZsMe#glnenuyx?fqnq4BuO@{zUH%S)c$w)*pJ^4{WqJo zjoj|JgTIjMeofe%?T?FgWXqP^w8~83^=~iqGn zV34FkVB%@;pxP5{xN9AGRB~4-lg8XMk`#E7Etj^5)H~enc}B$vPKA_Tw^&p`B`G`G z)a~k8XYXL?09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s K0RH&T8o&T}1#C6| diff --git a/app/open-iconic/webp/map-6x.webp b/app/open-iconic/webp/map-6x.webp deleted file mode 100755 index 2cba9596975f2e906aba272183a28bb3a94c44a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmV-q0h|6(Nk&Fo0RRA3MM6+kP&il$0000G0000l001ul06|PpNDTo101+R;pphg+ z-~G%?{*4}(h=?o*(h--^MjAUxtdO5r;(T#PZ|JH9V?#&2h>}Y{awJKS6vNESJhQyR z%<=zEZB}=0*5Wau|7O#+v6{Vi@Sg-${1@_7$J^^=Gpg7sHKoIQ(n_TRUF?e%N;&4Z zq&nY}9^TYd>8Y%3OmS+3!tE2qP}`QG1ppn2wYDoo2mm4!XKhD{FaSg;4%+4vZ2;&} z%(M+CPMt`!d#31X%hFRu8(zKk0(C{N3i|L!R}ZjIY)2Qnn2pe&i#mi~8zyv^06^mT z&QI_tvZi4b0T5g|{?df>o*#B80LarusNKnX6(VORw8$n5frXvW>%k%ZbW^ACxA&g` z00011P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*pQ C43>ug diff --git a/app/open-iconic/webp/map-8x.webp b/app/open-iconic/webp/map-8x.webp deleted file mode 100755 index 11e4fb0abdfa2f173e7223a805ae8c1e486cb8da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 440 zcmV;p0Z0B)Nk&Gn0RRA3MM6+kP&il$0000G0000#002J#06|PpNL&E`01=qGH{@63nN*wmA^d?T?Kua2g1R%+_t*SY= zySqEY1&F)L&zb*ZQuqD;b7_%QME}vYZ5uJ(JM{?u8-Tj4x6F9?@bz`S9Hll>`oyBa zI!bP!);n#zHPjo@(LlKtU8t*;es|MrLbGGKa;R9wa+j6VYfQsM-tRA5(lFF(X)Xu= zA@ff4dZ3htP^5IH*B2!}gaD;az22P)QhL+tmQn#iiPDW;2b3;D01&>Sw69l_<`o0M zk~uc?3ck~ow}4()xN8o@GT(0YmC+14ZdyRK=rbKXMRY@tj=E6Jv!;WUM>}L*Y3n5o z$*Y&s*V}~9x&GlFIEFpi*o81N-=UQ6oQ5+W03i0Q9O91@9^(*d)DF21{`$y5s_KV| zMOtMTVqf~9PxfGAx`8m6z*hV6MJ$(bU=hIuWD5W>KNvas1bEB^@&x@4Dok49c4m?>hXd!o+FAoa z!Azz7zK-duf3|o130?M)=pfP&wY0J z#)Xd#SKWVDGPhs(dTHWb)=W#52?;5@FK0NV);Rm^3b5lp;m3dKIa{S+>!}|tAu`M! z1{+&$a34Qoe)Gu9WBSik+v@`E7IKE4l6o|&CUYO>KT#9bfA@JzfUX0&TR{Ry8! ZWz-S?x?k{yh58Z(<^qO)zvmoa005feSquOG diff --git a/app/open-iconic/webp/map-marker-3x.webp b/app/open-iconic/webp/map-marker-3x.webp deleted file mode 100755 index c61cf7b9ca270842305e0ce448a6529c4154357a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmV-E0m1%KNk&FC0RRA3MM6+kP&il$0000G0000N000*N06|PpNa_Fp01>ajD3T;a zTXoFzI{!weT|`7SM#pQD(H(o_Ctp#oEY^z|SxJ8ri5(zDlB785BWdsS%wlGS_TRPE z$LyR;i0FU9CU3pX^|J21qNX`xG;P3pKG4}eA#NV1({Guo{5?_o25d5;woRC@r6#a% z)TxOmoT(R>9`y^SO?6;4R0*e|Rxnp8g_BWdm?M?K$*2R&f-2!u)EuTw{laNee=rqw z3W&m)Dq+XeHo$}}HA3{n`?+0Zs@iAXTZo5r2XKlVom~O%lg9smGVP&gna0002e0sx%>Di{D506vj2jzlD)Ash4pO9=$@ QfB;tkhyVco_|F=^0JtfLEdT%j diff --git a/app/open-iconic/webp/map-marker-4x.webp b/app/open-iconic/webp/map-marker-4x.webp deleted file mode 100755 index 3f62273933dae65e3b8232ac58d9359cbf631970..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 412 zcmV;N0b~ABNk&GL0RRA3MM6+kP&il$0000G0000V0018V06|PpNJs$y01;=xxRE3$ z)Zo4Ok$<9hkVHgeqgPt9(ciiB@)*_GKXp-F=?&T_M|!K6GeriiKS~N9*tWGSxqsM7 zcQ@EUhpptD|9Ji?{g?mlvNr^YDsy38QD=vP|K9v1&lUj>Ogg-lqQTm zr21oVIaR{@9s0RH&T G8o&Vf;k0c4 diff --git a/app/open-iconic/webp/map-marker-6x.webp b/app/open-iconic/webp/map-marker-6x.webp deleted file mode 100755 index e7d7540ce84b1e83815bcdd587ce3625728edd9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 528 zcmV+r0`L7&Nk&Ep0ssJ4MM6+kP&il$0000G0000l001ul06|PpNVx$301+R;AYj`z zlkNWT$7>i7k)JC+xkS?p?Ya-^SJaFn+!x17i|Hw6t5#DHR|F7b+fLg&*{aK=GIJZ| zL@vYI|DH1avh?j0MD#zQ*gS7fKYo`V)Ard0>YLLsqvI2UdWQ=p=Le`^U#NP{p)ICV zPFA2R7F5qyps`a{{GD6PmaFd0vogt{cwtx`8&u4ZXZVElA;Y#s)V3Hpq|AcBBa#mc zW(J8<25l%>3{H?3Q%VbkEh!_!HyIp5bgtVx0)|k-MwdZADS*}bf8-Qruusgx@)Shp)?aJCkEQBAF6(~pueK( z5_S4i^iZpKWAd#)z5PEX{`OJ#iis=KZ!_9L1NnrJNscB~Us)*&G_&)?;AQwoIi SfB-;C^UfJy0RHy~fB*opp5|}> diff --git a/app/open-iconic/webp/map-marker-8x.webp b/app/open-iconic/webp/map-marker-8x.webp deleted file mode 100755 index 09e5985f4c070a6b910d8cef02153df9ec91394d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 700 zcmV;t0z>^$Nk&Gr0ssJ4MM6+kP&il$0000G0000#002J#06|PpNM8Z~01;=xAYj`z zv*qp|{%qZ$h=^Pw6AhQ0x&-+fDQ3FCm}=7&>lD+kQwCG~jt6yvA;Gq7wQX)BwUWck zhA=a;(p0fz-T99v@V@?g-xG-Fe?s3{J-*3{!B>&r9Iv(zI^BGv=W!!Nz|oV6it=a_ zfuh}t%5o<{h=~^(p2uNdE@>*4VC~g3)?L_o4A6yTxn@)UvOSYVU+GNyqR*y!3HphW z4S733L$dzHhH@O*=!I^z9lx?+s-e#t!8*ygB6zjB}JZyaicghsT zjIx0DfpP}MS;|Lv&neq5b|^34?NDC8ctyDh?*wH(fhp-zPQ(8}xen7h!V>!()UHV|}X2afDf;dJUmY zsXRll_=&2g1mVU$srVd2$c38TdI4d#>D@-?3wkaPJice+eT?vF&W1e2Fvbfy#W;pD zUr|)^7}jFVpL!9)Tj$R@hPlbFO$>MU3swLC09H^qAT9s^0Fna$odGI906+jf!A_k< iCL^L31Oj6W1oVIaG60ilii!uAyx;)-^t`!%0001fR7EcU diff --git a/app/open-iconic/webp/map-marker.webp b/app/open-iconic/webp/map-marker.webp deleted file mode 100755 index 90fc96813eb452ce87927de8364d5a8ad032a309..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWIYbaU%tU|B_yk@dze_1jS{ zE=}zF4(csY+0$b$z$4`uWOBUc|G%x@p8L9du}^)qR3dP8scm<5t9_Ey!|57#jaO}W vof=*HQ1O-j3ud5sK${dKfV2@K!(2u!4h9Ye!5bFpOBk3782qC^(^L zzSwWpNzT41o`V1PcLlVw+Dy!MD~Vg@=j!r5n8&YkdWUUCd`B^>pC%gv1JGOr37{!P cj0|%bwKy0!7zA%vs4rn)E@1fgd(Hs{00=B4IRF3v diff --git a/app/open-iconic/webp/media-pause-2x.webp b/app/open-iconic/webp/media-pause-2x.webp deleted file mode 100755 index 4e7a0ee8802f7e5a0902c80264dd9a43bd62b170..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmWIYbaM+~U|G-F< mlaqk~s9r$=C~L&XFqctF0H{y!hK2eP2Ic~Wf4}D(U;qGHUKLyb diff --git a/app/open-iconic/webp/media-pause-3x.webp b/app/open-iconic/webp/media-pause-3x.webp deleted file mode 100755 index 1ac08cd8ca1b92667c21747ea8a993b57387cc46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU| diff --git a/app/open-iconic/webp/media-pause-4x.webp b/app/open-iconic/webp/media-pause-4x.webp deleted file mode 100755 index fa7bce4799f4ae965817c408112bb16316ffec1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|->HrV#R zevfLg%YSi3yTo0H1;&82|tP diff --git a/app/open-iconic/webp/media-pause-6x.webp b/app/open-iconic/webp/media-pause-6x.webp deleted file mode 100755 index c61afcee8d92a4ef9230072673dd7eb87012117c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|1@8x80=O$Omk6HR-EyKDVVF}O9O+0_vdqx N2@L$viAy8W@ZiCTDhavCr7^ NfZ^YlJv$qKssXXIAq)Tj diff --git a/app/open-iconic/webp/media-pause.webp b/app/open-iconic/webp/media-pause.webp deleted file mode 100755 index 57a2b31da1300c3b13efd247145224d33c08efeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmWIYbaM-0U|3JVAbg|AK-}3KLv*+aD1S{L9bF lzyMUOAOVy!Vq}=hsKvp+!610ULVXDXa{=UV*x7CntZ9Fp!`>#54X6ibnt}w7HezI$%cvy)G*$41 Rh58Z(<^qO)zvmoa006mvCU*b; diff --git a/app/open-iconic/webp/media-play-3x.webp b/app/open-iconic/webp/media-play-3x.webp deleted file mode 100755 index 64b9857245461b7e5ff06381457665307142ea17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmWIYbaQKCU|4^9?spC(ujgF(N<^Ce=a5_ha-||L56>qC!O|}Fzy2C0-C3w0i=bP8Rjx-888?y k*sXM!=Ax>sIO7RZFjvc$1_lT3&*vl)82)|dXkcIf05SF}Pyhe` diff --git a/app/open-iconic/webp/media-play-8x.webp b/app/open-iconic/webp/media-play-8x.webp deleted file mode 100755 index f110bf94102280482d07c2a2fde34e9e77d76b37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmWIYbaU%sU|Ri-+^sz-hUH@M ze{}iYu6A|#FPtu*t?hc48K?@VUqJ#$8!Wz^ze;9wBEVWGZ+fw_R;-|smG7yyHF B7!&{i diff --git a/app/open-iconic/webp/media-record-2x.webp b/app/open-iconic/webp/media-record-2x.webp deleted file mode 100755 index 86c835af7647deeb4cd1995432b67902bfbb62d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmWIYbaPw5z`zjh>J$(bU=hIuWD5W>KNvas1bAcud4kIqXl>#>^_6EqgU7!w`9)hh zI;Jp5@8YuEqwUVkBjp)na{NPy!N09_eR3i$U+h12cct&`S1`PFMp3e4s-f+W>PZuo+)#JK#@MxRZj)DxM!d)!8JZ1EH1ApzkGh6rvE6^sO8x$mfv=Jl2Tt+Pc Vpj!lQSg0>yU@l diff --git a/app/open-iconic/webp/media-record-3x.webp b/app/open-iconic/webp/media-record-3x.webp deleted file mode 100755 index c3d74c4c6b2d9da96331a1e3d8cc4fde6e50b4ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmWIYbaT7Iz`zjh>J$(bU=hIuWD5YXI2bwl1b9pU@&vyxP?&V3t=_?*t07PG-%^JV z7Z52=EVm4ztr!@9E>%ziy6X}X!(2u!2?hxUyNO19E-H%@ ZrN1zFbFzGCU#^34hOEi%@l;_go^J zEFH~r5kpGH-QoT^Y=;E@1ONb5P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@ QfB;tkhyVco_|F=^02w%Fr2qf` diff --git a/app/open-iconic/webp/media-record-6x.webp b/app/open-iconic/webp/media-record-6x.webp deleted file mode 100755 index a8dd1cb0202e8ac98c60f81c5f748a72fb1f00fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmV-s0h#_%Nk&Fq0RRA3MM6+kP&il$0000G0000l001ul06|PpNDl!301?;0Ad;;% z+%I&9g2X}m+oPC>hz!Cqc0~&3(~(6XJp%W)OGuuz{G+LkRIn z4-bfMdU!#6)58nmlO7%rV|oZ6Zs}nSaZV3Yh;4dkKt9sEhht3h5RUwn#xw_4pT;iS z|1>S3C`UA$i_p}rRA*J_Y9W>9Dzv3vs+L6T zd|?0p09H^qASeI;01^WLodGH^05AYPsX&%QB_ko29+I+n`+~LQ`l0A62;+#dK5XeLW#=SJ z3koN&M6VQHA~19*ZNuDI1d!>;k;9PgY!=D z4bB6_dpLI#Z{b{1yo7T`@dVB)#T7W?)V^YHzf-z_p+jj4hUk^Ta~PHxg=3gf7s^g? z*oKt#U<`g!^cjFPccSE&fxY;o;8B22lY%<@nooK@>hLX{=yfc>KleqC&kPj7!I{QW zF91<;a-rcojzbt}zrFb9Ytsrt9ji=N+x_i#zgRsW_*_u$M2cNQFv)?x+f2AZoN0i=x> b8Rjx-aWHT&2;Q(zU&6p#!0_+)oC6F1K4vFf diff --git a/app/open-iconic/webp/media-skip-backward-2x.webp b/app/open-iconic/webp/media-skip-backward-2x.webp deleted file mode 100755 index 3a8507fa13d0dce6f4805f36a7933993540718a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmWIYbaQKAU|zO diff --git a/app/open-iconic/webp/media-skip-backward-3x.webp b/app/open-iconic/webp/media-skip-backward-3x.webp deleted file mode 100755 index e92aa1474614049c1b792b694896dcd09e810851..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIYbaR`>z`zjh>J$(bU=hIuWD5YXI2bwl1b74id6MM`%X+V9#L5e=QE2MuICbLV z8aa(sxwChjz7xY^S~9_L`gKP(%Pj#%s{S(w{uQ6CvW3--X@5s?ZP7cCV}XaCC(XaG zV$SZ_#S#6*oMNv-7#SFVb}6UJ$(bU=hIuWD5YXJQz9p1bBo4d6MM`%X+V9#L5e=QE2MuICbLV z8aa(sxwETI-}!Siz?ogLq*69zf-|@0n(yX)FZSQsmMc+F%=N!PLy<3|nYk>H;n4EK zf95LeEjkb>!|=K2fVq~K0T0kzpp6P@K>89B!(2u!1qKBMyNO19E-H%@rN1zFbFzGC RUJ$(bU=hIuWD5YXJ{URr1bBo4d6MM`%X+V9#L5e=QE2MuICbLV z8o3pnIi|my{rh=x9x(ELY--Qw=-bgT^|yxdFMSi=4KvHw^TNJJU8&}6wc=HLVf5#* z^obqU1B%x(uKX&sudGy>j~i$%&_)FfAT7kqFqcuwfWd&lZl%LC7gc4&8Bdskxmvz7 TFgSRBJ|~&L@b5cE0|Ns9V1YYD diff --git a/app/open-iconic/webp/media-skip-backward-8x.webp b/app/open-iconic/webp/media-skip-backward-8x.webp deleted file mode 100755 index 60fb938b49cb767b3bbe1dae767b2e398693afec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmWIYbaPw7z`zjh>J$(bU=hIuWD5YXJs3Iq1b9RMd6MM`%X+V9#L5e=QE2MuICbLV z8o3pnIqJVA+tsEVVUxSiFulTo*{Yy%>hCp5zw}LfH_R+!&r{AWU6Eg^l2tNe!O4%$ z{#UL?-Kl+45O arGdeSVRB|y7yFDo4;cP^*|W0&s2Tw4+CFgr diff --git a/app/open-iconic/webp/media-skip-backward.webp b/app/open-iconic/webp/media-skip-backward.webp deleted file mode 100755 index 8e2492e0b19cdfe308a0bf08e8b9731a23f64f95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|( diff --git a/app/open-iconic/webp/media-skip-forward-2x.webp b/app/open-iconic/webp/media-skip-forward-2x.webp deleted file mode 100755 index 2f853ea7c8dfbef92ec28afda0f449481ac3a8bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmWIYbaQK9U|Tz7sPZ`1#~u+Cwhg8dc#7yp3J$(bU=hIuWD5YXI2bwl1b74kd4k~%Y6&y9gmWqGaCJE$x%^0i zfM?c{wO<+HCN!w3xNuno7xy=H{CnS2H}OZ`%iPDekCgl5OW#-9mt1xGN7ua>aU5}+ zaPmdne@390K-(15fb=CMhPjMd5)2Xyb`y>ITvQe*N`GPU=4AQOz!1*Z!NBnE$9bs( F3;?QzIcWd@ diff --git a/app/open-iconic/webp/media-skip-forward-4x.webp b/app/open-iconic/webp/media-skip-forward-4x.webp deleted file mode 100755 index f3113fc6375b151cc9ebc09be427263cdc1f6937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmWIYbaPwAz`zjh>J$(bU=hIuWD5YXJQz9p1b9RNd6M-BY6+KgtPcw9kvi1DvGnkv z!>v+YNw>T1J>dKxTY6$ssRFm;hb=#+iTpXgO8M9NZMo8H_vRe3FR)QzI_uHEE!5y7 z^r1V;!(qM9gS8AP$7CvYF*`GTV`pFh+Nq!hwBZsH!(2u!1qKBMyNO19E-H%@rN1zF VbFzGCUJ$(bU=hIuWD5YXJ{URr1b9ROd6M-BY6+KgtPcw9kvi1DvGnkv z!>v+YO1D?Nd%*cYru4+8*A8Mv4>CXNXwFzHk>c{dbs4AG<#!i~jdCIyrGgf+@h)zg zAKNbVZAqKV!iBqMJd~cl&VQXa3(#bsoeCO2T8NopE~AzKg8_rxN{4AKs>+Hpo-hS- WwR~w{aPaJ$(bU=hIuWD5YXJs3Iq1b9ROd6M-BY6+KgtPcw9kvi1DvGnkv z!>v+YNw>T1J>YCu%on+hFGZ1go>@ecLHNcM9sjs}g>#nOUHJITz`9Ilv($!OM%XYdgR;U2#0Gg#B0i=x>8Rjx-aWHT&2;Q(z PU&6p#!0_+)oC6F1WQ!u& diff --git a/app/open-iconic/webp/media-step-backward-2x.webp b/app/open-iconic/webp/media-step-backward-2x.webp deleted file mode 100755 index fe87d1d3e1af3706c9c1f2ba0b80fe86cb5c29a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmWIYbaR`+z`zjh>J$(bU=hIuWD5W>KNvas1bBo3d4ll?Y6+J#ey?Bw8nicRJ$(bU=hIuWD5YXI2bwl1bCzXd6Lr?te7a$7N>IHy~>08GDb>D zoy9v2s@ME^aI59fwuw_L)86clSyu1zUvyh;^9qA|iWO{I8IL`vd#k@SP|s7svm1v3piHyz>y+5xm(K@CV>Vq%!fs3pN5!C*Jh fsLw@Zk)re$CT~ubFAWUgj2#RN|9+g8I=}z`pJYRj diff --git a/app/open-iconic/webp/media-step-backward-4x.webp b/app/open-iconic/webp/media-step-backward-4x.webp deleted file mode 100755 index d4f1ca0ae118b771a5e4ee5523c12453f7dfef76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWIYbaUIpz`zjh>J$(bU=hIuWD5YXJQz9p1bCzZd6Lr?te7a$7N>IHy~>08GDb>D zoy9v2s@ME^aEs-!$D~_2_iq2W%*y${_r?B0+j0e_w)H=#xWe{>@tq+{)?%4SUbFf_ z?pT`z+5Y5SA==DwXquy#G85axsizhnojl*8+1@qGf(d8~(0&CqAbp96VJ@SV0)qmB h-9)247nMbd(qEXoIa$6mFoZL9Ffjc4abD^G0|3?PLN)*Z diff --git a/app/open-iconic/webp/media-step-backward-6x.webp b/app/open-iconic/webp/media-step-backward-6x.webp deleted file mode 100755 index 6155313b3e37dcb563f30eac0f7682516eb16aa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmWIYbaUInz`zjh>J$(bU=hIuWD5YXJ{URr1bCzYd9u?NEX!3f`?1%@{=egn4vvd# zTi+h{WA`?Z*gkQ|ifNVnpUzL487KHxe3qJybZyi1#p!(s+@Uyuax^r>&3*UrYk0JL9018AENGs9d)EdvGv k2D_CG(_B=Q6=ytQ3g&A0(!k*0{rQ|^0>i)W91RQ%06;24c>n+a diff --git a/app/open-iconic/webp/media-step-backward-8x.webp b/app/open-iconic/webp/media-step-backward-8x.webp deleted file mode 100755 index 71e89e062ac86a524f26be84ad8c86696bc07d70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWIYbaUIpz`zjh>J$(bU=hIuWD5YXJs3Iq1bD;&d6Lr?te7a$7N>IHy~>08GDb>D zoy9v2s@ME^aEs-(+a!^%hROea+O7GT;PRzjyyDL{#k?f#MJ4a#JQH1d6{5QxFTBq^ zc#k7nPd{bt6RAUK9Kw*xCH!RebFfbP|{QEuU00RIEG$V2V diff --git a/app/open-iconic/webp/media-step-forward-2x.webp b/app/open-iconic/webp/media-step-forward-2x.webp deleted file mode 100755 index 0a614e2b0a1a6fb84cb4a80be2da7e7d94e0b2c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmWIYbaR`=z`zjh>J$(bU=hIuWD5W>KNvas1b9RMd4ll?Y6+J#ey?BJ$(bU=hIuWD5YXI2bwl1bD;(d6Lr`)FxeNyU8_yK~`u|N5_Qd zbI%KNg}QFL1wEUw@qf|Ge}aF*Z*1dTbm@bj4fA;ew_FAXH)rwYS1ZIgpV>s~{;PM2 zoh_n#XcE)*)TLftPp7`xub=SCRq6p7&~OHzy$WhT`VtevTt+Pk1_=hciAH@cDvK1Q Yzc6`ovV3V^2xshIVEFgrywm{(0FDPd{r~^~ diff --git a/app/open-iconic/webp/media-step-forward-4x.webp b/app/open-iconic/webp/media-step-forward-4x.webp deleted file mode 100755 index 54d9d3878e297b52d05206f32770427427601ed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmWIYbaPw7z`zjh>J$(bU=hIuWD5YXJQz9p1bD;)d6Lr`)FxeNyU8_yK~`u|N5_Qd zbI%KNg?es#1cjXL`MJEh=X}RM?VQ_eftf!z`rX6c9Ef2!a81FI?d57~kC0QZGCms5 zn;~J$(bU=hIuWD5YXJ{URr1b9ROd6Lr`)FxeNyU8_yK~`u|N5_Qd zbI%KNg?es#1cjX5Q(gYE{WQ<|j(_i&*1L!07@bKva!ujp^eoT4-}c2GC@noeCO2T8NopE~AzKg8_rxN{4AKs>+Hpo-hS- WwR~w{aPaJ$(bU=hIuWD5YXJs3Iq1b9RMd6Lr`)FxeNyU8_yK~`u|N5_Qd zbI%KNg>s}lgRUIs`TukI>1K~hvn}*u{+zZD9R}_FaT{-&;y!3iJ4(8qm~1M1B2Z`zqxK|%8SHVn38!| bzBDixF-*?v>SCX<=K;gNFMD=2096A3*0??O diff --git a/app/open-iconic/webp/media-step-forward.webp b/app/open-iconic/webp/media-step-forward.webp deleted file mode 100755 index e41e2509d460b3a08cd3159b6abecf6e49c8edf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmWIYbaSg8Rjx- XaWHT&2;Q(zU&6p#!0_+)oC6F1wALl* diff --git a/app/open-iconic/webp/media-stop-2x.webp b/app/open-iconic/webp/media-stop-2x.webp deleted file mode 100755 index c9c39d0d2b07e1ba280a16c94dbe08c5142b6598..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96 zcmWIYbaRVfU|Y62M;fO-@pfGUg_8Rjx-2>|s9-mp+#!oXa>@bCAW0}KE;>KRr5 diff --git a/app/open-iconic/webp/media-stop-3x.webp b/app/open-iconic/webp/media-stop-3x.webp deleted file mode 100755 index 9dc380abf83d4c23c1baf9edcc40edb56ad62611..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU|e0-kdC78W_SEI~W-L{Wvdm GfB^udWF2h) diff --git a/app/open-iconic/webp/media-stop-4x.webp b/app/open-iconic/webp/media-stop-4x.webp deleted file mode 100755 index 12305ea6a43fc8191d0548f9070c80f46ba6834b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmWIYbaTsMU|@<$$t4eF}O&dJ;3kTt+Pi1_uVagMM?})RY&AvoIy|uzYD?Fk+aT+1159 QW6uMIe_!_OYyheT09+s=0ssI2 diff --git a/app/open-iconic/webp/media-stop.webp b/app/open-iconic/webp/media-stop.webp deleted file mode 100755 index e9ba3a14699f9c575e7b9397bceaacde50d9b91d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmWIYbaM-0U|v*8 j0aYtV0BIvehPjMd91I)`f;TMGmoP9FF#P*H=Kuo$%B&JE diff --git a/app/open-iconic/webp/medical-cross-2x.webp b/app/open-iconic/webp/medical-cross-2x.webp deleted file mode 100755 index 13f18a872649ba9a6184075f9d9f8e8fafac203a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmWIYbaRVhU|u@5(ef1hJU~39AE$d1NRqa diff --git a/app/open-iconic/webp/medical-cross-3x.webp b/app/open-iconic/webp/medical-cross-3x.webp deleted file mode 100755 index b1b4bfba1b6e12667a1a41bd7a29f3c562e9c9e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|9c7J>xl2-Z7 zLEz$lP7d2gsV@Y9@<5#mYC!rD6T@6aEeQq*2D^zyeJ(1C6s5l~d2_OSX|kK{ K_v5_O0R{k4haXV@ diff --git a/app/open-iconic/webp/medical-cross-4x.webp b/app/open-iconic/webp/medical-cross-4x.webp deleted file mode 100755 index b32da4d77d2be986f49794a83ffb09dd6dac0362..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmWIYbaP8%U|p*Ks^d-Koysm80Io+DKIE7*iAI*b5U8ODE)=Wo0H{B14B4t2Lr>uALpeG GFaQ9As~si) diff --git a/app/open-iconic/webp/medical-cross-6x.webp b/app/open-iconic/webp/medical-cross-6x.webp deleted file mode 100755 index c14ee6f7ad238d657104ddf7e2a584d969a0f994..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|1FwI3(S#ib_reLm?FAWS1 R-k;A&CNTW_&e6cY003c+B47Xj diff --git a/app/open-iconic/webp/medical-cross-8x.webp b/app/open-iconic/webp/medical-cross-8x.webp deleted file mode 100755 index 158f7c19b52382d3c8c20e91a1b5709003191ba2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmWIYbaN|XU|u@5(ef1hJU~39AE$dWsnt$ diff --git a/app/open-iconic/webp/menu-2x.webp b/app/open-iconic/webp/menu-2x.webp deleted file mode 100755 index dfb3a7e7b21e7e70e3ef6eb1754aa051d38eaeb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmWIYbaP8%U|4@#@-2O=4WPwk3LP zQt{q&>863p7yH7R4@P}W(+fp_>VPIFNC0UgMuxeJS^_|m1aDZVFJWLVVEFfY&H)Ah DR(Bis diff --git a/app/open-iconic/webp/menu-3x.webp b/app/open-iconic/webp/menu-3x.webp deleted file mode 100755 index 0fc9de39384b11f5dee896d83e79e646be476581..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmWIYbaN|XU|U|k2W0|Nj`eRi-+=~QxyrV8n zdZfPG?TfwX{mQ$hWqK=iA3Mj&$iM(JK|v3weiAdoTt+Pi1_uVagMM?})RY&AvoIy| cuzYD?Fk+aT+1159W6uMIe_!_OYyheT07Ahe^8f$< diff --git a/app/open-iconic/webp/menu.webp b/app/open-iconic/webp/menu.webp deleted file mode 100755 index a23ed3e6a5ce0385d2b42e531160b37b1c4ecd60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102 zcmWIYbaRViU|8Rjx-aWHT&2;Q(zU&6p#!0_+)oC6F1{~;FB diff --git a/app/open-iconic/webp/microphone-2x.webp b/app/open-iconic/webp/microphone-2x.webp deleted file mode 100755 index 08a60e5e5f49c0f3b5fa09fb80a4b67f34cb0e30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmWIYbaQ*az`zjh>J$(bU=hIuWD5W>KNvas1b8e2@&wl(RG75H;*6esMCYU*-#72* z=+LoIoZR;Mx&T+R*!%r#>>sVfSwkOnJusM*b9vVB{M*|${#;&mzp_Jd(SOghAHRAu zYEInMoHFryfl<-!=60U#H>y{b;rrrj(_&^Qb%p9t?gY_?DPaOl(T!(mQ;3I`f+paFXnJ`Gqq?82h~FTZTU zSW+p72D~AaM6jVU5Dj=!DuZB79Y7QM11PelVhG-;8>m6Q0-aIcFuGI=O4NpfN*u~l zk1+12)g?kFQ|cb(3-yzQar!~MMPMHNQOnv@I+-oZsPQ?%*PGxU0l9T%lf z>Z^VYha6ReQ;sUaDMuBtGhQ9hn6%TdmTBq1`cKOuiU0rr09H^qASM6+0MY^godGHs i02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&UW`-qMJ diff --git a/app/open-iconic/webp/microphone-4x.webp b/app/open-iconic/webp/microphone-4x.webp deleted file mode 100755 index ce793708ae8c0e8299e3aa71cbcccd55c2412a9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398 zcmV;90df9PNk&G70RRA3MM6+kP&il$0000G0000V0018V06|PpNIC%k01@B9pphg+ z-!sSb{@wDwg^0+FLx>}g5NccwvV6!Q72`uuN9K%SvO8CE6&=LjCQ`;a_!9?U*|ud! zx>ar4w%uK}ZQuD%q#|BKwEiRd@4#&vN20d(-Md%7+TrdF30uu+=ZzXb=TH) z-BI)hdA;9s)oI??9px%lQl9KgS*6MLl%Rf&d8?v&mLF3mxeTD8k9CM=m=!W4_W%TR zJ^=G1TOJ`u@)^KJRgL8}0B0l<5Z#f?OaNH-)f;{_B0};-TI`X0g0WNe0-KP%k?fzC z#;pp;APmhH)bQwq-bIaMd&LCD1N9=Q`_1XemFqZFS1@x8x)#+4F{wRY@2X(?t`vKh@l4*&pGP&gna s0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^07SmC+yDRo diff --git a/app/open-iconic/webp/microphone-6x.webp b/app/open-iconic/webp/microphone-6x.webp deleted file mode 100755 index 1d48ac5a8b52047ea9b37c5c49ff568c3282108d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 532 zcmV+v0_*)!Nk&Et0ssJ4MM6+kP&il$0000G0000l001ul06|PpNWB3701=1cplu{c z+D@wP;}5v{P((yNmU8pt-TQs&2<(0+@q7*a= zM4^c&G!ca+qR>PXn&=@(QKE_9`UQ*g1{6)GWb@k}*I^#={}PHO)EfWKV17~R5Smag zlo~8gaS)nN9~1}6QyhdQ)Ca}E@)QT53H3p7uzo20kPeLw)HkIG>zy(Rd8Bay|PPS*5WI8Kiu{JfIvwvS*f_QpghJ8s;43H;1&Jsh%9v9c2?{qoAxnWh)PzzlY@% zYMg2m_66mqg@ELN@`{Qns;dOm+f+-ax}iEsP_;z$o}p^EOLftJneI~0qI!+`YavB> z`kDF|A*U>T?oIdQX=`HRg{8+FA=wp!Uz!L@j~RH|K=7hxK(U*mhrUx*-i@Khp@Ux< z-LpwVNT)Um%Kl6Zu{^~go~Jm(^Av}8p5hSCQyk)XibI5S>Apj=`@CL5FRcd#ybT~c zd0@~-9l;9>+(GaS13wY`&Cmuc00011P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R> WQwoIifB-;C^UfJy0RHy~fB*n)hUgFg diff --git a/app/open-iconic/webp/microphone-8x.webp b/app/open-iconic/webp/microphone-8x.webp deleted file mode 100755 index 64002e00991ff1753f994b661754d70ab4a27d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$cr3Nk>0ssJ4MM6+kP&il$0000G0000#002J#06|PpNJs(z01>~!plusL z-=uf^A@?3dMC8}FGKV;hhhJ(=G<{IS#)B!X1pw=lbV2)6AK~`>NYNLv59Eqj&D`gPAi3>HB2(BEtGU7?{o@wCj;UehlH2eFofgAj;q)bNU5D zn|@%9_th$5_V2wh^Xqh~gy?Smn{s2IjAA^cLs6d6p(s!3P?V>1D9Teh6y+%$it>~W zMR`hx*lzdvn`YWN8b+kjcFMfx4a6v&GazXq!X|^R5Z?L2uqgy@Fz^b&w+#F#BlMl2 zov;7^09H^qAT9s^0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>I~Y0o1b74jd4lH`m`%FE#xHo{h?f7~?H^KI zTqZTRv)+#pIlr#+qvmwBX17TqUk&XS*DrQgQu;N2%j=Y1+J6P>pNj3tyZ^=g>}pf* yg{OX8Tk^ur;M;z=5TJ=byA&jVv=Jl2Tt+Pp1`Y4JVAbg|AK-}9u7b1qmrCm{!cd5 k0g3|ED@XuoBSwa~j9LOfeS$YE)R!OV diff --git a/app/open-iconic/webp/minus-3x.webp b/app/open-iconic/webp/minus-3x.webp deleted file mode 100755 index d9e7b7e1d1f98f547a2aaac6355c1de23eb7ffa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmWIYbaP8$U|8`FEKI9Wz>>jkYKQzXw>JTvPe<-3zIh|%a;a*aK;V>hJQcKOC4YU0Lm~L A!T(s9r%0D0_*CVJ@SV0)qmB-9)247nMbd(qEXoIa$6mFoZL9Ffjc4abD^G0|3l) B8rJ{- diff --git a/app/open-iconic/webp/minus-6x.webp b/app/open-iconic/webp/minus-6x.webp deleted file mode 100755 index 10753e868dcac5f5693399a82a08f53f374296da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmWIYbaP8#U|C@aLwFqcuwfWd&lZl%LC7gc4&8Bdskxmvz7FgSRBJ|~&L@b5cE0|Ns9 D_DdUP diff --git a/app/open-iconic/webp/minus-8x.webp b/app/open-iconic/webp/minus-8x.webp deleted file mode 100755 index 11a0b3798750faa02196925a100c251b76daae02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|J<4@gg9W|+&U<-p*;V0X}OuA7?jB5@X`WFD3;4GcyMlQX-z*k|l{!0_+O Jo}CRq)c_&xAB_M2 diff --git a/app/open-iconic/webp/minus.webp b/app/open-iconic/webp/minus.webp deleted file mode 100755 index 9f4a568333e41e68887fc4d06256f4b4f1794b2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmWIYbaM+~U|4JVAbg|AK-}iVX}N|1Kp9Ui_bs l3={>bSC9bGMvM$|8MQbVI2Z(PSg0>yU@l(*F%JYOtGkN(l0?h!L gt{?%VjTjl`GHM9`Z4ta-p}vHHxq#u{?>Pq;0O}Ja-v9sr diff --git a/app/open-iconic/webp/monitor-3x.webp b/app/open-iconic/webp/monitor-3x.webp deleted file mode 100755 index 8c5640da92022b0fd02e48591074aeac14b60c7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmWIYbaPw9z`zjh>J$(bU=hIuWD5YXI2bwl1bD;(d4l;16c{*6mfbd8?Bde!aPucQ zQKd%Tl-qvq&fh$Iy^&Sqf?_9^_J$(bU=hIuWD5YXJQz9p1bCzZd4kIqNHAPjvHPB34BO@z`~4&Y zCvFI7`N=6SXJ{nHDzSayl8l*^*8fw!&v-9>v3^VLZMUA~dA81_Z-iWq_{mLoF#COe zuJ)U`lk1-UVEkXwKO;9Hls7i&m|EsT9kWZHZ(Tc8!3?woXupCQkiNvkFqctFfkA=6 hZlY12i^?KJ=`T#)oGf1&7{VDl7#RNjI4^a80RRkkLe~HQ diff --git a/app/open-iconic/webp/monitor-6x.webp b/app/open-iconic/webp/monitor-6x.webp deleted file mode 100755 index c8827fefe928664f9a46dae0898d6f1afeb385dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmWIYbaT7Jz`zjh>J$(bU=hIuWD5YXJ{URr1bDOnd4l&Bs4-kfIq;dFM6Ku()~a4_Ljpru}L?c1hI;pdU~byBa@NU zyrW!SDqcz*eO#J-Wr7?71JHE}8bG%QF*D3%)G}Z&V6a>1FwI3(S#ib_reLm?FAWS1 R-k;A&CNTW_&e6cY003lJ$(bU=hIuWD5YXJs3Iq1bEB`@&x%0YD`i&dUI`DnnlID8QmQQ z6aD4pePph34Ykk;6=N5B;4n!=RqD>&x&QuKZ)7{Cue9iY*PU&-XO?`9`Xcx!#KM32 zizI)G(8bR!B5fX}=*F=*eXpPQeC^?rw^-D>zpyP|WqR?ku>Nh2$9qqk|BT<%RCFNG z`Q_~D@GOhwly6gN=Qe7Depg|cx_$9l$&k$(=Q5K3WYB?}CFxVaRo9m{gyhxmdDVc}mO9O)u!{p4aF7_FF9x(j-vS()lP&EM3(PPyB diff --git a/app/open-iconic/webp/monitor.webp b/app/open-iconic/webp/monitor.webp deleted file mode 100755 index 226cda94004e281bca39ecf50fe5da5a37838662..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|*xC SH!RebFfbP|{QEuU00RJMts(jV diff --git a/app/open-iconic/webp/moon-2x.webp b/app/open-iconic/webp/moon-2x.webp deleted file mode 100755 index 56845c7a1e340964e57a85766a4578d333012bc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmWIYbaOk$z`zjh>J$(bU=hIuWD5W>KNvas1bFlVd4l~17fe)fy}$W5&%eF*c6W6A znQ(XyE9<1H3GP?LKb=_o;nFky?H2M+c^`A~DW5c3TWhv2_jmrkld>aCBL- zMTJrGmAVy792cirwHhpbsW2xaOhC?Lz0AM)-vka-U%Kg9aK1#J*`oN@^{-C3?kDFy z(mnRU{o!qAf4eXDl5afoNRL0fdYQMWZXzSlJwTT#NC0UgMuxeJS^_{93*N9$U&6p# L!0_+)oC6F1@aI>0 diff --git a/app/open-iconic/webp/moon-3x.webp b/app/open-iconic/webp/moon-3x.webp deleted file mode 100755 index 104182ffc33b366d26b10f73d2f174b9bbf8ac7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmV+-0p0#mNk&E*0RRA3MM6+kP&il$0000G0000N000*N06|PpNX`HN01-#Rplu{a zKV_Tr{PE7Qh=}}PBElQjtQs_|K=_?%zMaA;&81J~B2>5>Ghj2q1H?$SODi{D506vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0HIHO8vpJX9%Roxr}Q!0NW z(08c*2t)fv%})lpN9x*p&>T?zwdsK>F`=Mxxs`_L$?jZu@j~Ia)fm&bgRwNDi)kL_ zJzZSEid85sg<-D@DC{l3xiO@uU%>oom4eD5REcM5pW@IIiZd!^uWJzGPTy-ZXZ5#} z9K?ZSDhLe#09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T G8o&T0aGz5E diff --git a/app/open-iconic/webp/moon-6x.webp b/app/open-iconic/webp/moon-6x.webp deleted file mode 100755 index d9440b92a94c5e32bdf9579840511f7670be46b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmV;r0Y&~&Nk&Gp0RRA3MM6+kP&il$0000G0000l001ul06|PpNMiv201rB>8*h(M#EUrqzWNVZK|>*Cq?wr$(K z@2>o_`8*r-1BmE}`h6VBcgoOJIJcFbQji(lM-yl=2#kdla`} zyrej2!1he}6t)j4=3vUH$l9=E)I3&Tc%|yL2>lIpcU7nlseBoNc8%J6HHL1O`nwUR z(u{_Su?UJInw~d?Vgw3fqxhVl_2Xi9WnpG&ZguZEXCI%@BOR~ty+Fq)e8=~6yTY## zdgVR*-l5Y5{vw%GD594nqTS&H=k&Hs6i^9({xsZ9IXwg&Q>C*nx|Br zG@OV09H^qASeI;01^WLodGH^ k05AYPsX&%QB_ko2i_@% diff --git a/app/open-iconic/webp/moon-8x.webp b/app/open-iconic/webp/moon-8x.webp deleted file mode 100755 index 50ed86b33647a78fdd3c2693c0a9e7038b14a820..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 550 zcmV+>0@?jiNk&E<0ssJ4MM6+kP&il$0000G0000#002J#06|PpNXh{K01=nMux;Bg zi{upD{|~!gL_~fT5m}kgxMB&-;+Vb2&OLU1j3aW9ipOGEA3iD|$hMufd0}QKGc$7= zX4c#PVhWBWeRTm5{ZE)=FHYgI^vds5xXZloXBLF3z}cL?A8?gv&~pJt>l1qS;O0Pa zsSGD4^hv?RA^pN|uuWe$D9q>!`EZZ^A&B2l6NmIFb$JK}TGXvW_<-6&$Oih<-a&Sk z`Zi>1G>AhoLz6v7p3&qLl69KQV~~p~8XZAyjb^<7#7=3r1F;7hc7u?r(ewyXeVR^_ z5Sq~V4MGc=A47%~Y6T*5T1;|~7|~{shCrKEgB83LLA|OS#UUBrzWN-}s|KGJTQRr@rHkcKJ{82j1^@t7P&gni0001z0|1=?DnI~0 o06xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw08t$H!T|n{F*3|$)Di&NA$Y?=eF+0|0mHxFa}F>70GqZe@Bjb+ diff --git a/app/open-iconic/webp/move-3x.webp b/app/open-iconic/webp/move-3x.webp deleted file mode 100755 index 7cd5479f7299af839b872934977142ca8415212e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmWIYbaUIqz`zjh>J$(bU=hIuWD5YXI2bwl1bE~Ed4lE+6LO_@o$TJ!(c#JGmaAg< zikIP=&_rvMpL5&o+vmQ#XxQ;$|DkQU($+8MSurzs@jv>>VRl-bd8Mm|shyE)^xUN9 zi-T4_n|w*?m1flW0RM~Y+V_M_n%l(xIrrTDAN3Cl9@JQvpS%3<&wZe6KzAsp0qILj p409Q^Bp4(Z>?RuZxu`5sl>Wlx&B^kmfgzl+gMs1SkMmLo7yyFDN8$hg diff --git a/app/open-iconic/webp/move-4x.webp b/app/open-iconic/webp/move-4x.webp deleted file mode 100755 index b2771dfc7ee482a2d63f13f54b5d2f4841edf8cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmWIYbaUIoz`zjh>J$(bU=hIuWD5YXJQz9p1b7qxd4l2!0v?IaJ$(bU=hIuWD5YXJ{URr1b9pX@&v^d1UwR-$qPPwpfE{AQ!0-4 z$f`(7maH(Qg8I{UmOry&6#Se1VB16`eHop@+G|=)DjadRUVOLO)Z=MQY+bW<9Z#}RcnuK{q|;4c=9>bESAknv_hf_b60K_pCMUq5xPP-PI>*^ zo5Jbq=h&M3J~hue{Yd)p^i%0)%NyRe6{jaDnBAPu%D@10uYv~9bwbPxa~ZV^7z`Nf jRys^`QB_u)@q{UutK~}rgM;_ybCL-R|GslHFfafBLXcNw diff --git a/app/open-iconic/webp/move-8x.webp b/app/open-iconic/webp/move-8x.webp deleted file mode 100755 index c43eec204e0d9a82d11d3e3557ec3fc69e9b7aaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmWIYbaP{4WMBw)bqWXzu!!JdU|dD+qWbK9d)G_+Z6E757!P z>`51S<~d$gIOlsYC%E>T?8SPvyxV3$)tAlRJ`v_f&Jj4Q*Y$c`M6gb?NYg~89h00Q zQZ#ocu@vh$X|^oUU{v{F>6X?V@l0rE+P4#@&a5yHUc0#|K3WYB?}CFxVaRo9m{gyhxmdDVc}mO9O)u!{p4a SF7_FF9x(j-vS()lP&EL#cxU+l diff --git a/app/open-iconic/webp/move.webp b/app/open-iconic/webp/move.webp deleted file mode 100755 index 975836ce7e96581889450ad01fc2ff03712ba0b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmWIYbaN|VU|J$(bU=hIuWD5W>KNvas1b9>dd4lW*7fe(+dhoSnS`DMTU?P*s z)32qs>vFrJDr>q~G`tcdPKHT6>N`^SOaF7dLXe}&f6;BZw>3PsU$XZQIcu=~cV)DA zfvKFGilE@v-zT=}2H)RW%H{beUMn#~PB7E*s!PY2dMgKy$&KtBQmZ{qPFdo*Ms2TA n79Rrx&`k;wKo=M>GR$Sv5&*hQ@P>u@5(ef1hJU~39AE$d&qYCD diff --git a/app/open-iconic/webp/musical-note-3x.webp b/app/open-iconic/webp/musical-note-3x.webp deleted file mode 100755 index 5337b1d8aa36c389464d4d03d5c82ac6f97b1ea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmWIYbaVT~z`zjh>J$(bU=hIuWD5YXI2bwl1bD0i@&wBlZkV{FCH&69|6%g0Iyy=; zIKq5I?E`%O`BJUm)5sCgZkLg2rjQQq;r#4&gSd^wj2k}MzEdTTH zi%kN{zqUW-t&C2lA3PVa)gAg`>hO@`@?X!z?U~+8vn#Uq#O_krpz2j#@g{mY>$W9X z38^kj{VNz4fc{WW1G@SW6T@6aEeQq*2D^zyeJ(1C6s5l~d2_OSX|kK{_v5_O G0R{jH8D^jW diff --git a/app/open-iconic/webp/musical-note-4x.webp b/app/open-iconic/webp/musical-note-4x.webp deleted file mode 100755 index ceb7da24c110173356e7437c5492d7d353758ddf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmV+@0oVRgNk&E>0RRA3MM6+kP&il$0000G0000V0018V06|PpNYnrT01>~zplu{a zm+am5&L8YNi-^e9i%gl3b@SwwX^WVe&golg@F9OUJ1(Z13UDRaw&|RQ*mm;F_~Fcd zaChGmen<45f!nr?*xsJ{2I)tmKV9vQo}Zs@&$6ls4r{b?udEy3j4^Qv^g9Bxi{M@j z=D*<{oetaicsS^F^&ZY<*d#Rc40uh3{wRB$lx6UOPR{C(vC$&5W=ztUV4}tnLXASj znk8ZeBTPhA4921qu`=~fQWH0-sIAPjrD+7nT1G_?E=*k`i3V^8f60j09H^q uASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&U|)PLRp diff --git a/app/open-iconic/webp/musical-note-6x.webp b/app/open-iconic/webp/musical-note-6x.webp deleted file mode 100755 index 23f06c99b11b9368cc797d7cb7cce3f53bcf5abd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 392 zcmV;30eAjVNk&G10RRA3MM6+kP&il$0000G0000l001ul06|PpNHGBb01=nMAd(~} z%v>PjU+zC3A|i5Ob}*iuu3T_C(yNb3-K7uySKK>f|lNpqRlQkZjvF?VRr) z+jjD8+s5vHck<5Jx0KW(`tQhX8%d(NPwR}IAzZ&JRC~Fq$DG-(!aLsi6mIRSC(T!dV>hs2mQUGG%ePIq z<(CHR@(cZ(v&*-j*0=#D3AK2NbPctOHc2W_D$0_zH-Ts4UDNUkIrTioCt_M&BYS21 zs<QwoIifB-;C^UfJy0RHy~fB*n@cC?%T diff --git a/app/open-iconic/webp/musical-note-8x.webp b/app/open-iconic/webp/musical-note-8x.webp deleted file mode 100755 index 72cd8a9804c5a91090813e8798a54a8791fb3843..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtnkNk&G-0RRA3MM6+kP&il$0000G0000#002J#06|PpNOA!H01+p`plu^b zH%+_m@y9#MA|mo*Yn4&w_f(i_7n+pAQy9wfLp@{$F%dd>E;K@{7Sb!)X81*ym}x7!Nv)YAKse zB6%O?{aPj#^hlmhjXjR*sUXP&V0Yb=j}!v%lTrYr_5YSgYyB|xzO1`Mcy8HIETuQI zt2CM2rNk~1e!I<#T_$3c0D5Y%224+D4WOPL3Q#>6mP&x0lo)YOxRtxOC)^<`aZk7l zHRU}y6BfRo4T*mb*mpCL{~xID_7x<9gNiILPl}!-P=g(<6DfKUK}Cn1uRIYcdXhn* z=`Z)OlMsE`lF}4H6mG8W#@tuU?@OfUiD1fm!YS_wsI(`jvYx<7dV(wI39qCloB#k; zP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw E0P#!9iU0rr diff --git a/app/open-iconic/webp/musical-note.webp b/app/open-iconic/webp/musical-note.webp deleted file mode 100755 index 6f20b9b4670753d7f5950f93437d2877b900cdc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmWIYbaQKAU||n{F*3|$)Z$>^U=X}vp}vHHxq#u{?>Pq;0Hc{LO#lD@ diff --git a/app/open-iconic/webp/paperclip-2x.webp b/app/open-iconic/webp/paperclip-2x.webp deleted file mode 100755 index 679599329fc8cceff741b963882e376ceafd5479..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb2qNk&E%0RRA3MM6+kP&il$0000G0000F000jF06|PpNY?-W01=PEplu{a zm$}~gvz>eCIYdMTA|lC%WW=ZBm7b7$#AV-I5*AiXGD4s*dD?oAb3O)H|M}X?)1zP6I zmH<^8vkx`48SB93_VLkYcD4<4A8COk)>b~&`~xv))nia6sEs5^ znu^Gp>oxq*<}Qke$b*QuE{59hyRb+zJLIGhvybfQm$56cuVo_sseoA9wi4%#ySq=^ z-CYQN`>*E$AJRfZ{}WmHgE!xM-OJ&>+6Rr73bN~8Ougig)%d2o-JIp{ArkozksZVW@^c~9S6*fp_KJ}7A zT(>E^TX^INqIp1lRFJ$-cDL}zsDnj7y;qP-si2>`XS9c9NWGO|+)@`bZ!NL*;Qr-5iC~Q?ZPcMHMlo@mOg7oWXpiCeS70yL`){j$s^APl(2s z*DG}XD5nRb;!@`@8W!dBklJVTFv_8NDi{D506vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0H5Hz A7XSbN diff --git a/app/open-iconic/webp/paperclip-4x.webp b/app/open-iconic/webp/paperclip-4x.webp deleted file mode 100755 index 12b571a49492c02f58ac4c30e92b602fab10ba4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504 zcmVe_hfkA|f}$ud+ny>}T8$KdgO_wOf;-Qc*cY$XXdZ{P6%{BT0&+S~}c&W;|x* zXNL0Mq3Qma**77g|B1}q*5l9Dwo$=9qt-92pIU(b#0z>x0kY#Iy;Wo;E9&MjjE?Ro zKPfVDYwA3L##>4a{`{6Yi(nm6R`3??sM82`NO^;=cu$>%aAL|EJf#QfB!qiHS-~wo zQO63p|`AK0{UZ|r02e5N%Y87_*l{ySiX`509DEr zB)_GOLfALdet;_VB|&~m9R#qGFUlmq4fVBx!X332z&WRU_tZ9gPn2DlJIWr457Z{SUz8ALLpiBDQXBAp(fmT1bZaoxTX-HRWthr0?OT`z z%`My^G1oVIaR{@9s0RH&T8o&T%rsEU< diff --git a/app/open-iconic/webp/paperclip-6x.webp b/app/open-iconic/webp/paperclip-6x.webp deleted file mode 100755 index 159b46372721183200b60bd7e0dd72842373def0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 724 zcmV;_0xSJeNk&G@0ssJ4MM6+kP&il$0000G0000l001ul06|PpNPYqU01?lEpl#dy zNq7E`yQ7GRJQj;jL|iOliaP`+QgM-78yV@88<9p_>PK7z1lhLJHqTL@5GXSM zGCOI|Z~q&ytRKng3L^TSNItmj*Td%b?RpmfGEffL(>~3j|HUS)wMq25Nmq9s{q4}* znM6N(OcG>}{D88#U-Y8VQJdlziH|5hhaiT(XxbShJfVEgp=YQ`vw~!&l>C!C2p1PxaPQx`E(6lqKs(Z?(G+g zVJXxox>K-u_mowIC?7D|Mo+O$5iY@cM(Ha=`GD~@M6pg0F2OoW`JfQx1Bxxgr8-4- z0oK$v#l1q54=B3x(4{|$&K&G(6jg<2IG_j@p+_1Nomn_OXlgk`>XRZ|h8}HDv}fQb zQ7l34Qm#UeH7MFsaBb6kAr2_kp~spOtqC}9X?CIWG~IRR@g_xc9PSUAap)NFYXNt!C6i5A7*2$D1zhlq0&50`C&d_slrhQHZ<>rLSOr zqp6}NH#wb0?A=iM3XWxp1GugzeFc~INpS%C0j00to~C>lMsMDy^c9jEQ+6wJ8R+c% zbx7$eB=YWPssH@Z;wvOncT9Gxkk~tBg7DBoKQmu+eN3WHZ{>})*Ch}CP~5zJt2JtG zm5n_500011P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~ GfB*nd$V+_y diff --git a/app/open-iconic/webp/paperclip-8x.webp b/app/open-iconic/webp/paperclip-8x.webp deleted file mode 100755 index e50d581c8251c59afd9acc1e95c8ddae8673020f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 924 zcmV;N17rMBNk&GL0{{S5MM6+kP&il$0000G0000#002J#06|PpNIwGr01@xPplusL zzhwXXA!m;wBJwc|F}!)16^|V;7UMJWAD0%Fj67`i#4tRh#V|;$ZCh=lD`V_1Gc(I! zW^x<`qi+9gWWN6UdeSry(f>pO>FLAgYVh-R;}3iI55@gD9p9TdB029#2s!>es{ysQ>Fchn4=BK?@l-;CxeVar2Ona)C}zl#F%PP zes&?V4#gH7FKy5b)hT|ni1z8I z8s$?C#-~_@J>I0O*f(WHFNBYK?jF$?3< zv5RoBMOn^4QKl$oV0=0b5KgryAG1&lQ~VTQR_HiFINhRr$Ut*KF$UAyqCE9rrUT0R z3^b`4?Q4X$louY%Oh9>;hH99iAEtxy+Jl)5C~wlxZP2bDT%x#5!OR7eS1BmZX>TDs zqlyZqaRs!Y2J);6Pe5bo1#Lvu!Z7FPO=Q9i;$TH8>p z(>{USU8Q>y#yg?dM)V-I=%VEF!Y!bd;bk z{8D}|q~J&`{?JiEoN>CocZSn2>5<)Ux=M(*N_X&8`TGj!E+KA-F@3~eWt?CcNla9! z{uxCw#Y-yB+K|}jBNg{UNOb6^M(6KAKN3$3uAe@A{Qi7Ao~-tJNCE%=09H^qAT9s^ y0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>I~Y0o1b8F^d9wZs%@`)QNR_<%@!$7cM~9AX zuh3L`4nAKn$#ecVrS)K~^gw`g{mHGeHVegx8CT^e|K-(20fV2@K!(2u!4h9Ye!5bFp POBk3782J$(bU=hIuWD5YXI2bwl1bD;%d4l2!0v?IaoU&xeu}d-oR}IyWaN_00g94YXB34M<;NVwlUQCBY!UU^mgI&qZaCqVyLg WZ%&pk4GiIo9SjWrew>#&zyJVsI6L(K diff --git a/app/open-iconic/webp/pencil-4x.webp b/app/open-iconic/webp/pencil-4x.webp deleted file mode 100755 index 5cdb2234cdf43481c4b3d0c92d4be468fe3bbbce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmWIYbaUInz`zjh>J$(bU=hIuWD5YXJQz9p1bAcsd7|a8!xT)!QrS z;NnuN>Cwfqr*Mg8$BX?++jFI#PvQF|&+tUlcaGn#IXl1bwTssX{!l7ET3cKgzx35^ zi@VdWdlg8O#~-RSp0e+f-viZ$>c$0s94=olG2!)f{ydkBfdS|O1vQ|3mzWslGHNL> kC@|PfH0pCvS)?fag~^+fJ$(bU=hIuWD5YXJ{URr1bEZ{d9wNn0tyn>^^}!_K0nZyl)HS^ zBeCBp3^Fk?3W~qV5AST3-!Aw!{K>Z5W*)U%|5~=vlq9#3hoMHg%M4o7)fn{}j^AJq zv#gi-RjXCvBHrYEYRjF-Xic7SF2N~W+niWiyPP~1x;J??xF@x3`;iox{rmZn!mEWd zFW(noU;w&GK?CRpA!dfTj9LZ^1`Kv99j3XcDl5)-!W7Ka@}+^n!Ta+$$pnUf-#Ho> F7ywMkM)Uvx diff --git a/app/open-iconic/webp/pencil-8x.webp b/app/open-iconic/webp/pencil-8x.webp deleted file mode 100755 index 722addd39c236975ed27c7df4f2d2e22ca185b98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmWIYbaVU0z`zjh>J$(bU=hIuWD5YXJs3Iq1b8e2@ zPhw`6%c$kR;J{#a&~L7rn(`uX7N%q#mM;wqMhufPySmtC?0LZO@5`Q@4M5cZa`9il diff --git a/app/open-iconic/webp/pencil.webp b/app/open-iconic/webp/pencil.webp deleted file mode 100755 index 090ed8a1449f62fa4b181092953f645e7cf386ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU|70Cy4_#{d8T diff --git a/app/open-iconic/webp/people-2x.webp b/app/open-iconic/webp/people-2x.webp deleted file mode 100755 index ff4215ab231c1d600f394f930237f0c1971a9e9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmWIYbaQ*cz`zjh>J$(bU=hIuWD5W>KNvas1b8e1@&vCR)R?5=dV52~_mux`(_LI# z*cM9LE`EJ1c?0(q*HZNlzdI+tIP@TY(PaU%!-*-kvx*+?I8s>7aq!`{c!~cJMi9}Sl5ax9x-8WmE0V)my7->pr1H2i0T=%skyTrhEo zq0#(DO2%rXD}Ky!5!hY+WRcl5#a|~5PI+bhd|z_(UFP(RpgNtJ1sj>_!xWASf&2h; hzk&piHezI$%cvy)^oQUL3-u)o%mobpe$P3;008reV4(m2 diff --git a/app/open-iconic/webp/people-3x.webp b/app/open-iconic/webp/people-3x.webp deleted file mode 100755 index 9cc75ae5ae9deb5cc1b7061ac6af8f0749c77081..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmV-S0ki&6Nk&FQ0RRA3MM6+kP&il$0000G0000N000*N06|PpNcaE%01;QhFp{K1 z%r5Y*`3H;U5D^(Di6Un$bkWuuU5P4}BMNcvk(z#gKhq~v%xnNLwry3-A&wJIaCdj& zIGp|qdhg%+@_z{t{ZII0=Z8rK0ZNoId~ddtV+u}wx|`%+n^Z068l?hr`$L&QJsl~B zdzc<&4b`P?!@N^AP%G*MOq{ZS+EH&|t|=X;E%g@Wir(oFYDqnZiO{P1oVIaR{@9s0RH&T8o&TmkB7kk diff --git a/app/open-iconic/webp/people-4x.webp b/app/open-iconic/webp/people-4x.webp deleted file mode 100755 index ab5218ca8990b47b8f384b338ccb10ce5d2c1996..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396 zcmV;70dxLRNk&G50RRA3MM6+kP&il$0000G0000V0018V06|PpNH_ri01*$uxNRFr z6UloYuf_IXYNm^b$RRcoJCbb)c7+axY2PLBf3sSdSo&XiUSj)J%(_p z{KLd(-D40pDp!~^tv=+D$^oXrUQtv@rQ*u!WaPLQUr2&nO;fzkgFuQorvOOyojQaOhnc5RD7H zcOGU%v1RZ*&PToc_=~{?rcCi1oVIaR{@9s0RH&T8o&U5U7=F| diff --git a/app/open-iconic/webp/people-6x.webp b/app/open-iconic/webp/people-6x.webp deleted file mode 100755 index 0ee0b71567da3764074c9c2684ee5e93fc7b34b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 546 zcmV+-0^R*mNk&E*0ssJ4MM6+kP&il$0000G0000l001ul06|PpNX!8M01ZUJN|g9Swuu0mIg71^#9I{JC>{uwOBItqVfI4-c($ioR*A>fFRp;+UA8*W@ct) z=9=IBm*ZCQljIdd^gj{S-+RrXhpjH^nvZEk^QdQ)VjXo%78Jz{!dqXIKOF>*q||%x z7&v&%%Gdn?*lW~L6VBC?Rn6EI*D0;c-mIA*#&=stu@KL>cwqGxWLFfLNqlfX~<$%c};&HpLcvmSX-NK&>RS z;$?VD+|nvWp$7I|vhroG4@YBQYUi2NV}#F9zu|B5eFz>y?;EghC^IxJS$>VdIrhc! z0@egIcKM$y!?B$3e+SkJdVg5K%*R(+<9U35N3+~!ux;B& zS1Au}|AmuwiHOKg9O4AxGQJZSvIbiji9;|hff#Iz)65^@GJ$)%2ne!m8IoSR$F^4mpgM|+o4oTHtw z{UU_Uh~j?-+8B=c(Fb9U;w;*jjM@0>hp<6m4f@=sVe7L5Vb#!6TY-M)iOw;k;TJm3 zLr_oL(o^e%ICb%v)<4cCp~_VTmrj4^-$c-1L-`TS{KgpC7~9ChJ)-=FM%OdrVW@{= zK6k;X#1swcJwI$DQ&3JOYq;NrJ$(bU=hIuWD5W>I~Y0o1bBo3d4ks$s7+FN+W+3!>*Cel;hT(< zl(;u4+*6V3mFWK1x}e1?;eyAcMV8OfW&S($ySRL@zxa82!1VPlax2XJ4>Ny#v~qq+ z)IA=_Z)Y|4NBx`nR(#GyprH&v`xGRAv=Jl2Tt+Pp1`Y diff --git a/app/open-iconic/webp/person-2x.webp b/app/open-iconic/webp/person-2x.webp deleted file mode 100755 index 56118663d1e7d4bdcbc2546808183638e5d120e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmWIYbaOkzz`zjh>J$(bU=hIuWD5W>KNvas1bDOnd4lc-%_c2zJG02};nJ0#`9Gde zQo5v?=45@X^jPB?cN6*4)icD^T-pwMY?_);xc&3txo7R2o+L`Te6imcIe%U4>>Jsl z*PV{Oa}-Pt51w+vS46o?_-IG0Yhc3k0GAspS+B<&yjQdJ?B#}n&1MZ8x34tbF8W#Z z>&^ciTgpyN{(oTdyzPt(3_#Z@NC4ep#KPr}y3mE?Wo^yZ!0CgEs AApigX diff --git a/app/open-iconic/webp/person-3x.webp b/app/open-iconic/webp/person-3x.webp deleted file mode 100755 index 83da807137614d9ce68e0eec41c02e5a33040178..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmWIYbaUfiWMBw)bqWXzu!!JdU|1RURC*wc2s^KbI;4u!n$@`qbmTh6gN-)P}$&sEV3x_{Rg2#TN2zkWFHelUaJ zU;i6B|0Ui(eQ3Y$V%Gg!Yn4jAcx21BeE#1r9l z({*$*&oHI#i=6Y}?8nZ0xu50?3_xEgr~&Hq@(*&}Su diff --git a/app/open-iconic/webp/person-4x.webp b/app/open-iconic/webp/person-4x.webp deleted file mode 100755 index b129bd07f41338385789f924443684d42cc3a734..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmV-Y0j>U0Nk&FW0RRA3MM6+kP&il$0000G0000V0018V06|PpNd5o-01!k@_<}$gBC>|i&6ivt(#T0TzF@ kDj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^06-UvMgRZ+ diff --git a/app/open-iconic/webp/person-6x.webp b/app/open-iconic/webp/person-6x.webp deleted file mode 100755 index c2829e8cb9979b6f3aeff6334bf788326f0d34fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 416 zcmWIYbaR`*$iNWp>J$(bU=hK^z`!5?#QI?5=o8@K36vFNKeQlM#eMr^-TVK4E}ok% zD7f>2%gI2E57UoLO%b*_q95P!h|}cRF<0&0j1-2G6IEP;t{Cwc1HqC1@utSRqh&*v z+q!+RUpV7ULGixawn%3CnY{mVE`3O-+ET_FbGC!gnfbUGb98}skjH_inZAjs4+54< zX+PX_Nv5hLNusDVN%GT#M+~1PJ!1Ma@e$*vsgGE}7{msNO-PalsVM@g{Wa$j4)xib>?v8d<;us&%WK1H zTc2*-w%oSA`o)n2pLdAVns5J}ky(>=;idF;!M%L~yDq){y4&&mS4~_0vM+n~UijSl zUk(_qz%W+O0MbIt409Q^3>XX;>{dEVb5T`RobiMyn5*SW1A~M2=W~(?4FA4!G%zp# E0I?Cc7ytkO diff --git a/app/open-iconic/webp/person-8x.webp b/app/open-iconic/webp/person-8x.webp deleted file mode 100755 index 8d488212bebde79012da0b957dbe3c0f7755c648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmV+%0^|KsNk&E#0ssJ4MM6+kP&il$0000G0000#002J#06|PpNWTF901;opplu{a zzsY{@{K?KgiipU;;7<$&GrEv_lIoW@n%XQ{8rQK!nzYp-e)u5*l5N{cql?8oA!kEVQf^4VxB}&S-oJo&1Kz>l{?>DY%11HlV=IK;ev{Qz#55>O)?jFc0w&g@+K| zQFsG!gTfDpClrn$UQ@V&IHWLuIHWLucunC7;xUC|h#M4sKzv8x4a7$j9za~6Fb8>` zq8=1ZDLR2dHlV=IK;xc*Td3qVG+yVRb4uf5C|OM!HY{jmr!<;mp;wvHU|xo1am3hR z5xU+JV;)_oZ#Njx*g_(e^Y@wmIeR~^KqqzZ*jv5X5Zdpn-s3?E2IVK8Kd&}K&KrOH zr!r#P>yUpMDG1Un{t0hfM3sh&8rNW4pD=1z#^2hK(ZRV5Bj++?^sdlq7? z{Rv~2CH%NUnv9OKh|HdhX)<*2eNDr#eYsmnS)ZxO?o~Ua;WfU>ArlPC_U#%Fc>jS3-*=gCXUT*Y0TT}R?*{+?09H^qAT9s^0Fna$odGI906+jf!A_kb{|E?N{Li`Is^o*2(jO$hhV>U_ma+nM0?kyA0MbT`409Q^ W1b}7>-mp+#!oXa>@bCAW0}KF(d?g3~ diff --git a/app/open-iconic/webp/phone-3x.webp b/app/open-iconic/webp/phone-3x.webp deleted file mode 100755 index dfcd4aaffd30c30e255271ce95e0016f0a29f8b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmWIYbaR`=z`zjh>J$(bU=hIuWD5YXI2bwl1bBD>d4lZ;%X+Wq{GB`X0hhRoOUR~2 z#S&6k%AUD$mEAA)$E7H@3jP%rQn@jQX~AhLHJ_7upIM&myS{6!%xOjL`V)#Wt5)W2 zTqC`NkAVSbhk_c=#7j&Ja~ZWH7$g|%CK~m*s4P;H{=($V$?~OvA)K*;f#Khe^HK*G E0N8Lc{r~^~ diff --git a/app/open-iconic/webp/phone-4x.webp b/app/open-iconic/webp/phone-4x.webp deleted file mode 100755 index 1bbcec439e099c1a8af95d422e79766413b6cd49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWIYbaPw8z`zjh>J$(bU=hIuWD5YXJQz9p1bBo3d4l;1mQ56SVP_T9^FZ|Aj*gC& z)j!p9D-Wn`TkAIc0jKnoDIJc?c@r8Mm#A&NI!*Ae`s^)+C9hQjegz5j{8IZV$?&82 zTHK6+MQ=L4sq5{Fd9_OiXea~FJ_R)(eTj)-E~AzLg93xyM58_zl|_ouUzof(S-vzd Qgfn(9F#P**Ug`h?03uI37XSbN diff --git a/app/open-iconic/webp/phone-6x.webp b/app/open-iconic/webp/phone-6x.webp deleted file mode 100755 index dd90c25e99797dc70b5df468e2985805a9cbc997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmWIYbaUIrz`zjh>J$(bU=hIuWD5YXJ{URr1bCzad4l~5R!kIm_QI8;uHs=lx0;fY zqi?;_o>*r_vq>sjB?az%{{LR8(v?f;m%f5$&pCrBzgBKa*k5N00ZYhfdBvi diff --git a/app/open-iconic/webp/phone-8x.webp b/app/open-iconic/webp/phone-8x.webp deleted file mode 100755 index 3e32cbde5108a7ffcb158d4d4d7a48fa204caf84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmWIYbaT7Gz`zjh>J$(bU=hIuWD5YXJs3Iq1bDOnd4lT~s7+FNsZ&I9iX=J)r7 zyE-~pj{2(!>D~6LR%k4g_Ux*f`Q74wOr=Tt`e2v;qC0bM2b{2#U4LMik&jNV=##ci zZEv%UPwn+TMg2JM{JwRoW5nzFWx@w)8W{nn}xppLa$~J%2g#%*=l_!PA$V zYN^~%Z@;N9WoovR3>yOj&~*xWK(|a{W|+&U<-p*;V0X}OuA7?jB5@X`WFD3;4GcyM VlQX-z*k|l{!0_+Oo}CRq)d1VAS7iVI diff --git a/app/open-iconic/webp/phone.webp b/app/open-iconic/webp/phone.webp deleted file mode 100755 index 8768e42323def342889bc7ca4415b6d62fccf10b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmWIYbaTsMU|J$(bU=hIuWD5W>KNvas1bD0f@&u`lFElEgg4QdO4)|ly8U4;yyB=;!r>LyQ1Ig-$nBZ{xzSm z#rIO#ZdQi^{ojIO-*uOot-JCw{#sR%?4~Y;H7Pt6xf{>i>+9i@{_j$k!c*bxSr>bR zt?n^;0+7)B@E034F7)5Iluq_>Tp|| diff --git a/app/open-iconic/webp/pie-chart-3x.webp b/app/open-iconic/webp/pie-chart-3x.webp deleted file mode 100755 index 555457d7baffbbba89727250dd97bff829c4d598..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmV-A0mc4ONk&F80RRA3MM6+kP&il$0000G0000N000*N06|PpNag?l01*emD3T;a z+pu{2KL0+KL_|ae#LGiaMrYSFgy_Ghb5yFNb}+HR7~hSZ5QG7UjU*|O>X_!3neiEp zsr)zVwx@PYi0Hoqw{0UyvgY1>2#lrK*Wr0ZsJRV|p>@uT$cT#VFsn9JkdI|bPeA@P zLMGs?2_QBvdK2)F273H2c@uDr+;9U}18)QwBh+72drK&-k~#76Iv% z`b7p>H~l<5_U{u1BLDzaP&gna0002e0sx%>Di{D506vj2jzlD)Ash4pO9=$@fB;tk MhyVco_|F=^08yBR@&Et; diff --git a/app/open-iconic/webp/pie-chart-4x.webp b/app/open-iconic/webp/pie-chart-4x.webp deleted file mode 100755 index 051000b08717b45c7208ffa293925f75a7e621d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmV-|0e${bNk&F`0RRA3MM6+kP&il$0000G0000V0018V06|PpNG<^Y01>Ccpphg+ z*FDet?_VsxhKR_*kCPWh4oroi?Q-p*t~zXHu2g5Lkc+!=^cpxtDy(?{f^A#Jn-|tG z>c+NhJMEqSVAAh@@B3#E(SHYS+c=VBZMlBmAcL0I++cnF+moi&*c_^w`Nx1MJ`ONR z3KF$=Kw4S?!0=0B0zmUcV*=O&H70;#SbgoAjU5YiUb^}HSG9BF!N5Y~+5Dj)zL g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0Hs2xU;qFB diff --git a/app/open-iconic/webp/pie-chart-6x.webp b/app/open-iconic/webp/pie-chart-6x.webp deleted file mode 100755 index 1d9fb82fea9cbf29d4cfe36e9768989e4e3386a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 474 zcmV<00VV!YNk&G}0RRA3MM6+kP&il$0000G0000l001ul06|PpNP__Y01*$upphg+ zf8F!U{>>hkh=`n04AqLW*zo+dPjvc^Aj{X#s8!^xzO#LFvNL7Z&Fo&;6;F|!oZZl1+ltG zaE{QgZ4^#p%VAct96Bk>p(Ja&IYB8?1?eynk)6$u7m?!IVsrVfW3N~4_fMVK3cbIt z7FsHs8MF_|zY{AxQbNoquV}eDmBcoD`;>4Cw4U76s}~e{>B*aDo)e>GhmQIlXOtJ? z1xlUy*?qs9)2vg{z7GHZ09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2AM7iGV+12OhgFG0krHd4{CF&1!%n=O_)Rh0K9J4h5`89unhz7GHn|M zG1(zMQmncbbEzJp7b4D-_WkU0BU5|UjYfshve{(dMw-g8ML#v~ ziqwu<>R$AT(uE)0RJ1C3Yx@O1Rh{&Ui35iTHJ$(bU=hIuWD5W>I~Y0o1b9RPd4lW*6(*^u+n3Kbmh^cT&)3@3 z;j!8O-^$s}haOKA7u}+ybAnyMWYUt1cQa>h{JYx5K=9)Kklp{en8Uo+D#;3No4Gzm zr0nkw-?ikO0y~j0|%bwKy0!7zA%vs4rn)E@1fg Id(Hs{06`2li~s-t diff --git a/app/open-iconic/webp/pin-2x.webp b/app/open-iconic/webp/pin-2x.webp deleted file mode 100755 index 1270e4dfefa6f2d9f05f962ad9321a271ff1cba6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmWIYbaU%sU|J$(bU=hIuWD5YXI2bwl1bAcsd4l^Fs7+FN`a$w@|Bd}e$^`{E zoqnXtuio&f&!@jfp}A1nvn%W2jE$fDzs`6seX)L%r?m6-I3~xnXOH!SPAq$My=LoP z#njEcjQP*I{HjZL&K0o=vU|ywS#H1Pw|MWV=0}D$CscCS85n>rP*4NfcZrE%E~AzN kg9L-!M58_zl|_ouUzof(S-vzdgfn(9F#P**Ug`h?0Q5sek^lez diff --git a/app/open-iconic/webp/pin-4x.webp b/app/open-iconic/webp/pin-4x.webp deleted file mode 100755 index 3255d86fccef89b10c543dd4173d1134fba0d32b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmWIYbaT7Fz`zjh>J$(bU=hIuWD5YXJQz9p1b8$9d4lg3XiQqtcKWz}y5NuU_MVOt z3?WATJrbXpS7p59s!{yG#^N?fMf2s++QRw&{|if69yDC^zw6Gn+#@A(y7nfYXY*@|1A8qVYSb2lsVvMs~4|LfFW z<%pIX+t#$ODNxdh4d@1->lD<0^d%;Sxr|y03o0Q7NEr~m)} diff --git a/app/open-iconic/webp/pin-6x.webp b/app/open-iconic/webp/pin-6x.webp deleted file mode 100755 index 1bcfff89a00089f2d2235f516da6f2930dcab568..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmV+j0r&n=Nk&Eh0RRA3MM6+kP&il$0000G0000l001ul06|PpNU{I`01pm=j-pv+>=oBatg3k7O!FuCS8Pwv`n!!XXvh%FyBj7yvjwkoY0A zaH5Wcy7$HYur?W~NY?Ya(jtnjX%4A5PmA<=P3!b(!A29%^M~mQwoIifB-;C O^UfJy0RHy~fB*n5YHo}G diff --git a/app/open-iconic/webp/pin-8x.webp b/app/open-iconic/webp/pin-8x.webp deleted file mode 100755 index b44ad09bee0848ab5939bc08e6b8ce748f6de21f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmV-A0mc4ONk&F80RRA3MM6+kP&il$0000G0000#002J#06|PpNZtSd01>~zplu{a zmzlZm9mVrUxW^(QvSCEz{>Y;K^n9r=46WY8)HRt)3p+zpuz({;l2xT~cm0mT$G_3{ zKO6S`%n}w6{a4twZ6kK~6TGQeSLPQlTQFAIQ^w7Fj3{McoG(^noTuJUtiZU^R%l+D z#-Tbp3!I{$iCjtmVEzXYzuS6Fm{Lp{+TCxbiu<6jhgJSOH&n2$e9EN?>%;6lsN&Ii z&!Lj}dm)t^-b<+@L2i5lEq~zcUgrvG`Y$tULrwAY%!Q&c$$JBe>M=QiDvQSoR5c$1 zD4P}_0RRA2P&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz M0RHs6xqtuw0Em)>O8@`> diff --git a/app/open-iconic/webp/pin.webp b/app/open-iconic/webp/pin.webp deleted file mode 100755 index 4e4f6adced902bf3880ffda21fe2164b0a01896a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmWIYbaN|XU|-U9G3|YyMyJFWkRcKZ{D-IKUPr2-F8OQ9%Mo8!Wz^ze V;9wBEVWGZ+fw_R;-|smG7yzf`CCLB) diff --git a/app/open-iconic/webp/play-circle-2x.webp b/app/open-iconic/webp/play-circle-2x.webp deleted file mode 100755 index c6938538d47b242c98f5da18a745a96f6b07fdc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmWIYbaT7Fz`zjh>J$(bU=hIuWD5W>KNvas1b9pY@&unRSkSBTbl%Ls1FtLoZwhmB zQITw`u)LT4z$eYjLhbRIv}Fs7v|6-RQ zYw6i8b8g5yi1>5()plj>FK1TmkDT!5a7~@giK?_Jd$E+g27AT1C)LmBZ)B}X6n%64 zjeOYtgD2A3HO$Sz8dZ+Zzj~iDWSjl{3YKObpo@TRRgeJEMvM$|8MOp}ZWg>@p}vHH Mxq#u{?>Pq;09r^@4FCWD diff --git a/app/open-iconic/webp/play-circle-3x.webp b/app/open-iconic/webp/play-circle-3x.webp deleted file mode 100755 index 96be608c08db721b1e50301a01b75d48f69cb2e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmV+<0o(pkNk&E-0RRA3MM6+kP&il$0000G0000N000*N06|PpNYDTP01;2YIFh6` z4Bq}A2lpiZ+>8`NM5Jhr-3hn$39M;+G8c646!23#X+-M1`_vfb}Xf~?+Q^I1oVIaR{@9s0RH&T8o&T*bbc`a diff --git a/app/open-iconic/webp/play-circle-4x.webp b/app/open-iconic/webp/play-circle-4x.webp deleted file mode 100755 index 19d466aa4d7d3d3c0752595fa024860a047d3ee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmV-u0hj(#Nk&Fs0RRA3MM6+kP&il$0000G0000V0018V06|PpND~1701=g? zsOO2PshVw*R-KPq>L?A^7dF!tTKQC2QFYU{fx(@o3;KyFfL2D`tq}3b^@WL7o?Zr# z%4cX0sq`{~NM&l)qppC-P_T7*Xj^$UpJ+owYD-qVSeM~lJGg4Q;I$%WV4_WG_*dx& zz(E?YLqY3nx3`0mv1hga5LFhQ(dMW#{#fiigoeA%ST5Z;AdD}OmW$3K80fA~PcKcq z=V{f^b^`za09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T G8o&U|@16Dl diff --git a/app/open-iconic/webp/play-circle-6x.webp b/app/open-iconic/webp/play-circle-6x.webp deleted file mode 100755 index e1a9901542d6b1c2a194580914aaa0c65be00c91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmV+n0`vV+Nk&El0ssJ4MM6+kP&il$0000G0000l001ul06|PpNVWk001-#RD3T;a zTQz&k_c{mX-{FFZh{%*FJ57p{lwT|qSwpI1OT5xPwz!ZYW#z<752ONOY}=}ugFYZG zIK%}f9(cH){wqR0@80(-i0FSp&J>&7{&2Y+_PdQj8otTLZwg-z33!|~=Tyw~^6i9PlN(6YH9gm5xGM~y4Amdo@TIbQi5qw{f=F7P6@lLrE-?Q_K_m?rbXpFw%-&H$XcpCk)e#BX;HID z6)EF5YpKXLDZ^n}lxtneaAqx~PMnYENU4a#tsHsxA@GLEyBid>p9f~HN)#^8%00$EGd2euCsu{Uih z@32kGC}EeiR8HgA)hWTWseZ%$WJ)1xsh*^9cwuNy2t@xF(oY1ziwQ#+o#FUq%@9^s zaFrQC3GVWmo~sh1>oL7XSCG$t>G5+0P4sz6<>V;>W#)ZG#q=!=kHr1whR)5$T^zot ze67QwoIifB-;C O^UfJy0RHy~fB*mmNa%q8 diff --git a/app/open-iconic/webp/play-circle-8x.webp b/app/open-iconic/webp/play-circle-8x.webp deleted file mode 100755 index 7e68512b7f21a1b3b7e6316bbb5b76072f711999..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 674 zcmV;T0$u%5Nk&GR0ssJ4MM6+kP&il$0000G0000#002J#06|PpNJRnw01@ZnIFcl( zp{lt-(hvVl?L|&RL{5ybF>Hv7_;Wmx8s?YYga&-7zZG~fI=8KM>(;-~?F6rUC7y5XCUUFj)GduLQ9YSe5q{o9s zq&J?>>v1E}GKciMA0lOk-Zzmv!8(j0sjt8~xny0=Le$K#PE)9E`=Vkj-9K7T zwMGe1O!s9}T62_8GM27C%_uKWLph4+I)_s5Obu1W((NHYafl+SqnK_3C~i|kt+903 zK=Fwp5~7$6cj%&uL}RIU3{ypN6jRQwQbn4v6qgRDA~lMs?cGp?U@VpEH>yygn8Is; zDl}u6n*XN?F^ZY?_fHjKw9B-=0##_nGBx)`6-u;A;pK)Z1Y@aO9Z*GTv`cMwg(}jF zrMPIQB01Wnob9BFL}RJ9VD~({8wg zQy+AEpA6vGy8J_j@5N?#Xr6nZct6_&Pr<;(9aC@D`{B1EyR>)xn*S^2Uaoc*v+a-p z00011P&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6 Ixqtuw03x9~sQ>@~ diff --git a/app/open-iconic/webp/play-circle.webp b/app/open-iconic/webp/play-circle.webp deleted file mode 100755 index f521f4c2532930e88d0893af77e9ecffa2a82c59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWIYbaU%tU|Fc*8<{2?KKh!@u8i4ln=!LLe|V diff --git a/app/open-iconic/webp/plus-2x.webp b/app/open-iconic/webp/plus-2x.webp deleted file mode 100755 index 54f1bce7996dcd201b15ba2bd8266cfb18f9e218..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmWIYbaRVhU|>jkYKQzXw>JTvPe<-3zIh|%a;a*aK;V>hJQcKOC4YU E08LFCKL7v# diff --git a/app/open-iconic/webp/plus-4x.webp b/app/open-iconic/webp/plus-4x.webp deleted file mode 100755 index 02928730af6921c8c8c43a0b464da49929113788..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|o08)k?+W-In diff --git a/app/open-iconic/webp/plus-6x.webp b/app/open-iconic/webp/plus-6x.webp deleted file mode 100755 index a7bcca6b2cb88c90007ad1ce451889af835f0a00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|j%?W z5RlR&uJPwu&7S{k3=BY>3VJ|wlb9LiGHN+6I55~9^qcFZro2d;g(;bb^xn9Hce!N9>Fc*8<{2?KKh!@u8i4ln=!L!uPn diff --git a/app/open-iconic/webp/power-standby-2x.webp b/app/open-iconic/webp/power-standby-2x.webp deleted file mode 100755 index 02511c661a7f659ea94f409d3a3e49c76215042f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmWIYbaQ*bz`zjh>J$(bU=hIuWD5W>KNvas1bD0h@&wBdYD`jbjow@EBkf!MrsJ+I zDO$(&8ht#e2J)+wJD+ zzs)lkzBvDLc&IUH>E^;@J;UwX{jy%CPOmz9)@%J=N7-4OL?=@Td67gaYNb=}ZE$)=`ltXO6z<32xf n4Ko7+&<_d{Ko=V^GR$Sv5&-%|@P>u@5(ef1hJU~39AE$d6Z2kR diff --git a/app/open-iconic/webp/power-standby-3x.webp b/app/open-iconic/webp/power-standby-3x.webp deleted file mode 100755 index c3a54bb94fd96a388f189d8873d1314314ca0da2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmV-i0i*s>Nk&Fg0RRA3MM6+kP&il$0000G0000N000*N06|PpNCyD`01;QhAd;j; z%mAOWnD;M@BqAa*(AI>wTCfl);+5!9<(Cq-NzxICH{A&%A44n@0kO7i)6R~+?H?yU z{Y)Bi>O+~6{6#k>6`?IW|>UHjwxC-l4=jN$Xf z8x z$yxd^fFoyNNozO@APh@M11JYjg|4J0cnzQqHAw~d$e1zb{6z~fbSCTI{MZ=8|rFhGT&6sTS5548*vRlg;a{&MV09H^q uASM6+0MY^godGHs02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&Tf=Z^0H diff --git a/app/open-iconic/webp/power-standby-4x.webp b/app/open-iconic/webp/power-standby-4x.webp deleted file mode 100755 index 1c7142e55e32cf8fe59f93dfc6b528b106e87a4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 446 zcmV;v0YUy!Nk&Gt0RRA3MM6+kP&il$0000G0000V0018V06|PpNNNE901?;1pphg+ z-*bG={>{!lc!-Exu!u&@SO^Oz-9$kt%RH%KnKV-IATFGROuujuJE2J@WPX4c$+l^0 zJ^S0XZQI7<%0H01*F9GmMD#xqN+A)2L=+NHNJJrK5k3W_3Wyqd+kq%(_jM5A6JKmk z!6?{thhGy2o2b)1d*M;=`o3xP2?YDUX`O=%JPKa!nEL96n|`3x7a

d@}fa8{@# z_!RtYY6X7kiFO2sf^$uKPC=uz-x3@OPIrSg0v*y$;8JieX@}4)Z3Zp{cY$^Xeb8!% z(M|h+>a-kUWNA&PLCYdWo>qrGXkCcWLwkqrXtRhhPrHE*X{U&BPTPaVXn$oyR{v?k zQ0kR-j>s$8a|-?%wT_5QY8g)Yk=EKk=w_RCpMpE^LtRu5s9sTDeF#oAsQD3p8JTIpZBQ>&r`(F3nZ}x@}4gdgFP&gna0002e o0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0QcCwk^lez diff --git a/app/open-iconic/webp/power-standby-6x.webp b/app/open-iconic/webp/power-standby-6x.webp deleted file mode 100755 index 1bf977f1ae64a5b1b034587b773aad4046eb362c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmV-S0<-;6Nk&FQ0ssJ4MM6+kP&il$0000G0000l001ul06|PpNc8~#01-dpsF5T` z+RUmoXI{r2Y#ob;$Ro3qX2vI`HhcWh%godCq&~5xSN?t7E+gN#%t`^lwr!=&4RNo# zySpn=xbvS;ns@p6pAkg#KjA?^g%ngsL4_1lNI``ZR7gRE6ol7?PzrPi@8-i#4?=lIlYEaU^krp&SUmMO4-4bg6SS5na8YQOns{1pMw9| zGxc`>cm17G9Mv$TU|PSTzD97KQL@I!2^R&f9ojwQi#Cs-McOAMrL_^%p(T)lRzpyYRzPxEgrJC)Lt{6S*HE95YWzPOOPm`?IYlj7DvzvTHJy!XZS|%mjV3hrv<(8lL+492YTF( z5Hxq5&>5eP5gaWY-hIURB>uQNT#DcY00011P&gnc0000I0|1=?Dlh;r06wWemP92Z aA(-R>QwoIifB-;C^UfJy0RHy~fB*pLr~+>Q diff --git a/app/open-iconic/webp/power-standby-8x.webp b/app/open-iconic/webp/power-standby-8x.webp deleted file mode 100755 index 80f2ca061ab390f1647db7b22c97602969e92497..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 760 zcmV4AA|jX6VDY5qZRfPaF)}tc^{_~2uvqM$EnY?36XzHU2)1pTk#3Sg+qP{R zl`?YYKbyw8{|6I@=zk(L1%**i7zKqV(c%7y`1Ve!tZqU@mkaoOD zc?aGj15{8R9MMn`Q3X`&B0o~!t$;D6+Uj<*mguBgdD07HR^?&vs& ze}USWgHRxQ33U#>Qk~MAfKs5V38fanb42M(z(Ijyjd}ogwMU!G!$pDXfYPnNc|0xJxbC2WZfx-G+w(&k=1W zfXvViD)3O?8Kq1^_Gn+=qrmq`y92qSJ%o<}-zn`a$uM#mNoXe_L6>$Hx$M(+0_YQM93Y3VPWuSQGG!AvY*7~B2-~#H zGBQ_Mw5`Y(K=#s6m#Mpl5pt;> zwVA4QSV3;#(qo67&f{W$e1pl|>({tF_-V(l*SnJeG64Vp09H^qAT9s^0Fna$odGI9 q06+jf!A_kJ$(bU=hIuWD5W>I~Y0o1b74kd4kUum`%Fkmaj0y`(^OgZapQX z_KV@E1xlR17K&=rG&?GLcKwo=FZt)Sje+3B|4aUT(W#rMaXPcE`s|#(`2`<1S5@7# zHC^Wue&M5>#^Y~mm|1~l0&P=}0MbT`409Q^I2bq>1aDZVFJWLVVEFfY&H)Ah{rEKH diff --git a/app/open-iconic/webp/print-2x.webp b/app/open-iconic/webp/print-2x.webp deleted file mode 100755 index bf55804a5f45b79840e727f3bc590622259bde17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU|N`>)RF;CN-)9UySi ztkgKefnC()q9Y6MoPFJ$(bU=hIuWD5YXI2bwl1bBD@d9v*e3J!{Y80qILj409Q^Bp4(Z>?RuZxu`5sl>Wlx&B^kmfgzl+gMs1SkMmLo F7ywpFH&_4w diff --git a/app/open-iconic/webp/print-4x.webp b/app/open-iconic/webp/print-4x.webp deleted file mode 100755 index 0d8989be593f82ae0c11e0e9d7d8408346f952a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmWIYbaPw4z`zjh>J$(bU=hIuWD5YXJQz9p1bBo1d4k~!6mprDRsTyp7v#e7ZLS|* z$klDUcX`$`D!NQOPz54(8J>My@ACiRwp{5#pG*H5o90^mUdP=tcfy&@6U-$YDTgks z{ndX?C@|PfH0pCvS)?fag~^+fJ$(bU=hIuWD5YXJ{URr1bBo2d4ll^7UW7V`#s-&yJB|-gP{Ff zqp1#|xwkL8Rccgi(GZHz2NCP%Rz5Rc^q*;x%1a)jnAS7-B}yx;IuFd1ncrZQQeCpc zA*R%8nvcJWl!O08dlm);pnVD&K+}bo8Rjx-888?y*sXM!=Ax>sIO7RZFjvc$1_lT3 Q&*vl)82)|dXkcIf0G_ut{r~^~ diff --git a/app/open-iconic/webp/print-8x.webp b/app/open-iconic/webp/print-8x.webp deleted file mode 100755 index 80cbc60894d58f7401b2b9b30ec5409df21d2e93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmWIYbaPw7z`zjh>J$(bU=hIuWD5YXJs3Iq1bBo4d9v*bcH}BQd2xQruUt7n#uHj6 zD&loK924%iO&rds7+Eo9M1zZ7ign`9*~~I%rKWx%Yngx!S0~nTsJl4MdB<>$viAy Z8W@ZiCTDhavCr7^fZ^YlJv$qKssTA_K_&nI diff --git a/app/open-iconic/webp/print.webp b/app/open-iconic/webp/print.webp deleted file mode 100755 index 13ef37ce32bebd459e8b26577f90ceac610168c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|N_19*0aJ))Cs4;1Y z$JtZ{_601$ANG~q-rq7w@Z$d|f^KVruRqaGQa4U%5oBNhnx-HD)N91ZFqct_gMouV T@P>u@5(ef1hJU~39AE$d=WiqG diff --git a/app/open-iconic/webp/project-2x.webp b/app/open-iconic/webp/project-2x.webp deleted file mode 100755 index 0ad718263c8e3a7ddce9378148c75f77bb2294de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmWIYbaP8#U|=jJU-LQU`f+>}Op0uI#t2je)UO}`q>UIE<}zvt0L>A+VWGZ+fw_R;-|smG7yx!9 B9BKdn diff --git a/app/open-iconic/webp/project-3x.webp b/app/open-iconic/webp/project-3x.webp deleted file mode 100755 index 509c2c75a2e4007da3b4af47159cd9d0f04b4645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmWIYbaSgxN~c&HlQXkp z?ntn8`4aCjA>muc%6%mUffHVc?dW6#ss);&pa!HbF)_?#)RJJ3V6dBL)aRnINKyI= XlQ$>Jmj;G##tsICe?QJk9bff<1w~9O7#~tIv5!kfch0csxL7y%w^P4U{GMNn`qSMqOwR)`U{gcC(D-x RhH%CX28Mq>&PyF&001jjA$U|z d^RRqrU@&5soY~dIK4Z@VhJRo7>}&w41^^BVCY}HQ diff --git a/app/open-iconic/webp/project.webp b/app/open-iconic/webp/project.webp deleted file mode 100755 index d3d32a09a75101f9a4e0a9051daa2dbc27bb0e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94 zcmWIYbaM-1U|1aDZVFJWLVVEFfY&H)AhQR5V) diff --git a/app/open-iconic/webp/pulse-2x.webp b/app/open-iconic/webp/pulse-2x.webp deleted file mode 100755 index 17b78fa653062099e6010f1b3269d937d2d0a360..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmWIYbaT7Iz`zjh>J$(bU=hIuWD5W>KNvas1bEB^@&xxERA9Jm;vID3+=KhsDK0L3 z4Ktt3XUlH%+K~G1#%lG8JjU;C%)a$tlYrU-gGo7;Z?)&&-uBo0|Cw(#?E)A7yDVuI zdH+ml=TWvv)8{DvJZF7HTQO{5XyF}Yvxn`Ml|tLr=2ktLF?cw6aGp)+G%sfJq+kNpt}_$fV2@K a!(2u!0igQ@Z&;`=VPGy``1gCx0R{k_0A6qa diff --git a/app/open-iconic/webp/pulse-3x.webp b/app/open-iconic/webp/pulse-3x.webp deleted file mode 100755 index 2ed126f7e76fb6a0915eabca456522ccba797b3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmV-O0k{5ANk&FM0RRA3MM6+kP&il$0000G0000N000*N06|PpNb~>z01=qvJ%xmi%Scw}R*`IzpGbC1nMRWIALR&^Ld**F z9hx~u%msBg2H6CxWyFxb;LkP_i5XZ587g(6o8idlwJ{XMr|PSh4KttqV6Dak8%L}W-Eut z@!@C!cF8Nm)En?s&LQUb6rO%S+|(=r75pOr09H^qASM6+0MY^godGHs02ly1kur`% aB%&c3^a4u>1oVIaR{@9s0RH&T8o&U-oQr?} diff --git a/app/open-iconic/webp/pulse-4x.webp b/app/open-iconic/webp/pulse-4x.webp deleted file mode 100755 index cf5341f6691a496a696952cee111f59d57fa678c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 402 zcmV;D0d4+LNk&GB0RRA3MM6+kP&il$0000G0000V0018V06|PpNIn4o01@}Xplu{a zpKQ7NfBt;0kcfzUxG8HIDJNJlaSek;R`MrbNlLn7$aDoA25XwE#wIJ+xuj&t5)dRw zHf{B@`EA>_o^7M|zl?LvJMSXmFCe1-3B$z&*t|H0&3qR2LQ@fhtrLo4*!rdTh8^F4 zqVI)`eX2do9I*6C^@iC+7#5sus*W4dReynnb!wZCI~+w}eoyTQ@`vIT=4EOPi137B zl7v~DvfH9u!4=gz^bI|6M)~nVdFQB6O%66R>Zvs4;WlMuo0f)SilN`rqb$<$AH*m1 z9_KTvOzi~Xh+1nmGY=KxY#M?H3^}`nS%E4Cm7qb9lHvvymMK=DEpZ%%m1@HQz4`@956_r;+=QjIEzHGX&Edv>1pok6 wP&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0IX1~O#lD@ diff --git a/app/open-iconic/webp/pulse-6x.webp b/app/open-iconic/webp/pulse-6x.webp deleted file mode 100755 index 06cab742aceafb4804043baedba35cd11110461d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmV{&*Z7@3sGCoU(IkfR%k%sSzfIV=_dOOkBURz2IcZQI7x z>G{v)?6VPjKmJDaKZzOVi|gO&`PvZ;^R>I$;cMUY%9r-Z^zxM(GV6ThgUmf&*eTo2 z*Dc8|@O786mwZ`sO*U)Bt0Qqr?lj&`6KThCPjOqS>m=2c=Jz|dnEggd6ZLaC$cqD zk+qg&`{|drN8mLyIVXF`vFs)X^0L=}LPuw^OH9f>H&v8as>pWGRF&P<*W6>y^_A}hZDUvD_YgTEZxGuh?~d5IPdT4;I8SnC zi9VEbh`TAL)JXK0oN?TKIlIKymsC_6@!n;7NH|h)hQFucmXrw8( z>&wbN8b~@-ensd+`4(x@%9jYuDC;Dxxuy<6E!jD#7x#p($4H%DBRo+@YFjt|ApihY yP&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*o2O!CSA diff --git a/app/open-iconic/webp/pulse-8x.webp b/app/open-iconic/webp/pulse-8x.webp deleted file mode 100755 index 36f87d26ffe666888fd8b3159bb7b39bba92bfe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 646 zcmV;10(t#XNk&F~0ssJ4MM6+kP&il$0000G0000#002J#06|PpNGSpU01>ysplusL zzoa|lk7%0|8;JHo@r+pAbh;2}na(mI-O{;(nnAEalWrN>NgAPMsVqY2 zy%{f*>DMYZ-_h{#5b^ z&_~Y%#16$80<6(G$~M;BXR5~#Yt)Z1y50ud zMXJ*febk4Ltkk5^$U(kSdqL70Dwl9}sr^FIB`OPWMyS*aNLr>+f|IJyJwoz3I(JZx z=nf(IFFMOmrs%vNKnI;JD7iZ2FNC7wX|TA~<0m?zo~ zchaY+DId0s(}A(00011P&gni0001z0|1=?DnI~006xJ^okk`j gq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw0QhMjr2qf` diff --git a/app/open-iconic/webp/pulse.webp b/app/open-iconic/webp/pulse.webp deleted file mode 100755 index 7fc918975d65230f406842ffbbac215e8a8245ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmWIYbaR`+z`zjh>J$(bU=hIuWD5W>I~Y0o1bBo2d4m5JSWH^-gr$7ng!*~HZZ1n^ z1WD*eca@#?Ymut6(%!iGVS>cTuvv!}9dVBN^{qaoxzB6VLX`ecWbw?&bTn zyVt+FJvTk}OtiqOuErHAO+ZtD_9;jJX(L94xr|yI3>*xCH!RebFfbP|{QEuU00RI4 CcQ`Qs diff --git a/app/open-iconic/webp/puzzle-piece-2x.webp b/app/open-iconic/webp/puzzle-piece-2x.webp deleted file mode 100755 index c0b490487a0200604f95eed8d16cea802e448fb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmWIYbaPw5z`zjh>J$(bU=hIuWD5W>KNvas1bAcud4k6mEa+8v`fZ-%)&=#6`pQa^ zq;7Pp{!cj=$p1A$!az#GZPV0ejD`Hae(9SwnF(C1-<)~-MD#814<@YkN>K{2bJX7N zm^$abxm$L=ab1em^pwY^7ri~OJorR+$`e-xt#!=5cF0=%16srYbc2EfkTzmun9Hao W0CbDs4GZ-p49o=#|9;OozyJVzTs}tt diff --git a/app/open-iconic/webp/puzzle-piece-3x.webp b/app/open-iconic/webp/puzzle-piece-3x.webp deleted file mode 100755 index b4b3e74becb337f4bcf241bdb423add21b1fa438..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWIYbaT7Hz`zjh>J$(bU=hIuWD5YXI2bwl1bDOqd4lW?fYXV=*wYFQoSw44s-|5g$imw`VtevTt+Pk1_=hciAH@cDvK1Qzc6`ovV3V^ Q2xshIVEFgrywm{(02E_YnE(I) diff --git a/app/open-iconic/webp/puzzle-piece-4x.webp b/app/open-iconic/webp/puzzle-piece-4x.webp deleted file mode 100755 index c912d7601b4340798af87f345be698cacf23ed1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmV+r0q_1&Nk&Ep0RRA3MM6+kP&il$0000G0000V0018V06|PpNW1_501`ASj2cNbmx_T4a=EgzCWgz1Rg zAK>t)+Q6J475||@bMt1aU(O|VQA1oVIaR{@9s0RH&T8o&Uv4RfFX diff --git a/app/open-iconic/webp/puzzle-piece-6x.webp b/app/open-iconic/webp/puzzle-piece-6x.webp deleted file mode 100755 index d19cfe3adeb9eef748cb6c38a59ef8acb4a341a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmV-e0jK^_Nk&Fc0RRA3MM6+kP&il$0000G0000l001ul06|PpNCE)>01+3$plu^b z+jRe>a>t)uhebqW8>WSuDWd<3+_sHGHTSl&JVGgzABWrB@S!BC-pqogU1-Y5gsaGSG^cyU&@*6c zJsZZ#vtqn>o)|}-1BTw?d4@)3u@g!?R@2`zq<=HVo3 z$+(u&9iu6yHX|daEF&kUJmW%6SBx(?eKYJ-QI`gJRn#YCq^R*800011P&gnc0000I q0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*oQppr!Z diff --git a/app/open-iconic/webp/puzzle-piece-8x.webp b/app/open-iconic/webp/puzzle-piece-8x.webp deleted file mode 100755 index b575441a9addcc84dd9f6c7c18438183782b71ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmV;h0Z;x?Nk&Gf0RRA3MM6+kP&il$0000G0000#002J#06|PpNK*j-01>CcFp{K1 z%r5Y*`3H;U5D^)~_=rLAk3@>`Emy4KyzKa*M`7Kjn1~9$m_J4VwryL-n;qMBjnuJi z7U%t+COu!qIlb&fME@DNZR1G9-0PM%;4HcN;_GW(%R)(@N56D^&=6P?W9fy09Nv87X8pGM^u_RGBVf|PaCqYP=QlC~*n`y^$5pb2TK zkhU}_YlFl+zOh?9^Qb(xmg165wLMzz4d>Nh_c^Jgfpcr*LpEEu&^&KW67Q{50>30T zDy{rr1h*O`z)C69fI&;XJPeBRgR089cRJsG>ULpVh09H^qAT9s^0Fna$odGI906+jf!A_k633V6u zebo^$nxwMz)Fz#yf_v1CUkfl76a4G1R$0@0Fvd7%BMVR$&^!eRAZ^6RFqct_gMouV T@P>u@5(ef1hJU~39AE$dvoj)8 diff --git a/app/open-iconic/webp/question-mark-2x.webp b/app/open-iconic/webp/question-mark-2x.webp deleted file mode 100755 index 9378381a63edc9a2f9bd05883a37a9e5e5643e66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmWIYbaOkvz`zjh>J$(bU=hIuWD5W>KNvas1b8$8d4ll^H6|@-JN?pKk@3Hjc!-OO z-Zhnu$%j{1?maKswee%@VShpV-*{1|IN+H6RZi&-{iVw)7n$~6^;MpA%-=Wjl>Dm9n3c;e?%Z!H vRU0d5c46u>hj1RC3xIA@kO0y~j0|%bwFH1}6ue=fzJ!6ffZ^ZoIR_X3YFJBC diff --git a/app/open-iconic/webp/question-mark-3x.webp b/app/open-iconic/webp/question-mark-3x.webp deleted file mode 100755 index 34535ce4d951553dc3abac26ceb403fcc43c9d50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmWIYbaP{2WMBw)bqWXzu!!JdU|?1Z@KR3 zlA_qhXC364*!CjsC;Rm6f^t4fj6MsoS+`wuu;@{_z2)2OZMnbm|8>4yTlL+tq2r(W zn`dvnJ$=6G%>moZ3v16D&h_73%v9E&cKwvn^|;Gl66dclog@5;h5*?cTe% zR{PjKSnWOc;cJK92kAbw-XHvQGuS@(vI)wF^I)!DAdW7|5NG}gdf%=9|ycB>XOZ{Mx3iX6Vj;V7j zknB@cxJO^9&j6fLA2c;M=i4-AaL#pU?n7{m{?goq;e17N5`c4IP90!@GwK10d{JdA z5Sh~(g|I-H>R^!!)xtK*P%SKyp;}lZL$$C-hHAkI00011P&gna0002e0sx%>Dj)zL g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0Cl>MX#fBK diff --git a/app/open-iconic/webp/question-mark-6x.webp b/app/open-iconic/webp/question-mark-6x.webp deleted file mode 100755 index 7686ed1892e2815a8e8dbdbe4f82f20942764786..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 416 zcmWIYbaR`*$iNWp>J$(bU=hK^z`!5?#QI?5=o8@K36vGof21%;#dTL(qx1iw-|?<4 zPZl0nq_a8Y#2w zt1PPYlHsENoZ9u78}{1Vx9|U47Qy%M{K}Wz^7m&m{d*$4|K*cSlsS<#*@U0%VYKw z+zPPTa3ff%Kqpvi!wk81e|!%Z`u=Q+RfsJ)Xz2R0DQ?=Pwz#QAP4{|&TBClrb~@(z zSvstBUCgxBtaq}s)jQ6!G9@+Avut0m?8{si6Y#O_;+?96#>;npa$4?I{HV?EhvQ<_ zwT8V`TblH}__It;on+psx|D0LwknUQ{ZqER5>Gkys-*G*asU71Nt@c^uwYhTxB|mi xK?6t&F*D3%)G}Z&V6a>1FwI3(S#ib_reLm?FAWS1-k;A&CNTW_&e6cY007p*wYUHP diff --git a/app/open-iconic/webp/question-mark-8x.webp b/app/open-iconic/webp/question-mark-8x.webp deleted file mode 100755 index 5ccc9a557f1978a57c5142a879de8bac7a313439..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518 zcmWIYbaVU1$iNWp>J$(bU=hK^z`!5?#P(q1=o8?v5-2N}en=tVmVvUv`}>CFf`UJ7 zl)BXAd%KL6ewlOMb^c7}{Hez)4b2~4l(@Ws;l`w#)uCZuxby_?+@0HOtrGeFzvC6V zhjZST&r|v}|HCW&H}ST$S94bNA3xoEG_Yj$ntLD5KffDTBKE%K@=8m2XY-%Zb6>Az zkj*jqva|2uUT1&dgT*uNE&m|B{>6TV_0ik@%vpbiM~UTR#P&-ug_^?Azl3sFmLnyv{xRogO8vslA7_?qFA zb(;ALwzy<-T5T46n$9xyW`5M{fSIc^_PSk&$juPHa3lFNqexTowmU2@>?~4GJ9D)v zZ?pNjaKpK2zvV>Iq;GBK6nPYWOI^|ATgH3G)PRe(TF%+6m3`3?KjnIWmgeg~4cVZ1 z4zC+GwFCtOs|82}?Q_oV`Xm>%c?w&UjR&g|-9pRwlw!@n1aDZVFJWLVVEFfY&H)AhB5gA? diff --git a/app/open-iconic/webp/rain-2x.webp b/app/open-iconic/webp/rain-2x.webp deleted file mode 100755 index 65790c08bd152b692bdc5f77b174699eb85d7b19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmWIYbaQ*az`zjh>J$(bU=hIuWD5W>KNvas1b8e0@&wBdE|{p|dVTZp4}a9|?LSZ} zE;y0#@C4E1mae;hDv^bO0qAxG g37|`j7#Zd=Y6$@SAb7(706fKDz5oCK diff --git a/app/open-iconic/webp/rain-3x.webp b/app/open-iconic/webp/rain-3x.webp deleted file mode 100755 index 53949e036b3e3f7d2462ca88af44c8cbb817bb03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQs4Nk&FS0RRA3MM6+kP&il$0000G0000N000*N06|PpNcjK&01+p`D3T;a z+dX(p&-3qdcGpBiWFuxeObPZZgZ(&#wW5?#P~7;05?Vs7Aj*hRD2f<>*hrEhsgIeN znVIkZm$&>kYM^)Y7DV)4f!j7pa?J1x(oMFvAOC09Nl=8f8&t1VKGy%B`(;Ds3C=6m zIRbBo;U2+W=}UD_Rz$?FjQI-;jES;Qgc#U0ia3_(WCmVY%MdIbC_3X}vNUlS-e*YN z21#2U6MB$NMN3??&-M679eVj#IZLz-S46o=tT40%Bhn4wlWNn&Ax%Q%-vH=m=ns-4 z+=MF)?FDi{D5 g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^09x3JfdBvi diff --git a/app/open-iconic/webp/rain-4x.webp b/app/open-iconic/webp/rain-4x.webp deleted file mode 100755 index 89ce94b726079ef90fb75884c590e287566e3c65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmV;50d@XTNk&G30RRA3MM6+kP&il$0000G0000V0018V06|PpNHzfg01SN_4ay*h-}31l%rlEi0TXk}tzX%e? zAvnYZC+@oEKb^-t=U(hTqW=uswrwP#y?t4~AlX>4-Cr*I?TdiSyc&Z!I5Rm5TM(_= z+T}b$V?)aWw4Q6$&Qi}XlzD`KmohyQp7^s=rL!2bHIH`>tQuC8F!a^puG94gx<@S}5F*mn7~Cm=HHTjMlqHqKG8H{0grLQnW1* zA&=Xltz^OLDj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0OQ4~AMQPih{%F4MtoJ{6OD>#Xu0x?NaLo8!ziZ`ok~U75g^&Nt;BitDR*~wj|W<x=|XN$lJRK(HllQ3V(3UX8iBEdUo%dceQT>1H#Q5t z*}3W^fw>WvaRe)>Y!{Jmfi-XpG? zyu*Kh2mk^}hcMMa!T|twk`DV+2MNwT2zJV#11kUk09H^qASeI;01^WLodGH^05AYP gsX&%QB_ko22lt1=avm6{FXJmWvbPt0Ye0T^c?36DDD|ivGZQD+(oU|8rcXxMp zhe8PL{{NqW+Z@RgZxQ`>;I?ffN#nf_@1pJW4W!czube&mvh*)!tHX}W?c4rD)X%LR zGPUOzywyR6-7UBL1CihJR%yS6*rVJeJ#SEW(`u0J4?uP3Z??Wb>9Lwqs9jKI26{u6 zDviPb72zy(i=`WDLw&?97iIS&y7KpNeG)Cwtk;dog8hc3QW&2-R0@C@`{mV2``r4+w zZ{R7>J<>W(Ur6f{l}PMRCGGRRG1{4BonxEoIkoL&ZHn2*CMBC!{d z8h`d7@POSRWhc-mIZIv%Hdxs$6t?pF8!y@$bp?5XVBjy3$Q3#F{JQboh?LD^C%4uh zW}Rpa03Mcx+MMf}JlLsMo%#T72kR~NkEXkw>loR1=jbKM?r=XuykkwZ!T{gL&BjM^ z(*~kr(FszY&le=H^*j=<*}zn2z7kb(hqY7_q_Fe9ID&D;qZo&Rp4uM&S85A$(D#s2 zTMSR-J diff --git a/app/open-iconic/webp/rain.webp b/app/open-iconic/webp/rain.webp deleted file mode 100755 index cfe6917ff7f091b8eaadfbbc448bbcbf6ad879e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWIYbaU%tU| zhXobWcmJCh6DT2JXwajgd6D6LSKhycNscaG>{s5Net+t>)wXXO_X?QY4Q#g#y`1E0 v@NNf3hr{Oz8&RNnK${dKfV2@K!(2u!4h9Ye!5bFpOBk3782J$(bU=hIuWD5W>KNvas1bFNR@&w}#ZOFatG4<~6|GWQ|mo`W% zDQ(g`a^=B^#i@opJkyWO`0kEOcItyMMY2|E`?#r#%~vT@zf(fDav z!Pq;03)7my#N3J diff --git a/app/open-iconic/webp/random-3x.webp b/app/open-iconic/webp/random-3x.webp deleted file mode 100755 index c6492c4f36f55c591e1a650bbd0f8869e8b0ee2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368 zcmV-$0gwJtNk&F!0RRA3MM6+kP&il$0000G0000N000*N06|PpNE`tG01?l^sEs5? zSJfNuUdNy81`-jG4@tq6aQnPe5%bI8i3o5UT0(7Hr22T1sA; zGOW83+A2#$bq5n@QdUdq><-ie)dkf08>JrwWpoa+{z{o2LGCH5B!oXPSbg7=UhMRb zatoE)fj!)&w1$+IH8|~$sjEIXpHZ!1aPdU_21oVIa OR{@9s0RH&T8o&U=!I%#K diff --git a/app/open-iconic/webp/random-4x.webp b/app/open-iconic/webp/random-4x.webp deleted file mode 100755 index a2572b1eff8781703cd1a3aa0ca85348b0d6b2e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBl3Nk>0RRA3MM6+kP&il$0000G0000V0018V06|PpNKXL(01*$upphg+ zx6}O${^cH+h=^>&3P(KC+0*@{*Ja`3o_A*zryT4I>BTMwJ%bJivTdhrp2N({oHB+J z!`uI+q#s!$?;xW83FmzV33;d@8I?bRcmgNNJ_AJwKdP|Sze1YFDrnp)uv8zk1S6W~ zJYu;MZI6B=l%F)rcS@xA{IB4-q`bnIQ`S(FZ5oF6PFX`teB_!mSh0T)}lha%_$t$ zl#tSe(}?oc45YF-hBSnO|BCRnR50Hq5Dw6FoFaQ7m09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIa OR{@9s0RH&T8o&TQZnwVx diff --git a/app/open-iconic/webp/random-6x.webp b/app/open-iconic/webp/random-6x.webp deleted file mode 100755 index 643d00e737b57aafd8170a2f6ffa1960a40f5339..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZENk&FI0ssJ4MM6+kP&il$0000G0000l001ul06|PpNbUgu01e>eml@53KKME?_3&a<%0mj>)I@K#`z;dvGo8ND_TIRYsuyj6r0{_9Q_NecV# zKDF~K0>)=0n5!Q&y*5B)mV+rfquE=fcIUuw#RUHos>jf`nP66jFDSR5^?V9{$=In2 z=^Rk_L&Ph;6vtRn{7;}b*A!kG(tVqWG>roKbug5i&e=VJLl3yyOwC zQ_S0l82nFQZvIo;I|w=piWLaX>PRy1DNa%PrZ|E;b&+g?a_5oaA%nDs)W3>I?c7qE zw_zdoOl1XD%3q8f!BU^n%fpUy&)AIvD+g5eVPisd4e48Rs*4`d7C$Mj-zfg-Nas9I zJZEda6z>J3I->ZkBIwL19$iG|StMDd@OubHloyEj(tx==r`UqnqTEHuz*~W-^hI%r z*fHf8ONQrJsF_EKXBRQ&mSWyT!04p`?S$gD3MKnQ@lywdw}OzW--BBEr13n9fa)d; zjXxS+8lZLoV{bvDw?gIFg?WWWZ_4;v8A&#L>MspYEZ+8VNY=UjrE->qB?@l}Ym8nR zu*dK$3yTcADXj9P0lQ~eC;$LfP&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIi SfB-;C^UfJy0RHy~fB*ph9s>XX diff --git a/app/open-iconic/webp/random-8x.webp b/app/open-iconic/webp/random-8x.webp deleted file mode 100755 index b9e1292d9bdbdd1a33cac944a0c806a2afbd4c71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 736 zcmV<60w4WSNk&H40ssJ4MM6+kP&il$0000G0000#002J#06|PpNQ43a01=mhAYjsb zfWCiYY!MOpq6<-Q23PTs?)Vhkxal7ck*mmERz8LGv6kh^Cl?Z}ZBN_gv#l~XW!gex z4ve7`PF6Yo?*C$9_$9@oA3%C`Vf`f1&(>obvGymLHV2 z5ll_We<5;;ZUmdUr~C%PaY8ZOLBW!)!(nGa`3_=xLXn)H#NzP~PPHe>21>zS$|lOp zyAd3(Qi|mTiVu{ZA-K|YxWA4S#r(A5o$9tM?BUJy4 z=C7!{rfGSLinqqJK1Zd&AKH^sRQZu|PC4I4b#=qOY(<@Q<>M;w+(jg)#>*+&@!xP<}?4UZKR5Zo;)mc^5*wq0~nxnD-T& zP7;dQ4h$X2=?-!hgBT7wQ;Ov&Ou;Y8dxeZ8-Gnu~rEJ5j9w>hxqv$JGI+PvQcBhn| zLQoE36tv%lu-2aFrkluVo$bKkGNof*VMW{W6izL=4r0*OhT}WB>Lx86IDe(1ZqWQE zgmd_tPJd~R6u%bw(Kd!Lm+1GJOqi(J$(bU=hIuWD5W>I~Y0o1bD;%d4lQ-7xbz;{XTQ%Uv67T!HGT% z+yd*b9nCxZ+fBfOlVzT&u5QI6CLU$apiS?)b{{VO$^KKo#pVCx$I@S_C8l($UCG`N zqkV9i$i$=HLQb5`IKL=-i}sJ%X@9I(85n@JDo6nBFk)nw%c#Y{z`-DR!$N%t19Jhx Kzu$8XFaQ9ecsP#$ diff --git a/app/open-iconic/webp/reload-2x.webp b/app/open-iconic/webp/reload-2x.webp deleted file mode 100755 index 14eb16523a95aaeb4c7b0fb0fb3994d0ae60338b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmWIYbaQ*bz`zjh>J$(bU=hIuWD5W>KNvas1bD0h@&vaZ)R?5=8f|<0N7BB}`b7s_ zT$Tv8U3WCvQ)&AD#&e|=4lFa})+!|*;?`%9Iks)C3x9b;dHH>n1F!d+s7#hp`ZfPW z*X7_<$IYCqogdH5&U$((j;o^l-?i4qeR`ttA{L)zous|Z7OmLN_(e6k@R7`~NpmZV z8Y9ER&TQJ0P-oQo^91Xe%D>$Sb{~YDwU@oPBmIAN<8_|$Nx~)f7A~v%x-j*3`-JnC n8Dtq4fPPSr0J_+Skzp>QmH^N%f;TMGmoP9FF#P*H=Kuo$Et+6u diff --git a/app/open-iconic/webp/reload-3x.webp b/app/open-iconic/webp/reload-3x.webp deleted file mode 100755 index 4d8d79b6c17d329d6492e6e92f72c0d19aa055a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmV-i0i*s>Nk&Fg0RRA3MM6+kP&il$0000G0000N000*N06|PpNC*J{01=nMpphg+ z-*e1&{>{>hh=}|g2J5WQW{aaBY_u$ntikReD~wC*(zLyh;fP(mkk1@hkK+%Bk!+i` z*0b?#+qUs|z48xcAKf}3MD#ylcaC2NQT+dWP=j>})4ECNgqKyQ^8k8t%G}X1E*L-^ zP-PFBor3gtKd7PyN&wlU`dWaqHl_*Cno^!h$mvd~1KdzPOUS#R2|6j$Ipm$w3XUna z$UCDQyi!)-HK5et6)}Zh#1wu5N&{Z6lr?xAQSRW?PMFTa>zeXihEH=sc_|~OvIBb~ zqx>wwS^DKE?EQ?AJ#KZ2(%XKcUV*(nVQ#Pow|SM&$?j*7+d6#y3!~xt$qZ}&09H^q uASM6+0MY^godGHs02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&S&cbdKc diff --git a/app/open-iconic/webp/reload-4x.webp b/app/open-iconic/webp/reload-4x.webp deleted file mode 100755 index ae32ea6bf10ce1d03b7aacd85222f4b6ad80c34f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crkHNk&GF0RRA3MM6+kP&il$0000G0000V0018V06|PpNI?Mr01*$uplu{a z|H*vs{K?LMnJ4>TWNF?B<}7u?(Xw` zZvRd3fX~nGAfo??f@pg6@N16059gx*_6AntN?7o>uON3O$OU^t$NvK983kG6i6`8} zIAbD6Ti?vyHr;BuR2!cEF?+eB3bgUV^lbz?Tna5g5cJWxCE`K3niF-#1+3=;#dUup!O z2WkgCSJV}JCe#=BghCy{=aTvwz@uTPm+;v!-M~439Xv6;4p121as#{m&GdZ?yEOlz zZeTaRnZ0j&wQ^GHA3m8$9d`YZCw#O~6l@J0$Ez5Q`lYbI+_Z2)IJvz4F~{G>>sgEf z00011P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^05f2* Am;e9( diff --git a/app/open-iconic/webp/reload-6x.webp b/app/open-iconic/webp/reload-6x.webp deleted file mode 100755 index 004b563c443a6700f5c34dce406e56ed59050e66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 556 zcmV+{0@M9cNk&E_0ssJ4MM6+kP&il$0000G0000l001ul06|PpNY()W01JRRIj9!h26PRHMbDC(L~vm@qFy<=HXWDyfUux(pSb8&aKx;NC_ zH9sY}^PdjoD}MwL{ZH5nlhgZ;FixWP`{Pj#)_quV+s`y7_tP|tfq=1i@<)g7-3;`A z0*2IXM90q|)PPF?z4FX8F0xn!{1?y$f@{51u?)BpP&X3lZ^5{cOQ-U!&5MwF*q&1g zC>zw`vnEXG$qTiFihvv>RIkghPJd_?SXBfSF@{V2hDL$^)H9XODjbh#68PVx@>zoO zGYtaEVni8M;XJ2FV0l7i2~4L@8?UwnOEs4Cg#7sb?x*H8{3^4`8VXD$x{9 z+Y2raVCg4RZz{0XA1DuCnNf?+TQGL66RHQW%wp;M2(P&gnc u0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*mn;_{yW diff --git a/app/open-iconic/webp/reload-8x.webp b/app/open-iconic/webp/reload-8x.webp deleted file mode 100755 index 5fc865e0a3edf4ea6d94a9bdc7a7f8bb3ea5a169..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 710 zcmV;%0y+IsNk&G#0ssJ4MM6+kP&il$0000G0000#002J#06|PpNNNHA01>Ccux;Bg zi{xhe|6+GnL_|IosU=7*D@)9=-x&Xh#jDw!Z8*tVUv)s=spGBb1Q z2EJWp=Bf?(&VMWcp*4Ys{wJJAR?C+!vXyt5-;ZYpi!ode;Wk_Qpe=vc8-q(K;SleB z(D8N|)|3*~QqrKu+bYZ{I}*0dUwS@F!;rEoVII4ue_oEDrtC==R~szkX$<|8eF;;U zMg7gAn^KX`#ThN%$6E_ygQ8QKSlYj8(%fD{N>xG=mo)yACt?1#a!q4?OHD#Mqv>Nk zg2UuFog~yU4b8m>jcp8IyRHI#@Ki;68M(|o~(I(Nqr+x_ExjHQpy-n%| z@V}r%qFef<_84*}1VZW13<_u-k+QI1d>L7-KtF9=npT0^Kys;da~LUjtEB-H_gYEfw; zSWcymU^$gKg0-l$5lm7YK&Th0(+G7*brqq?RBH&eLiGiqMyQP<)H~IEgsM{g6bLj! zZ55&3slEvW+M%|CKyjUFV+?@~sXayr6aP|65om+@Ap+e|Pv9$#6S$1ksb>+qO4sZp za9N?@c^n=ypX?=YIijJtAHlIy%c&%AIi=}yGlE0B_eVW}gSenkR;OSVb7`H%Z8(Ti zT7FKp7sm%9QJPrXJ^!WUWe843EbJzR<4T={o@J$(bU=hIuWD5W>I~Y0o1bBo1d4ks$XiQr2tcW3QhXX_YpWRV0 zE-sgX?wzYxRG?{n>c5_wmW0WqB^iA)fBw;~{UC6$p3zY-d%>@HGu=&jQWNK{V_Z@# zc5wOrw0%c5^jQ9ndA3G~fdOcnf&|cPBSwa~j9MHF91MatEYz1UFc&cV`#t9X0{|yr BHIM)R diff --git a/app/open-iconic/webp/resize-both-2x.webp b/app/open-iconic/webp/resize-both-2x.webp deleted file mode 100755 index 168a587388f7396961366b7c1eab64af86c7a6d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIYbaR`>z`zjh>J$(bU=hIuWD5W>KNvas1b8F>d7|4FEa+8v`eCN$k)P9lC@Co= zTFSkPJh(qnw^>=jWYUrq^Z)nX+<$F3GppcV^%+YdKTFzqI<94$|0w3+_AMbTe+5KY zHMJaGy_TO7^=EhRI;KxCjG1d07G^&-x;lSaIRgXGW(5hLJw}WSa~ZV+fG!ZcVWGZ+ Nfw_R;-|smG7yz4RJHr3~ diff --git a/app/open-iconic/webp/resize-both-3x.webp b/app/open-iconic/webp/resize-both-3x.webp deleted file mode 100755 index 5833982a73e20c3c223f534921ac6ca671eb25ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmWIYbaUImz`zjh>J$(bU=hIuWD5YXI2bwl1bE~Cd9v#ls4-k%**=41!T*ygE-oq$ zgswf%zt`u@eJoc+^Hplw;y=Yt?S8p`nV)m1?bz1#2PFraV+86?Y`Dd{VzGKDhySf} z7P~E?PX=CFQ#PeEtdj3R$^(WtiE~oi<_yd?T2(h5wcNaP<%XvpZ5SAUu24_|+IfkI pVJ@SV1cL;F-9)247nMbd(qEXoIa$6mFoZL9Ffjc4abD^G0{|D~N74WQ diff --git a/app/open-iconic/webp/resize-both-4x.webp b/app/open-iconic/webp/resize-both-4x.webp deleted file mode 100755 index 7215d34381b791cc55f05ad9357e86804076a36a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmWIYbaUIsz`zjh>J$(bU=hIuWD5YXJQz9p1b7qzd7|4FESo6u;@uA`nFq~c|F;PU z3U=;VVZ{4i;&k;xk4Y-aGyhcC{I6fVoZ+R+#d=0hr%Jc!mFkz|_pV=1bL!sq9@CIB z_Z%mcUohLko9q1gqR}MJX_4K0x7wCGSeWY}<(2Wa_LbDdnghE#w!i%A`}+^jMxa|1 u)PVFQCWg6;S_%vb40aQZ`dm~NDN27~^5$gu(!dbT*ulW?@5gzm0}KG%yG^D5 diff --git a/app/open-iconic/webp/resize-both-6x.webp b/app/open-iconic/webp/resize-both-6x.webp deleted file mode 100755 index 5801063f6a994b18baa31b9b60869bc74186270c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmWIYbaQ*hz`zjh>J$(bU=hIuWD5YXJ{URr1bEB`@e$Tv;he?g3C}pI1n-G1mwtS=zzgU+2B6CoG=Q`a sGs9d)EdvGv2D_CG(_B=Q6=ytQ3g&A0(!k*0{rQ|^0>i)W91RQ%0F>ZffB*mh diff --git a/app/open-iconic/webp/resize-both-8x.webp b/app/open-iconic/webp/resize-both-8x.webp deleted file mode 100755 index 2235a380d5f2948c6071b7568c75717267258b24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmV+z0q6cwNk&Ex0RRA3MM6+kP&il$0000G0000#002J#06|PpNW1_502Q~OIFh8~ z9Qe8XHUAt5A|etpc^~R)_|KJH6oTVMk`yVInU4Io6=$aE_&yQ+XXLhRBv`z5)>n|c zp~t-cLd7n_x?(GF?u|I+=y%_~ZuA!oIT-%GAml|rToj~5LRd6pB|uXe6s01)bfl(0 zViGV+9kCOEc8*O3h)jvNv|tJ!uSPgMLOH-V005Y9FBfj};VLW6nZdZ4!6^d(?lJAn zJ62{ejF|Tl>L<*533W5(y@c8Y^Il^B09H^qAT9s^0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>KNvas1bCzZd4lZ=woDYUIDJ=fqsJR*!9=+e zPLHLhayU@lJ$(bU=hIuWD5YXI2bwl1bDOod4l~5Oc*YhbRS+K6nUkCV?t-- zj*sgPc+FwjHc`cLXSHtQS^JoIdpB=T{k4B@zv-Tk z+oy_OXii%ytseeJ%zWRQ6F%Y+C7<}Zl8YFMJ}`gsUotuMk6rI?{ykc;>1q3>PxyXz zTIYZJj{pBV{NC43w&=OZ$iM(}pMo0DHJ6we<}zwYFi0@iO*HCrQCXxY{e{V!ljTbT RLpWmx1H-=`=cNuX003qYRzUy& diff --git a/app/open-iconic/webp/resize-height-4x.webp b/app/open-iconic/webp/resize-height-4x.webp deleted file mode 100755 index 1de01f24360c19b9a4076ff76ad3e7fda5fdd471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmWIYbaQ*fz`zjh>J$(bU=hIuWD5YXJQz9p1bEB^@&wx#Y?&xxar&;}Mvphrf{Ah` zoE}S0kkkR^`p1CeMAv7oYp-B>(T~o8rRQ>AU6} zh^x5N;Vo7ob1F`aX~TQdo9~?p?#X7|-~FXU`14z z%iSTdNbDOCVIIgr;~SL-hucV!6ls=uclWac6Oud+amTu^S?pV?EMI&X^4>{+t{qasELJI#K6#hH=A@7bA?|*_99&tVFO!7HNxY+(t z00011P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*n{ C4z z%iSTdNbDOCVIIgr;~SL-huZ*b+XkxcHvT_1O(HO6iReGtwrx`)tH!i_0TJs0ul_t8 zPW2|Q3ZHWF z@6Xf-<3H;Ix_CJ`OBGKC=ZWGQLpH&zj1k296P$Rw-i(UI%gMM{JRMXB#W#v3!`dzwG0y`2$JulR&7Z^6CQ5aho%;lH}GVyNDP#eTOpSQukrNO}eZ-W2d_8m9=8^8ap89w!*_umZk=V|a-HFW?0 z09H^qAT9s^0Fna$odGI906+jf!A_kF;??tx!{9O8H>^ zp+RlZl{*5=Aukp#IW7>|^rpYNJ$(bU=hIuWD5W>KNvas1bCzZd4ls7xJ(i;Kf~5}MCqZEi;G2I zhK?Ouuagv?l4sBotF)Z|aqQoIvbub+|LL_=pxE_hj?xyhl=2fCH}5?>tg8Ox`GJzx zFKutFUH<(1E~AzJ&>ey| REYz1UFc&cV`#t9X0|2RsJBI)O diff --git a/app/open-iconic/webp/resize-width-3x.webp b/app/open-iconic/webp/resize-width-3x.webp deleted file mode 100755 index 9654ab8125727826204f1e3b4ceb0abbdae46596..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWIYbaT7Hz`zjh>J$(bU=hIuWD5YXI2bwl1bB1+d4kIqm`qYJt*Y_=^yb#`4vtMn zk3Kj%|Dr_99-eh7o?dI3O1JO(AKCcg`6tK|Y_tCv+;fJPdYrFj} z)-t?%UX)Ve6p+X-Z`RJ$(bU=hIuWD5YXJQz9p1b8e1@&xBEaG4}xeuk~{h|)tR7Z;1b z3>`bRUMHzOY0sb~iSw3zx_@hK+v94tFY%4H&Aj?DE7lvtFS+5Tn-O;P4~r?|VeP0p z2OD*}bmu=fII%TM-{XPSoik+)YzaqxbIOL)+*z0^I^W+Wpl{Eq`UNpdZF)`~SAOg9 zeQIyS!kt24j?SkGj_}feebg+=ar3i&4F(3F x`xVrHuD!&>FqctFfkA=6ZlY12i^?KJ=`T#)oGf1&7{VDl7#RNjI4^a80RXZEU{L@7 diff --git a/app/open-iconic/webp/resize-width-6x.webp b/app/open-iconic/webp/resize-width-6x.webp deleted file mode 100755 index 193cf39e985989a4ebbc808c5efc49fe7a89491b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmV-00nh$YNk&E}0RRA3MM6+kP&il$0000G0000l001ul06|PpNZ9}Y01=;{M3NLY z%m#_XBH=5C)H-f3MM94YFmocjO=`mUPc1P^9V%ydBlt|&e71&{#<^J{|~S$-eTAjyXlI{19L zpoPgleLbM^Yl98n{61jjD<4i6I>Xa9^@`CP7bXmy$MZm|C7bRrJFL3WXcVFjP!EpDr`s_%vcYh}V z00011P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*o% C+I^z{ diff --git a/app/open-iconic/webp/resize-width-8x.webp b/app/open-iconic/webp/resize-width-8x.webp deleted file mode 100755 index 09df9d2d774690187703667b6008654b80ede815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366 zcmV-!0g?VvNk&Fy0RRA3MM6+kP&il$0000G0000#002J#06|PpND%=501=;{M3NLY z%m#_XBH==g8Csk$g&i`4EeKCKp$SJ4mU2NCdJ&FxLmTcY1a1ZN0fhOm!z|FBk0D z=GzTMhWTfo6SVVT2QS@xI>AgcUoLPP&$k=w2J_E8Km3{xJLdS#rxVk>=F5eNdKv9c zaMwCLDIF8_{5*1Cnj^l4HcYbl@3~!|z&y8)I``f@N@v%zjHH9x5oIiF%r-9?ZsDc> z`c(RRTcLDDJ&Q#;>>W{T!e(vrV&xWFoWGw+|8GzzU0ct>k`7%*6rQlD{@c7TxkZK+ zC;t=x00011P&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz M0RHs6xqtuw0C!)Oga7~l diff --git a/app/open-iconic/webp/resize-width.webp b/app/open-iconic/webp/resize-width.webp deleted file mode 100755 index a17e05b3426041afe992e2c3433760fb848462be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmWIYbaSg>U|F>ENtx!{9O8HR8 z%%8=?kXi8Bom=@w(DB ZWz^ze;9wBEVWGZ+fw_R;-|smG7yx-VB;5c2 diff --git a/app/open-iconic/webp/rss-2x.webp b/app/open-iconic/webp/rss-2x.webp deleted file mode 100755 index 72c6587fae1728b76ad46a0cf2867ab4af39fa48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmV+v0qg!!Nk&Et0RRA3MM6+kP&il$0000G0000F000jF06|PpNX`HN01;2Zpphg+ z-~G(|{-w^JiipUHG&H!7$=6m|{yJFG+F;8kG8}Zi^rRs*4Goc+GSrk74kO7nt$oI~ zZQHj0=AY1W3=#cLSpVC!8x;^hcV7|Vlk`~YKx-aCkeEO6m4N4e8kb}!1O5|m>0I)# zdVGc8NTJ%2R$s)BGZ7x4`e7gHiDlT|MN>xf!yF3S39x9d4b*s+#3LiHl;nmhNm#Oo zHal>%EgPtFgg7VJ=OcqO=Lquvlh-G$I~2Yl^9Px~2dx_dGxu8xfdBwjP&gnM0000o a0RWu=Di8n=01?>eQ(f@>r{nNTv@$j2({;Yss{M_X6-AU#e;}dN>^66d zg>3~?P{Idak8Tnsf1@55yz~9mfXUvdy@xk9UFlzFCk~Vks1d$6jSJ1vf!b7@$G60S zW(u>WHh4wnc@=g@(}1!uRe+`4W?>f8EeXx387yCZ8A@EK4pgL`E{vBShLoR$n$*LE z&Qt|&xhu7WoC{ThCR7*ixsa+t18NL4sg*bJHFlvPHHWIy7Rpn{3GEmvP-iGj-Julq z^l6`vM}?3_MUX?qKJ62KjA=*s!yP|0a`6WM09H^qASM6+0MY^godGHs02ly1kur`% aB%&c3^a4u>1oVIaR{@9s0RH&T8o&S|ucNpC diff --git a/app/open-iconic/webp/rss-4x.webp b/app/open-iconic/webp/rss-4x.webp deleted file mode 100755 index 7a08d9202396da89e94d8211fb570848aed73aca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488 zcmVF)>8?$_C!#h4HXv02gi{$g}a5;c8|3#Y&P)BEU(m@&D(S~i*uu@z!VZjCM zEkuKuv_Y6B%Jd$0p) z)`8BcTa@8o=Z)nS6#h^r&=QpfsBGs{)`7OE5o}5=qPmh(*HD~OOVBN~kD6`jw+r1; zhtM8%iMfaT?_m!1P8~oy)E%@&z09SwbPn33o}gvw1L{-52RirA95sSkR01`rB&U-@ z5mi7DRX`C{1oVIaR{@9s0RH&T8o&T)eAcc2 diff --git a/app/open-iconic/webp/rss-6x.webp b/app/open-iconic/webp/rss-6x.webp deleted file mode 100755 index 9a79463c4adf83f0008bbd0bc0ac02b2e7a89ae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 680 zcmV;Z0$2S~Nk&GX0ssJ4MM6+kP&il$0000G0000l001ul06|PpNKpa+01>akplu^b z*QEFHC)_&}5s?RtRQ&LC6u%Q!$7_mvN-m3ODk8;;Q~cu^%UqcV36dl!j+6t!rDNt3 zEHi@`76l{a|G%$3Ng4(@fUj4-0EwD(BDi9fUB!4NWV+BJcJ`bnkL7xdBZDi^Y{E zI-MfS`jncKv0%J2qwVBi{?MFa;kQHDyAbA<<}DV^UD58ttR>VnJhM^v?B6Qf;E47I z%r?yiT$;wu0L~H3xCG_L)G=H-{ZFvL70nsU7B$Vop=UpY$qi{fL4}0+2Zz399_HUfQ+o#eGs zjbMJ#tUwo34XRKlSn1RB%24n?{e`O33G|I>M14BF5Zb2Bps!R5dP5DW^i-fPR0mq4 z9-uPy(xImVm8lU_phi$kO%r+&D57RiM9rXpnkV!m$fQG08<|w;sUVZ6N2ePin{tn) zTSitQwoIifB-;C O^UfJy0RHy~fB*p6cR5i2 diff --git a/app/open-iconic/webp/rss-8x.webp b/app/open-iconic/webp/rss-8x.webp deleted file mode 100755 index f860829ebda14c6bff8df36ce1234fcf503e091a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 882 zcmV-&1C9JrNk&F$0{{S5MM6+kP&il$0000G0000#002J#06|PpNEQPC01@ZHplu^b zH%af~Pk6d0A|fvraj}TS^D|;GW3i#(wrs|OJ2BKEE|#?z1QcxBRufx01TA;Br{zv4 zcNbEMX7|4xU(PxA5;_pk|Ab0f^^fQ4!_B3U47x+3{TwZokUm|{+apMs9`R-`(xg{% zIf?Y>`?44yCHlY4BOP{fH;OcZFyB8mw^F{V(<3S8kmlg8;~JeGQ%E-$-}|I%KSavG z%y~llxgV+bms>RJ(@4Lk+@_WMMHdDxY3`yMbDy*h0(d8_TJ`pDZKecw{+QNr0AK32 z%3Kz%r6!F7_|j~iP6e=sVj8>fr0abp3p0O9<1hT^uC0ZzGAGo@G`#5Zu?Q=uP}lq5 zL%*wDSQYB$5FYfbFTn^-sQ2Izgr$+W_0vx}D;em_E%g-q`PIv$T{ycMDHUsQAGID16nA%vQz zdJWL|azb5!zNA`&-LAb|?JX4Hm}^llK@GMkpJ7uz{K>I$l-MR^I6R%1DUu|mB7Ri;dOV9|c;gKXdI#`;<>`g+Hn^>U~ffRFjYs zR7E(0(9zzB-$_01~R;ibvb}5@7J$(bU=hIuWD5W>KNvas1bFNL@&x4%X-rbl4B`ELR+#t4_v_tV z9Vhy}{P`QEyjJGSV?Ums9v4%lMoHGlMoc^t;kZOp#%)q=)bHHe+j8^%S?=A-Z|L&H z{{Qx~TO?cA-(EN26`#95j)QMkx#x|>h>cs9*PcB1biG`L9_Ned7!&4>Ga1_yBTSxi ztugZz7n4<%PrG8yYSrE$vx2kf=fBy@dZfN~Io%X4<@&)N@^|Mch2P7hUIZjZedl4j zBBPq+s~fn0uOm48RinXI#|gif85n@RQjh@p!HAJzE~AzJ(0772EYz1UFc&cV`#t9X F0|1$dWizt8jg$EC``AZo7I&o8g3LVf-r?4GFzO0AW5=m ztKYY6+r007`#;-$z5i{@d2{Z$TZrg?_Nv(*|7-!_v}0GZ2w|}9&%;Sq?QR4Px)bXN zGNiJPKxBI3=rPS;?;P&!=QaZu2w8cf-P?z@OMm{}2nHurT9q{nsHKM~n9Urm_%ICZ z!XeCZj@B&r%&C5JW-<@B*!41R1b1Y{ia?+PN~0; zEoz1ugRD@CkXdS(+JKBwTaY1Y7XScOP&gna0002e0sx%>Di{D506vj2jzlD)Ash4p UO9=$@fB;tkhyVco_|F=^07(Cwg8%>k diff --git a/app/open-iconic/webp/rss-alt-4x.webp b/app/open-iconic/webp/rss-alt-4x.webp deleted file mode 100755 index 4bcbae8b2dde5825bb3180364385db8f0f5805cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBl3Nk>0RRA3MM6+kP&il$0000G0000V0018V06|PpNKgR)01+R;plu{a zf612b|NPP3v51J=T#03o9e6PhdU3+cUE!MD#!ZzTeLKaXp35H14w^!qIl`#Snt_uTdOMx;~n4(S1zA&JbU9SQ%;p zo0rIx+v`_4wjP|h**mQV5AJB|N!tctqQf6rCeXhh*WI81oxRdhhoX8JB@sl|G{4da zX#C9M2xc^o2xxh)BAC%^z^8Q{fxo8l9)r-n_aML>g+>KcP%6jGy+his@vR7>~|>OQ1Hy`#=S#?(7Vh5AIjfRw2(kPP)J^$n7u z{(vN?zo~y99`!H8qy7T`09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIa OR{@9s0RH&T8o&S*x4s+z diff --git a/app/open-iconic/webp/rss-alt-6x.webp b/app/open-iconic/webp/rss-alt-6x.webp deleted file mode 100755 index cc4ec63e4473023d98ac2b8cdc9fe36e6138ae91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 590 zcmV-U0Ccplu^b zH%a&7Pq@b-BJ#6H_(OddBtP{^M4V&8&Jat6&{$T6HSQp?LM@>Jf^6Gqo9CFy%*@Qp z%xzj%e*51`Bl$`03L^TSO$|c;27P@DJ4G?P5FX(p#R7p&mnC<{GHM zu=m*r!3=#GK`6tIbA++R*93xCYcECs>pgVB&zhh8@J4Za&)CA=y3fJ#rTcrkltXks z(zlB$g*hKYH9n(n92M&8K~#6>`O4wacbKEHLC+CfdYj{@?9ej|hXGp=+%xLO2$mt2 z37q(mdIpw3_Zgh-AIi4|S`533;Y?G{qQ$_=2+jrNGg=JYgwt72j^eM8_f77+Fkl?c zI^`Lv{fCCWW)7P+sZ1M0*ExL$a8@Z7Ag6xl8HCLWs$1xu59(_;`&4BH-St5|2s=PI z3G;Ea(uGP-L3s}6ooWwkm8V^BrzuSiyG`{3I>j{H3(7^<5z3U6WjNg>)eUTHsD@ab zhI2&q8^bO2>d#PTj zu3-D9-eEhanp7XKIaL!jp(>~hY=g?cMpPvL09H^qASeI;01^WLodGH^05AYPsX&%Q cB_ko2L}h^gpvSs62p>4Lk4mXS?%7$hlK07vQG-ezK52TI^BPOW~xme>n>weWB_( zf{W7oMgnKhBA%bFWlP!=%Ss1$Nq_{0NgipEcM^RQ!TLug@~;==WBDmHVPR zg@5$Ck6_JFzQI5GHelaS%&Pbs7t^`T%OC0&Vbz8d58xVaw5jZtVKpg!M{vgLpVZyJ zDh(+9f)MWwsak;5q<9Lk{zA=146~Y1>P8Tgb80qWT~nNe;)sfN0&|YyF*HY1ti$@I z^orl3?(^wN9?o;h@30yaOW?o3Ssjk#h4Ku{Ns3FLnKcsF^&!OzSRG0Y(0)x}?^En2 zFfS=RfsW2NtmKR00?ai^J>KcgVmcA{g8oBT5+n09H^qAT9s^0Fna$odGI906+jf m!A_kJ$(bU=hIuWD5W>I~Y0o1b8F?d4lW=S_oC61U6Dl4f84+N~e~w8@B(VJ@Q<2LlI#;0+7) PB@E034F7)5Iluq_(`hJ$(bU=hIuWD5W>I~Y0o1bD;&d4lE()g~?JsI4&O=rm}kuhv#p z+El{E{qWrmj^E3h_AnbZ&pVyLBH=bECu{!STJ$(bU=hIuWD5YXI2bwl1bAcsd4l-~TXJt_T>A7d)_hL~N7k3y zZ&MGbZOTB&BC#R|*yqxXZ#)g{SHG?oTX{db z@WJMi+kY(|3mGriw?L`RnNfC?^z<2zdjxo2I|%aT@zqHJ?E$(#K@CV>Vq%!fs3pN5 j!C*JhsLw@Zk)re$CT~ubFAWUgj2#RN|9+g8I=}z`sS899 diff --git a/app/open-iconic/webp/script-4x.webp b/app/open-iconic/webp/script-4x.webp deleted file mode 100755 index e93eba0bbc2074ed8d1402d1fe57e3cc512bea90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmWIYbaOkxz`zjh>J$(bU=hIuWD5YXJQz9p1bCDKd4lZ=mQ56S@lInupXCi_b4OPf zm096Y|1MPUxlK}0mAbR=|Nj`7uycZc-EVKp)nI>d!#cy~W=rbP)i+&pMAbLnIMa7& zosE-kapLvak6n`P|7ice{c`!6FT4yN{!2`>NZwKKn~U#MuYIDF=y!dOS81Q`Y0v%# zw3Y$rA_X-deTj)-E~AzLg93xyM58_zl|_ouUzof(S-vzdgfn(9F#P**Ug`h?032pc AYybcN diff --git a/app/open-iconic/webp/script-6x.webp b/app/open-iconic/webp/script-6x.webp deleted file mode 100755 index af15042ce15ade7b2e13c96d187675cca0114d22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmWIYbaVT~z`zjh>J$(bU=hIuWD5YXJ{URr1bD0l@&xZM5SXO$yl9ifeDR9E%K8S$U?J5=Sq z+iUuj_rJHxCYF^7k*!;%7Y4~nuphn^!tA#^t3WGs!-6ysty5_imYkA*8ufkl`}u2E zx70BM-3s)Df(DQlVrH1jsAa%lz+ku1VVaAovf_*7hhKq)V81om&uxuPw_mGzb_R*|wWD3RAgZhQI$shU7@2b`;TnMQ+*vN;Y z=I*+W_Ifa{@o5#bdfjQ~sh3MToI44a|G9DYCq&t>D$>&(IK*by#qZBIMbi%HnptQ~+Clz0u-xe|AZ$CoJ z*nOh&H2?rsP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz M0RHs6xqtuw0M%lK;{X5v diff --git a/app/open-iconic/webp/script.webp b/app/open-iconic/webp/script.webp deleted file mode 100755 index 437e89bd7d26e6e0e588dfba13b3e699bb3d2f6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|>rc(fO>$YDM$cmBSwa~j9MHF91Mat REYz1UFc&cV`#t9X0|0|nA^89R diff --git a/app/open-iconic/webp/share-2x.webp b/app/open-iconic/webp/share-2x.webp deleted file mode 100755 index 86d86a62b11416ad4024995cf7ef7d3697af307a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmWIYbaOkvz`zjh>J$(bU=hIuWD5W>KNvas1b8$7d4lN+7ff8zrv2YPw4r|f10|(R zjSF@QwOYrno_+h}WOH-T?d>Uk zwY6G)W>a@t?7KJf)NJRxb@o|1lVY!Y>%F-`ckY9~Q{FA#=eo{j_QdsHI##^2Uv6<< y_El7n9kUc?s8jff8w?CUw<$;fU1G$@FqctF0O&@+8y4zI7?=wf{{5bFfB^vL%ulcY diff --git a/app/open-iconic/webp/share-3x.webp b/app/open-iconic/webp/share-3x.webp deleted file mode 100755 index 99a14d018ae52d8ad508ed379300f87866769463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmV+x0qOoyNk&Ev0RRA3MM6+kP&il$0000G0000N000*N06|PpNWuUB01+pmplu`P z)BYa(>GoMfL>9yssiAU|;U2SgZy6TpJl?IHoT(w)VpK(K5#|d(jAYxiwVrL;`Zk~6 z%0H&#b3Ouy=zqdDM<^E&gi$P`2%@}7AcX2Vg#hZ?3>=m5>i%Hn@kq(A82)*vTT`%SN!jX_fF8<3HAio+}ii}Kils!_aF;Gj6S zp(lLK!^KM%#(GA+(794gdgFP&gna0002e0sx%>Di{D506vj2 cjzlD)Ash4pO9=$@fB;tkhyVco_|F=^01l;hAOHXW diff --git a/app/open-iconic/webp/share-4x.webp b/app/open-iconic/webp/share-4x.webp deleted file mode 100755 index a3c7fb619e3eb228f0ab45445152ae04642d2a3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmV-e0jK^_Nk&Fc0RRA3MM6+kP&il$0000G0000V0018V06|PpNCN=?01@Bfpp7I) zx~lHE^v@sfB@hvj3!flYkXR$v$c`IV>Sp#oYq|XAxXN0_4wZH4MWhV37=pZjW!tvt zXvay}wr!_u+q?h$xV|U+j_7|vw2D%>oLuO*_mU#rK^s zGZa7e!lZ8L{2Z=KbT_79=)4ZVPSHLrwIV?KJ_u)@`fsg(AkF6poct%%%NQcm-xF|0 zsh;`}qxzkOx5%#{MEO4pe~Sx1oVIaR{@9s0RH&T8o&St!Y z^g*HFDFQ7`!|ON$7wRuD=u2vMH6L85y(OUgzp1=8VMFyJ1w)0(E&?kmUm2K|JP%;W z^G_beCmx*+Yq=2ln8);}Tv5 zaKHVHLiTw9;rA4TFCpE9bQ1qf00011P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R> WQwoIifB-;C^UfJy0RHy~fB*o@=D17% diff --git a/app/open-iconic/webp/share-8x.webp b/app/open-iconic/webp/share-8x.webp deleted file mode 100755 index 7099acb1c1bab3163cd3833122eb616f66d34e96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 530 zcmV+t0`2`$Nk&Er0ssJ4MM6+kP&il$0000G0000#002J#06|PpNVWk001?N+Fp?w@ zc4i;>N4!K45qUXEiXZb&_p(k_V{?!-2X{Ov=XN-nrdY(X@)hHcfGtU~X{$G`ZQHhO zAEW>OOSaCewb#7er-=S1ob5xK$53W;=0TP5l@CoOcL5ZcKD9xQnb!`eG5gU4Ew+63 zK#8q?{m`LM9D)j^$|y7_*2bYgxjqH=G&JVmoTlb79C!oM8%LLqAHU^VgBI(^*R^o` zR%gx~*bnT!)5!tsf~6NaJAp;8S)|Kz52pD79bfwpyKd?J2GT@{?i-U3R+@C*oQ1GO zjYSA+)L4Zu)uh4}guW^j_8@rAR5*mRMuk&I9TmF2@E{$~;`?fMeyqPE^w2`XjR&ct zMnm;%z6)l`4*|q&%J(w?tSCN*kbfzi55ktxTRY@&3Qr@jr|{VU!wFkz>&U~_pKh26 z%zh0Z7h4LwFby($*M@w|mIh#4W9G_7PG%~@Fkdje@{pHlZ4?&YOkM)yW>O!AMaZPk ziTsQkQ?MCfG64sSnscyPV0;J{jFw=x&8QH<1=nDC!e{|bwqbkC59mH~9=e}D9&`&k zP%d{v`3~Ca(C){74*&pGP&gni0001z0|1=?DnI~006xJ^okk`jq89`LV+;iJfB-T8 UlWB^I2bjFz0RHs6xqtuw0Hyfo1ONa4 diff --git a/app/open-iconic/webp/share-boxed-2x.webp b/app/open-iconic/webp/share-boxed-2x.webp deleted file mode 100755 index 9f34216c213230076c12722d48d9f66038edf812..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmWIYbaUIoz`zjh>J$(bU=hIuWD5W>KNvas1bEZ|d4kUum@zac?Y?;Jzxg$B!HEry zE?YxynljlR>?o+1JLiKUNBcyT)u$eOD0psb_TS?B$?F_Szvh2m;#91n9x63=gU{yb z+WJqDGdI=zyBd@7>Csxh2`Bk2MJ*K`zfIr2NFzZ~{+dan&STzMBW5GnnM#)@YI@pE rEb4xBM0+#PcA&cyB!ILLBg0%qEdikW1aDZVFJWLVVEFfY&H)Ahek@5; diff --git a/app/open-iconic/webp/share-boxed-3x.webp b/app/open-iconic/webp/share-boxed-3x.webp deleted file mode 100755 index 21d9e697c1436fd9c7571b753d6c568b035371bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmWIYbaQ*gz`zjh>J$(bU=hIuWD5YXI2bwl1bEB@@&xS{u9&Ej`te=dndk8@)^&Gy zOwj3^dSu3jm0J%rom+aof8OF5LRKsbCny$GbXVEew~8>hBQ4&Yi>i+)^ z^qw%EBl^$CZQC$Z0`%5y&xoo9JQ7RDtpbd|rmM z0LY^l9if)XrWfeNqQTj+Bnft=6>ahC!E#sBZ*f>pBK{AYl_lNExj+z;%sDj)zL g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0CxUzQUCw| diff --git a/app/open-iconic/webp/share-boxed-6x.webp b/app/open-iconic/webp/share-boxed-6x.webp deleted file mode 100755 index 08509b8f9091e9f223ade6fdb06322a3e6974e7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmV-k0ipgwrDM2V?J z3yTmpsmIo{h$8lrvA_Bc@Wvfu?8rUE5V#_SlxyGmcirTyl?B%W$B;Jde-!`#09H^q wASeI;01^WLodGH^05AYPsX&%QB_ko2#T4TVS<1yNwR5cj&0kx z*0JsW{~tPWXVzTbr-=SDa@#f%m2PvIcM#c&-5msxxCXHWhX6Ez9s3a4*eOCCJ6(P3 z?DVk%ecXH)G|u192@C*%eG`nG3$bu$HOB z8ZaLtl`|A-<2sQ$s8qvs68BK4X7IRyN;Q(pLZuqX#g5RZMslt>G^&w-2WV6y1JMiK z>CDD1p$-6G{hW(x(WD6JHcn|eo*57`$JOe6FNY-J#Pr* zdb~1}EAkv;s5Z3oC^&**!vIOLm->61FZ*86PX7=A00011P&gni0001z0|1=?DnI~0 o06xJ^okk`jq89`LV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw03yt~@Bjb+ diff --git a/app/open-iconic/webp/share-boxed.webp b/app/open-iconic/webp/share-boxed.webp deleted file mode 100755 index cb62ec8a82cd7ac87ad1c80f758133ad9eb56a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU|=D&hq_y1<%0+6IEP`&(u7>uk}B=<3;@=i#vyfKSbP`;dy1_Zof!Fo@R%Q pI?Im815EsVGTZJ$(bU=hIuWD5W>KNvas1bA!)@&x%0t>{&855GJ6^7lUbOFLZ! z1%Iks-0ABhqBea=c%=NvLX+C9E-Ef7OO%B>3tpJZY@4{mqxSrnGX>|*@XW0bGTvQn z>GH)s@$lET%fy@%uI|2kXP4)US6}>Znr8l+%*8k5{RWnWyZ>*V+_3QX?oAxt-;L6l zr@dQq*ih$gSl@gOp1V9@IfpMqI;^T$zOdv}!2H(&EoCgi_7}f96!#o@79W$gvR~)U xq1I<}+zkvX?0y+W0No7qje-P_HezI$%cvy)^p)TZ3-u)o%mobpe$P3;008I|XC?pu diff --git a/app/open-iconic/webp/shield-3x.webp b/app/open-iconic/webp/shield-3x.webp deleted file mode 100755 index da3ca1e920ea849855771ca69844908d36b119ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmV-m0iXU-Nk&Fk0RRA3MM6+kP&il$0000G0000N000*N06|PpNDBb~01@B9plu^b zmvr`C{(QTKA|mpzM7BgMFO_v)#=^h``^3wW(pDgPuNW95J@Mq%i^Tv3WJ^e%QOD=_r7XDP=p z^y(v&-)?An!?>f=q3K*h<|(%+C^~bH&M!(CiuR)e$tvZ(4Uu*kq5YZCM5K9WLo70> zAka)hZ&H4ykWe>aa%Yt95`^kB3)^$YWWAs9rVC!*70r1M{I)HsjXYXT9(>CF1S|jm y09H^qASM6+0MY^godGHs02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&UAlbhNA diff --git a/app/open-iconic/webp/shield-4x.webp b/app/open-iconic/webp/shield-4x.webp deleted file mode 100755 index b40413489b25a3c1c8fe76699d1d7b6ac60c8daa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmV;F0c-wJNk&GD0RRA3MM6+kP&il$0000G0000V0018V06|PpNIwAp01lBVu{pcN(};HBT0&+I%Z~OzGr6U zFaO=ynVac86C(PbkVEa8pcTU2so6X2`!tEY$|ryH{*KGgqWuRd54{M4?D~uD&msM< zRTjHY{gU3(AO?yT^$^BybpKB)uvA{hbl+zwI8^^>uUa8^)c${H+K{MyztMCcQG30n znL?s=bwG0piQ2YD^8txkH%D85KrMq;ni&Kt&j^+@FA%8A5fo^v@Tufsu4%5|Q@(<2 z&{p74u3>ji^ALhd@fJ>%b^@1T8SV+qUkMJSBY4SAn)ftz6h0F08?=vcSPFGWOWOMc z4E+Vf&>8J(5dpnZD3NR0zg33rRRmh}lHz#;dia3CCWO73?{wbl*f%=5`wi}fQHTHl y09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&UX^s)f} diff --git a/app/open-iconic/webp/shield-6x.webp b/app/open-iconic/webp/shield-6x.webp deleted file mode 100755 index b8e666946453d17e956c85f64de8fe08ade0733c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 554 zcmV+_0@eLeNk&E@0ssJ4MM6+kP&il$0000G0000l001ul06|PpNYeoT01=jALhxMt9bOo>_gSd`IPJH4U+L_)9T5X@Tm`K@DMI=8E#mdKUk*Tuvv@&u_g` zbm!v;XnWtvJBpt>CB$fTly2sd5NLJ`e-9gwX>}3(^J)eft-qi2OVDZkc%M<*rj&`D70;3P-UZkE?u)?!;#5DgkY^c09mJ?kLpx>g zRYgec7;5^7!Fw42mB$qH>JNkW8a(Ci3M>5v;1CaIeZ&dtkwxUME>s&pm9eY_S?k7|5Y0B<);KnhY+wVevMt8&b z>wE)(Ot^S9fEdk=q3^Y3#A$U!3U@o6f`-;Yj{a>2l(c5Q>F+^H>(>kYb7*OOzM=mF zEv;7v^wZGNy1z`(1SPGDqZGqX(mLEiu?i)v&G@B%4JD1=C|}agrl6zo9OXrd0qAI4 zK)H)z3pyG*QTd_&0Ud2$s2))CKt2k!P|-Gs+AsZd3L2Vz;O$UMK||9vyiSTI zXlQXA@b4&wprGXzVw~a*3R=b>KPiS0r{Nue8H#7bX_!VJ^+hp@DD@vHgr+IdO^8uH ziSP@>DPmMVAu>ccfe6+8h@DYnTM?%A1ksi(#bXLVDl<)p&r%*CNaZv%HB0$w&GjyYlqBsgkjT?b>ld>=hLCqTU*ObKx_*7iN(C|j-R^T!IQV&b(F9R1% zs51K90$W#xfxj747)y7;+M8wQbE%DyOb_fmX&U~zkwoVg)t?J$(bU=hIuWD5W>I~Y0o1bD;%d4l{4S4>n%{XS!6-ShiTPjqys zq(9+bqj(^xOMS7$jV9N0Wy_5r2^TyjEwZdgOOyDomLBW!#s1-~(oC6S)$3NK|4?$N z{?4-~_byU@lDI&uI2 diff --git a/app/open-iconic/webp/signal-2x.webp b/app/open-iconic/webp/signal-2x.webp deleted file mode 100755 index c537c3dbe949f6cd8ec77b5da9244a32ce9238b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmWIYbaRVhU|F>(w;E`<$$^rB!ILLBg0%qEdiiz!5bFpOBk3782+B2+Kz#~oKvkER80Io+Niaw-*iAI*b5U8ODE)=Wo0H{B14B4t2Lr>u KALpeGFaQ9u)*V~` diff --git a/app/open-iconic/webp/signal-4x.webp b/app/open-iconic/webp/signal-4x.webp deleted file mode 100755 index 4105166dc669db04870c44a7cf4cfedb58d8c742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU|U;Q z#}k@I3vfT;{>O@e0jOU=1E^YvnPD!YmH~qSgWXDpX)dbDiZh-t1#`80 UX<%^h{(Md{f#KhGjs^w>0KbkSkN^Mx diff --git a/app/open-iconic/webp/signal-8x.webp b/app/open-iconic/webp/signal-8x.webp deleted file mode 100755 index f9a7a5d606a2794bdd0b3e9e4618092db4ac7064..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmWIYbaSg>U|1E~6F)0|$fP4GZ-p49o=#|9;OozyJW_{uh=2 diff --git a/app/open-iconic/webp/signpost-2x.webp b/app/open-iconic/webp/signpost-2x.webp deleted file mode 100755 index b1f307a3fea2a5e37f5196726582608c876cdec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmWIYbaTsKU|1xn`g3pN$oIcJF3gXUJq0WG($lGNE;Zi diff --git a/app/open-iconic/webp/signpost-3x.webp b/app/open-iconic/webp/signpost-3x.webp deleted file mode 100755 index 58d3b52d6596790165423357a61bd85d62fbf7fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmWIYbaU%sU|xVQ^;#(V&39U(P4p6`*N;?o+y4h@W&oP2pa!Hb rF)_?#)RJJ3V6dBL)aRnINKyI=lQ$>Jmj;G##tsICe?QJk9bfJ$(bU=hIuWD5YXJQz9p1bDatd4l2!0v?IadOK)!GgrpxW4~_f5invA|J3ROj~#QlH1)(>(7cOFPJHnDo-@$IA|VYAG-%FxX8r>T^+9q$vG`$(xhqO9MkVV+RAnzaQtN4ln=!AL=h; diff --git a/app/open-iconic/webp/signpost-6x.webp b/app/open-iconic/webp/signpost-6x.webp deleted file mode 100755 index 1905b3a9408690816ebf57f89c85f8a4f8da22c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmWIYbaPw6z`zjh>J$(bU=hIuWD5YXJ{URr1bBo2d4l2!0v?IaQrVBAM%w^OvU@%~?Tj?;(MO9gG#uKJsu9hzi T3=ZC(&q*dQ{QJ()z`y_ifx0_G diff --git a/app/open-iconic/webp/signpost-8x.webp b/app/open-iconic/webp/signpost-8x.webp deleted file mode 100755 index 0bd4ccc8e480c8451e21565a8bb7a336282bb613..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWIYbaUIpz`zjh>J$(bU=hIuWD5YXJs3Iq1bD;(d4l2!0v?IaiO*Mg@^i!{%76ZmiR*Rt3Zn4!>4&np1UTQc&rv$p^`b_8dKb=wFO@p zCY@$r3Ey)}!P{_h)yg0x5g=KVI={{mXgbhd1w9}=iJ4(8qm~1M1B2Z`zqxK|%8SHV fn38!|zBDixF-*?v>SCX<=K;gNFMD=2096A3J0wC3 diff --git a/app/open-iconic/webp/signpost.webp b/app/open-iconic/webp/signpost.webp deleted file mode 100755 index 0d3e5f303c9728c2717ead8e8833f7cb0c06c37f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmWIYbaRVhU|O zV^!|#UDKF?B)S(iFh$LHoiKOT`=72IFZLhWmODX&ZMg@>66 u_T}Qq+cTpka569e?NN{bnrg(zFqctF0BE1!4GZ-p49o=#|9;OozyJUdsxYnq diff --git a/app/open-iconic/webp/sort-ascending-3x.webp b/app/open-iconic/webp/sort-ascending-3x.webp deleted file mode 100755 index 993d925b93394a578d376eccedf060f5cfb3f153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmWIYbaUIlz`zjh>J$(bU=hIuWD5YXI2bwl1b8F^d4k~%CJ8gAerr&xbPy6$yi?3gky3sYq0>?xI;$6a_pgb> diff --git a/app/open-iconic/webp/sort-ascending-4x.webp b/app/open-iconic/webp/sort-ascending-4x.webp deleted file mode 100755 index 1cf47894a8032a5f395409e5f83812f185bbb683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmWIYbaUIsz`zjh>J$(bU=hIuWD5YXJQz9p1b7qzd9u?NY?&xxaoTo4fk{DEM~72< zldMhJ#F*wnY0s{#nGf~;r_B5=fARklgUuY%X6{W0Irzdjy-ARD@%bJ-iLP{4-q@F{cV`Au;3nV3**imyUgF(8+ke)x$_u?q3%G$c0^OpZ u2Ba@BG0bJuQeaSEu$ySq=c2MmQThv$Hz&)N28M9P4hDvQKh8@XU;qHSiAucy diff --git a/app/open-iconic/webp/sort-ascending-6x.webp b/app/open-iconic/webp/sort-ascending-6x.webp deleted file mode 100755 index 7adb40de8289e78ba62f8000866f16d262fa0ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmWIYbaT7Iz`zjh>J$(bU=hIuWD5YXJ{URr1bFlTd4m29VhOX}%sRj#^g>HX=|-)n z#m3y*zHz4*cJ+7l9ac(yneh0+ii%eZx8}b8{k{IyWx>Dc54PpXaP8gR-@(=JkH6vH zbv7&S17~?uj2qIJ@BO!Gx-NWoa-U)1X@{*}X52k_!}U+)ucBkRqWh{t#p{?qN=Po b;|WtRSId_M1_$rY=Ohyt{(a|YU|;|M=S5p~ diff --git a/app/open-iconic/webp/sort-ascending-8x.webp b/app/open-iconic/webp/sort-ascending-8x.webp deleted file mode 100755 index 1f4ba9b527f73d4400478bea7bd7e6197386d1c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmWIYbaVT{z`zjh>J$(bU=hIuWD5YXJs3Iq1b8d}@&x@I#1dw`nRS3g=!KS&(v4bC zi;cOrGv!hlR?4;Zb@v`o+E|z&Vpq!W*4KPZ_51EBvqk^A?rh6dNtqk&fnT1{9HmK``(&k zMonLPYFG5M-e>J@u@4V4_+u6$@Gsy<a359rQG y%nWlGwHz2680-%E&2>{#UL?-Kl+45OrGdeSVRB|y7yFDo4;cP^*|W0&s2TufNMkbq diff --git a/app/open-iconic/webp/sort-ascending.webp b/app/open-iconic/webp/sort-ascending.webp deleted file mode 100755 index 6b52b1d36c633765cdd5bb65db94c7f49260bbcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmWIYbaN|UU|8Rjx-aWHT&2;Q(z PU&6p#!0_+)oC6F1g@z+1 diff --git a/app/open-iconic/webp/sort-descending-2x.webp b/app/open-iconic/webp/sort-descending-2x.webp deleted file mode 100755 index e28b3ca5ef2916e7e4a76b416b96794bed20b0ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWIYbaU%rU|O zV^!|#s%cC?65R_Mn4)I9PMEvveKUvP-|!pTcqbitAR@@}pzkH$hX>F9KKOXgA^cWi ts`TVn=Zq$;0GbB0M?nHe8!Wz-S?+9!C!LVXDXa{J$(bU=hIuWD5YXI2bwl1b8F?d4k~%CJ8gAerr&xbPy6$yixS!B<{8jd1!%9o$Ni+7Ve$P!m$;rR~v|B+9XwxMohPjMd5)2Xyb`y>I dTvQe*N`GPU=4AQOz!1*Z!NBnE$9bs(3;=kiKi~iW diff --git a/app/open-iconic/webp/sort-descending-4x.webp b/app/open-iconic/webp/sort-descending-4x.webp deleted file mode 100755 index 2a730491ddda63cda5f3cc5866213ec7979e08a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmWIYbaUIsz`zjh>J$(bU=hIuWD5YXJQz9p1b7qzd9u?NY?&xxaoTo4fk{DEM~72< zldMhJ#F*wnY0s{#nGf~;r_B5=fARklgUuY%W?p1ne0~n6n@Eq{X7L^^iLP{4-q@F{cV`Au;3nV3**imyUgF(8+ke)x$_u?q3%G$c0^OpZ u2Ba@BG0bJuQeaSEu$ySq=c2MmQThv$Hz&)N28M9P4hDvQKh8@XU;qGHt4Y=X diff --git a/app/open-iconic/webp/sort-descending-6x.webp b/app/open-iconic/webp/sort-descending-6x.webp deleted file mode 100755 index 5ab6a13eb671c4046881a5a4b931a10cb27fe109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmWIYbaT7Iz`zjh>J$(bU=hIuWD5YXJ{URr1bFlUd4m29VhOX}%sRj#^g>HX=|-)n z#m3y*nR=-VcNbr<$Wbw~-MHh$iXV0j-k9d}&~C@cw*GGJ)aWca8=I1^}alR>S}R diff --git a/app/open-iconic/webp/sort-descending-8x.webp b/app/open-iconic/webp/sort-descending-8x.webp deleted file mode 100755 index 2b64c17cdc859ba1e6daac245f6be19301bf8c4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmWIYbaVT{z`zjh>J$(bU=hIuWD5YXJs3Iq1b8d}@&x@I#1dw`nRS3g=!KS&(v4bC zi;Y`zz3kdpd9u_e=7uRx_1HSmv*b9dL2mf@-}~mjTrK!F{K>XlWyRMa2mZD;{tmBc zkk-Fd@vvUV_|A-j_MOrue(!c4o>m-J>N``y+;{Q0q_C^%T)Xr3*zL@8KX)`ROn*(= zmFCi($*X%>?^|`Z*r&!B{5cjYP&fa_&(`-HF&6LoPPBeCTJk?}u6Ypy1JLCPdO&wh yVrH1jsO7-mz+iXKZ?2n~@*;5-req$LFAWSv43jgvy4YvzdBE`R%buMLK-B8Rjx-aWHT&2;Q(z PU&6p#!0_+)oC6F1mL4OM diff --git a/app/open-iconic/webp/spreadsheet-2x.webp b/app/open-iconic/webp/spreadsheet-2x.webp deleted file mode 100755 index 389342736bacb9b3969226439f96b51afb3c5f91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|@bCAW0}KFKh$q$n diff --git a/app/open-iconic/webp/spreadsheet-3x.webp b/app/open-iconic/webp/spreadsheet-3x.webp deleted file mode 100755 index 1682b885664313e0f7ab884a3649d369e33a512e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmWIYbaR`;z`zjh>J$(bU=hIuWD5YXI2bwl1bDasd4l#13Jwd;NhEBzEhsoMhRbwf zj_LZ}Y!@0tf9WtVhy4F7U-U}(m%mx&(DI<1%{d+x{EUU%cNmP3M! z3=BZ?71V&HU1DOG%cv#6Ai-ca(WuWwWs#!v7bb5`mM;wq;fx&&4F7(dmpZ@z0A~#_ A2LJ#7 diff --git a/app/open-iconic/webp/spreadsheet-4x.webp b/app/open-iconic/webp/spreadsheet-4x.webp deleted file mode 100755 index 17db4b3924c4b7185fc6c2a21b0ba998f01870c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIYbaR`>z`zjh>J$(bU=hIuWD5YXJQz9p1b74jd4l!}mgOp2Tr1Z-+FUFssBwR} zqpwQz+3yXkHW$)4Jq{e;|HoaFrTlBXSuXRj%;I|+RD4ByF9j}=i)3R_V4C`EL+t&Z zXZNPONz^F~J6OgDG!bZ*f*O#%#KbU{QA>eAfx&K~QJ;&-B1P#hOx~OJ$(bU=hIuWD5YXJ{URr1b7qxd4l;1R!kHzt7=thlu!EL;=(ek z=A}uLP>!-^(Iyec2m3s=j97#YsIVqge0H`HKD*R;uUMSR|K4r6k5^Hg(kUIewT%e;J*V`b^GbxtKr3=BY*C};rf u6=G(X%cy0*V8CFv(qWp5sJ$(bU=hIuWD5YXJs3Iq1bEZ|d4l~5EGF?-!jnZPzT`8Se7`>bBg&Gfu>}~KPqO=7PI5h@x$kgpTGZEUp>#V{`~*jpU?chB@*46q#CGm!*ONW1MAjV%n3=c zQzBF){xAY<2f9l^4@gg9W|+&U<-p*;V0X}OuA7?jB5@X`WFD3;4GcyMlQX-z*k|l{ N!0_+Oo}CRq)d08xPKN*h diff --git a/app/open-iconic/webp/spreadsheet.webp b/app/open-iconic/webp/spreadsheet.webp deleted file mode 100755 index 5e64b4a635f2d9869031e1d50ade2a680ed329a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|J$(bU=hIuWD5W>KNvas1bE~Cd4lZ=)EFk1oovgll5FbW*kC?G z{Kk*<&m=|MHl4Mx{QPTu*pCdwMgKW7dF?D8URJv|?ec?}mcsLTH#`0~`20h`-2QhP zN}h(A_GyW@I!19dYX_^u^d3HckS+73?6TJ;0z0#EVuf8o1hf(u85n@BP>=xHX~f7d Zmr+Xq=o-Nr7V1kFmJ$(bU=hIuWD5YXI2bwl1bEB=@&vap*p{ne^6gK2Ag7>ULQu1( zdAIcs(?&HmHpYf!Gk0_U-TjVT$>mFYqsqxMah!)$=P4R&b~DgbUw15lkNdz8o&!f1 z4;(sfQ*-9X$CkuB2R2E!&Yoj9SHP*fs^ss^DXmhjpMvgmq#X>}BeP=bel5c*KVNIa zFk17O-2b5&=2>_3&Ju$I@A*sBHz?L?aCc=bu9pyRn)k!`dAtk*1JKn9YCtz$Vq%!f ns3pN5!C*JhsLw@Zk)re$CT~ubFAWUgj2#RN|9+g8I=}z`)E!zo diff --git a/app/open-iconic/webp/star-4x.webp b/app/open-iconic/webp/star-4x.webp deleted file mode 100755 index fb001936dd142af41b98152b5ac00adf1f168e9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0pzRP)Ob}K z2`|A(|@ z=1kE2pfNlw*Qs^~J5mkUXjCgUgsQ-fGy=@VcjasGtuTepOt{kIBd{W$;qmyvC%|aD zyTiwI-W7&$Whi-3phwOGHBAPnZFm@dRH((lbU%Cm00011P&gna0002e0sx%>Dj)zL g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^05f5ADgXcg diff --git a/app/open-iconic/webp/star-6x.webp b/app/open-iconic/webp/star-6x.webp deleted file mode 100755 index c93ebd5db116f6c291673d1a68182d28fb8b18b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmV-s0h#_%Nk&Fq0RRA3MM6+kP&il$0000G0000l001ul06|PpNDu)401=0vCIFB& z$%bos8G?uius4_&*!ZvJ85~BE+csdd#fbjfg$+Hvf{6YzaND*~jNTn@uY5w#)FR}J zN66V*xT&gS4plO@DwkE2%wa|4wqmlXk~wUN%56(bR#h^GZKHDAHYTeonZu5ya@(;1 z_N&y~F6}5Wr-?{jys@%a(qxU9xTm;Xyf992n)r#IV&#`1(NlQma1%Mj?E)omiqpU$ z@F`XnJlH8_l1M62!Co3jJ+azI?a+X%F%GOk+*k$Z`gZp(!|C}nasRRa|NQ$Wd4Czs zKRbU?nnC{hr3w0t(fry3?L=6;b9l)sz@Z8?L7F%>+`s*TtbzV*2jhtJZ(b0;q5e%D z=N13}09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2vj2+;`x&pk|0q|l6z=|)!ir+d;{MIw#m*K-GFBe9-CJY!h zjM6e;ENj7#VZtOU2PUcxOc)MKlX74t%HVL`g70CE>7e*gdg diff --git a/app/open-iconic/webp/sun-2x.webp b/app/open-iconic/webp/sun-2x.webp deleted file mode 100755 index 7fbd59b2404ebcebe76981be1ba71a5f68239cc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWIYbaUIpz`zjh>J$(bU=hIuWD5W>KNvas1b7q!d4ls7?8v>XQB?Oct$Fd{viyEQ zK}r9A9b)GWc5?G5d*&9O<2X6-Uv+3hA-CXP|C+G6Ndm=6B1_d3S3H>hxcd9d9e1v+ zpII>D_6y5E`(pmB8KSSU-z{8qp}bf-ao?Kx!iD$d?ehDvsAW-!XcN~)4STH$pq)V1 gC`bTlBSwa~j9LOfR|(#*P+!8pT)^<}_nZR^00as|@&Et; diff --git a/app/open-iconic/webp/sun-3x.webp b/app/open-iconic/webp/sun-3x.webp deleted file mode 100755 index 15292675da02ab8f31254b08ad9f0ed790e51d84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0p~CRu`{KMUr=T%j|$#esWN&Z*f1sM-I;Sd5rwXIECUEM%;ZqZKOk` zJ;}|{QbgksMFx!%3o*RU^-~W($7t>?n=Al6j2*z)vda91v&BuWM{gN5fUD(Z#0Wsu z$7k#{4y@r3O{mnvX5Z_8me~hY9^?D^`xd`_U;O=l0{{S4P&gna0002e0sx%>Di{D5 g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^03(}svj6}9 diff --git a/app/open-iconic/webp/sun-4x.webp b/app/open-iconic/webp/sun-4x.webp deleted file mode 100755 index 27bece4ede9e2be32cc00e53cb38e2f2ebc322d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmV-M0lEHCNk&FK0RRA3MM6+kP&il$0000G0000V0018V06|PpNbvvw01+plCX%h@ z=MGxR>;wOsgD_-|Br9-PxAMsXETWCKLfXo z6eY(v^a>E`d8y##EHe8siA;W!(^OcZspqNWu{5hzf!UPJs#ahU`EeFC)^hsgoNBgI zAiI6{{X3>G8r@HEJcrP>zC`gES-6YpU|6$L=S(;^A@r&-T+ANMn(r}N-<8^CDNf41%2@i(*?x5h$d z+!PC$aZ@aO#yw&I$=0Nkt=H;g>xU&<00011P&gna0002e0sx%>Dj)zL06vj2jzlD) YAsh4pO9=$@fB;tkhyVco_|F=^06)oyh5!Hn diff --git a/app/open-iconic/webp/sun-6x.webp b/app/open-iconic/webp/sun-6x.webp deleted file mode 100755 index 7c96c83773e22fe511f92d8bf7d3c768df79446b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmV;b0agA|Nk&GZ0RRA3MM6+kP&il$0000G0000l001ul06|PpNK^p;01 z%zQw-?OO<*%|AFWiHOKFuuA{LT@2)*$7Gx1b>go`gCj|@mFO|AU9=T}6NjwtQ3dJK)t)F=0T72sfA>bNz4u40y zVbC-+I(~#LG)*Blu+TL9wBid}Xqt{%v4<@*O~LW^-Qz|0X&UWbpDg>lwnOp4;8AFc z{ND3mXNj7`6WXrSMY$mDOx10;;2;5{agWhMA#Q{n6`1k?uAPEx%%(Z^$P3leu50g+ z5308`Xx6p&NQNqv2F<$G9^uujYwZy}(yVLl5w-}lo3^Od0yE4poA+_a9n)0^dNE?d zE+d(iZd;CpW9c;ITv#TK%y29`y_@l${Mr>S3^vbqn!cZF;;-;UNwf;SD2Z0V7bVdu z_@X3Q1z(gztLT&8!!`O>yej|z09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2FF^Stcm;egsIRBs3tRglR{Vr3v2r@^Fp zQx;sy;L&+1D;{l{t1qQ27wa%{Q`THaZ0{kJbw7h>{(%zjobEM%GzjA|tDPl+LnB^pwU^wr+y6h|mOY<(|+McZ=S zo8VEt*!Wxolk~{=JwL+~$W-S3yCZ*Ef&+5B`ROByK2EbPquL>zF$np@GX^1_c*Y>) z6VDigeBv2{kWV~g5c0{N+X?x2&y(C)@EuBh@i|K+aGJRCqW_&zethp1{ST<#Xeq4Do&_|30cf^@ g1dujjWSGmS#lgVAAb7(701!tgEC2ui diff --git a/app/open-iconic/webp/tablet-2x.webp b/app/open-iconic/webp/tablet-2x.webp deleted file mode 100755 index 1c5910844f2e55016916e7f556c1fc546f7277ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmWIYbaSg>U|J$(bU=hIuWD5YXI2bwl1bFxZd4l~5)F!Qc_T0r)GJDR$`%HRD zN{I@mAKzZ}*gk_}Yp#ms?=x5Gx9@q_F8FtTgTV~B0}H~UZa@5*Y-{ftY!T};nMEXB zW%lune*3n4f29UA4``DDh`z+cFqctFfJ$(bU=hIuWD5YXJQz9p1bD;&d4kgytjJX{-&OlP^gV~{tnQ8m zC&iyHr%#X%QfSOo_Uw8#BlA=Lx61!}w=4b9SMcmPcjV;pwGFxlQ|<>|s^FLVy1w$7 z`J|1ZDVYaOX&mSJ$(bU=hIuWD5YXJ{URr1b9>fd4lg32uxCWUZnP;YU}swJGOUp zu(-#C*lZS;6#f5sqMP$0R^{yzMZW47^Irb{f9D?6v$_0&f5j)LxTRZ(I-Z>7cd##T zj%$q6xh1W3-`LqS6U($tT~+4YvYoND=Np%bTeW4to6LNdBJbF F7yy;^OiTa( diff --git a/app/open-iconic/webp/tablet-8x.webp b/app/open-iconic/webp/tablet-8x.webp deleted file mode 100755 index 02791a6a3d54444d595f9bf254a5fadb87b584ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmWIYbaP{1WMBw)bqWXzu!!JdU|F>K`+rVcmub4oy{S_D5RkDanSlZ53k5x(nanO$A%Gxj`S M`1fVc&IX`r09M~;$p8QV diff --git a/app/open-iconic/webp/tablet.webp b/app/open-iconic/webp/tablet.webp deleted file mode 100755 index 91f95fd3bf3da6ef61029e5efa7e3ca8474217d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|J$(bU=hIuWD5W>KNvas1b9ROd6NAL7UW8s?I;nk>(3MvbSvD) zyZAzPOOx58DYa>z^uL?;vnl;rzadw+&F{hF#?A*D8>9WEty+^=z4^7)w(~1Oq6`mQ zSrvYjU0|Q!4TB$|;Yxb0G2JJafF=X&RFDADMvM$|8MOp}b_?FHP+!8pT)^<}_nZR^ E03awfQvd(} diff --git a/app/open-iconic/webp/tag-3x.webp b/app/open-iconic/webp/tag-3x.webp deleted file mode 100755 index 66841b6dedd923eb9d25fd386b7d302fa9376b29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmWIYbaOkvz`zjh>J$(bU=hIuWD5YXI2bwl1b7q!d4lc>R`iNk>=d^-sA$#Eap1+C z^KG|pZJYWc(RM<$mzxi(o@&6MBXz%@-7~-D;PPK|XYOr_%$udJj2RNl*BN`vv3PJ| z*7SyJZ`2l;?LK81bZXsfYl)am?^vHPYAw3{N7(m$4#(60&gae5Qx&Ej>C}C04YU*J w8U-~VeTj)-E~AzNg9L-!M58_zl|_ouUzof(S-vzdgfn(9F#P**Ug`h?0IotyMgRZ+ diff --git a/app/open-iconic/webp/tag-4x.webp b/app/open-iconic/webp/tag-4x.webp deleted file mode 100755 index 2fd0a35a6bff6a5d81b77cab4c15376254fc9c79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmWIYbaT7Gz`zjh>J$(bU=hIuWD5YXJQz9p1bB1y|@#66FeEGg3cq3Gg_%OYLPb!)!B?Q}_QL;GVO~ z`JuC4CIFCz z%{dcL$J730Xb}+!PP}-G_X6qTpuv&bMvhdI!*(A3|F!GdDIfO~(SNgP+obZ|JMiL? z#SU_igB;|b=Ip7TWjgZ+ WQwoIifB-;C^UfJy0RHy~fB*mqv2zXp diff --git a/app/open-iconic/webp/tag-8x.webp b/app/open-iconic/webp/tag-8x.webp deleted file mode 100755 index ff65387ea7ad8aa94a629a52a5103e06be16080f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 336 zcmWIYbaV4yWMBw)bqWXzu!!JdU|ilM|PGym$1+kN?5to1`SK+q!(Y-*|i5#1zls_jX4n z3&vWkdu#P_l*p3JffF50|%&9|F@8~*P) zT~s%}KJHw8{BHm0Hu|rh78U>f>pHo}_&>i$B5Ne8>^F8VqTnn!1_oegDChzGK8cxO wE~AzMg9C%zLBF|fYRZemS(uV}SiUqc7%@!F?CN5lvF8E9zb|`sHUL!v0F4xfUH||9 diff --git a/app/open-iconic/webp/tag.webp b/app/open-iconic/webp/tag.webp deleted file mode 100755 index 6166da23ca3ee18fa9d0bcf25b29d019143ffce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmWIYbaN|WU|$ti6H@26$HuGO+Nc>9wC+Vr~{0t00(-b6tdW{$v<}zw=FmNyk S-mp+#!oXa>@bCAW0}KGHz9Uos diff --git a/app/open-iconic/webp/tags-2x.webp b/app/open-iconic/webp/tags-2x.webp deleted file mode 100755 index 09c199169e5f84a56d4951e9eb997f50757c717b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmWIYbaR`J$(bU=hIuWD5W>KNvas1bD;%d4lN+6ejUn{i;*SSilhJ;^Oec zb8m3fhAx$rSL^2Ss3@>;|8Q`)*3_|M)dN>{!N1`*w((vn<7s~|bxFvn#_Ol^XJjwf z+vXS7q%7YQemR+4^Lgg?47rBM!GF~m7=X4aNC53HVq}=hs3icjUGRp5`Vt1_0)~IT I=Nw=F07EJ_9smFU diff --git a/app/open-iconic/webp/tags-3x.webp b/app/open-iconic/webp/tags-3x.webp deleted file mode 100755 index 9a4425abe97f8d209d46d0a9ec4e394456c7ed13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmWIYbaUIqz`zjh>J$(bU=hIuWD5YXI2bwl1bE~Ed4l~57W9gk{d}Xyz^pK_gM;Pl ztdoL;_QsYGC%0WPpQm*_$_7y8b!L?hr9%I-(`}!%d zzDC`~MT=Lz`S?X=Q*1>)BlnJm!e>c~*=8Db+*0H8OP8x*m~oN)pC`~ZpgR=Qfb=CM phPjMd5)2Xyb`y>ITvQe*N`GPU=4AQOz!1*Z!NBnE$9bs(3;=U(MW_G( diff --git a/app/open-iconic/webp/tags-4x.webp b/app/open-iconic/webp/tags-4x.webp deleted file mode 100755 index 7a63a30a98f84690a82032a1d430f5fb39d59e6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWIYbaT7Hz`zjh>J$(bU=hIuWD5YXJQz9p1bB1+d4kIq2uxCWUevJjcm3+`>JdF1 z9!BCTBp&xKkbU;&fW@RGX6^05pQhJusF+ae_GNzJfi1ZXDP;xhHut7TDn`tYY-cNV zxEsK(>U->0nvf*J?L9szj4_{6mGbZUoK;Azv*HbMU&)-{{3OoDNi}J;%0h{KVUq%Q zqNOG^^2%x@IJa{}y!;@}!@vM^p@JIFJ(rjm<}zw2FeotCO*HCrQCXxY{e{V!ljTbT QLpUSQ!T)}ompZ@z09PDM6#xJL diff --git a/app/open-iconic/webp/tags-6x.webp b/app/open-iconic/webp/tags-6x.webp deleted file mode 100755 index c1c91efc0cb5fc149c09b21cb7074bd3224109ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmWIYbaUfiWMBw)bqWXzu!!JdU|}3|H$$7%0W2^Kw_{6y|%>S}(L(LN1 zt@1I4YSx-fOVvB_DSFLZ``5ONJIbnrc^BOJ=xWlC)vkV#Vbxpt5ay0;yNh`htV+90 z4=~v(MlMiS;r`N+65{{QlNIQ4pq~^pfV2=Z!(2u!0|o;IyOj>pTvU}6XFOpF=4$!U Tz~JEh`J7||!@utw4Gatbl^AWu diff --git a/app/open-iconic/webp/tags-8x.webp b/app/open-iconic/webp/tags-8x.webp deleted file mode 100755 index dc1eca5ca05e8387e3401f1ac6d650022cfc7671..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmWIYbaS&{WMBw)bqWXzu!!JdU|b0T<`IkL5Aos! zN=lo2YVs_f7HB!lIUQ3aBF`q{xoxe9e5dxO#vOP5<{N!_@-Hw&;9|XN-fgpOCH_`+ zf_DF$a;Lc6y7#m)<6-j?1xpXUNkGapXqVRMS9Xj|t`%FBC@<;?PbyHJbB+kN=%)|1ffx(Dja%NW-`;0vg82)|P Jv$FxH8UTsig?In} diff --git a/app/open-iconic/webp/tags.webp b/app/open-iconic/webp/tags.webp deleted file mode 100755 index e91dd4fc27493ed3945c2ce318f50e9a60a2f925..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmWIYbaSg>U|3Ps88A3(BT13^nE9TWng0(u|G?%? z8$?9^6J0Vp*K(f5P>gv?rJd;b8wY;NRF|yxrYh3EhP k09H^qAQ%7u05SmpodGHk01yBX*f=Mo00VFU{`;K30REMJCIA2c diff --git a/app/open-iconic/webp/target-3x.webp b/app/open-iconic/webp/target-3x.webp deleted file mode 100755 index 62181707fe1eee37c61ec279dff8644a56c886f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmV;t0Ym;$Nk&Gr0RRA3MM6+kP&il$0000G0000N000*N06|PpNM`{601=nMDw1R; z%p5uMhXwo_d;!o95!rO)pw9eU=35M83_c={c^At}Herg{MS>z35M$d`)g0X2AxPXk zXdHL=r~hKk*BT=FpK#`$`}4i#{iiHEGw(;b4sR*An=5)Q8*tvyG(K8+pTE%V(loAN zH))Q`a8)Lh(SVs*QG*aX!b57Ag5Ifd2nyc+Z1sH`fWi~%6}cmgGL#_h(63)hwo{Ku%sn-KthnECAGmqWbPP6Vq8cqNJ09H^qASM6+0MY^g modGHs02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&Uye871C diff --git a/app/open-iconic/webp/target-4x.webp b/app/open-iconic/webp/target-4x.webp deleted file mode 100755 index cdbd7ba4f7b0be7de441b2652666fa5c476cfd87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmV-I0=@lGNk&FG0ssJ4MM6+kP&il$0000G0000V0018V06|PpNbUgu01@xPxNRFr zBPDx37u&=3U*ViRL_`(|s`Ljd-Cf!zDLdU?s))&YNW9iFDyEps(mbg_4Jshkwyh?* zxVt-yySux)hvD|$M($4tln~MXghy<0_w1{0f1T}2L@`ET_m>_&+j)!#&G$LNnhU}! zf5|Z}vKTJE)47|iB?5M`Hupg1tps=egXX^D!;r7{Nb{D36S}0?3&S(APjeoGnWve@ z$R(N?sL-eO;8ZtnE&Fz(0_T9Ta$N7H(cqgEBNvZJkjyXp_2%!NjhpHK0XH*T^psr#t z@oQ=oYEY*;)Erb9P*<%;w0%wem!Jh|bAo#CLF@Eff&5QYC;CJ6px`k*jsnmW^&Q4G z^%#Ld>jS#}R{~J%h1!6fx2SzM<+YnX`+Btm=aBl#Kyx&U7`aR{4HLYeIf%kDc1Uv; zfRlZrd7AWL$UpT=^O}ac^hW1#zMcx&sm8(+o!26Uv*#S+EDf*VjKvXu(*cagZGF?@ zdn1D}BHgXiPs{#1-Ry+n0RRA2P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@ QfB;tkhyVco_|F=^065YNY5)KL diff --git a/app/open-iconic/webp/target-6x.webp b/app/open-iconic/webp/target-6x.webp deleted file mode 100755 index 5c7c5049f902f9accc407a5778a8a4dab7b1b8d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmV{Cej&H~RPiXkjYR!pxew$0 z^1Y5kC!pLi{*Pz|u(eslL^Q3!KF|#DujEs6*q+Z+uM4}Ryb|IkDr&&IGV=wd6;Y3f zH`F&wk2$(9Q)-Pe%{f%_nZv6>mo!e7`hl6z_``NFZV!E$Da?+#8&eag9#Oj{O!JqD zYS0%oUQj*ggYuh5v;yi4>QnO_)rOYT5Gf;S0d=UKBjrGQs*RKmwTB$)7*c0YNEMM% zq(Z1jg)wyog;WtKMJj}fRCuHuXiv3~(xLW{LmhWi8(LCBq>QKq)S-SBR1bQm{3a5u zfO>=a)O<`$pn638wqRPnR8)ihP@^ujgPGCaonY~7^^9+2xX zpgGo%yoqR+O=PxKwBZ%f`b2b}B^MD#yVcy_(>Gzh;Y-(TV2sneQ8wT<%+=8n$lsLDJ1 zV8PLWhYF@nK3O6;_E2^=V##P5rTjNm@am)Z`X?(%S}59KWv3|Q+%qS<-){!fweRVm z*}e~%bLSx6d7?GGSV7LpMNI3XgWP-C#``V`nD&^qJLGj}$xdAqG@Xo=Q`pyO87-p3 z(ukH8Y{4h>gFz|tNS*kwyis2|DCt~Lze4X)U!sC5>TSrWi0Z+C&D*%?#o2ew*(NtrD|yWNaAS;vK5&L|TPzlT(((7}KO20nC` zs*T?d%CQTz6tYmb2xUUb5q=s}`%po|f}sy}Kvl>0Ic4lZx&s#OyO1WP?Be@_@&c;M z5~om?ltau?tw07D_4`gx`<~zJQD;76ooZ&CGK9LJ`rL%tN~x})BFa{W@*dJlDL?D5 z)KkjTKt52OJW=jLZcuH)x<$1P*`|CPP&OfNDBqFOqr8S(rR;~40c4MI2RXZx?~noI z_=|EHGNufWGfx>oPE)26${J)wSwoIXnL)aglW)ozWJXy-j!T(Ax|EYI%4x`$avnJg zlo8}KWg1cjkUh#>rVdi1Obo)e2;gQTKM|-S36HKJ}LmS*M!8 zi1Gre!xAS@my|<%pHapxq&r~YUJcU3lwEw+soGF}$b#cJs6(n1{ER5a25K>6q46S= z2`Pv8J)r79`+XMZ%|V}0wejmEl-Uxrdzvxl>!b#~JfTbs{*I|e1{VK1r6s-cVe$S` z9YJ^z)uRKOS-*advhV2qs%2nvo~c3uxlMhA3a+WQpkJx49F%mfsb6666Y58UQrJ$(bU=hIuWD5W>I~Y0o1b74jd4lH`Y@4{m?6ls@?Si!vgaifI z+*hxAA!`3gfl#)1~LHcQjh@BMvM$|8MQbVI2Z(PSg0>yU@lJ$(bU=hIuWD5W>KNvas1b74jd4lE+3J#Jy={!d6E-V*kHwLPB z26ahrb2uE@|n{F*3|$)Di&NDR{#|eF+0|0mHxFa}F>70IyarWdHyG diff --git a/app/open-iconic/webp/task-3x.webp b/app/open-iconic/webp/task-3x.webp deleted file mode 100755 index de3a3534efa4ff847184fa9ca33cac1a37c4196e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmWIYbaOkvz`zjh>J$(bU=hIuWD5YXI2bwl1b7q!d4lE(7UYUpl@1=D zULtb0$irz8bNBIId|BPk>DJ$(bU=hIuWD5YXJQz9p1bEZ}d4lE(1Q?i1Zg4CSa@TWpQTP>O z(52$(C7jI2=rQBEmji>C+P1&d3#u(xUB1k3yuGdW#=_g*`OT8!Cp4bpx^lqv zj~^a!nx{^>Uc9i1XZ@;&wkPYiI{jOn8*qD0z^J$(bU=hIuWD5YXJ{URr1b8e2@&wHt)N*I*Ox;+$>YJWY(=KU? zEM?D0MOQ?`4mhp2?hwJ?z0mZe{9&1i#ru_ioj;L#+at?*&f9767VG+#WChvmPh8ip zcp>lBa@(xs#@2IZ-q&99>E5pG{J%pwcor&(tP*SaC2=RL%z69TbVjGwkqsBB#5B^4 zY$RIaZ|H}k2W0|NjgO<+*~ diff --git a/app/open-iconic/webp/task-8x.webp b/app/open-iconic/webp/task-8x.webp deleted file mode 100755 index efbe18839eb6356ca9f245683267da88c26731c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmV+z0q6cwNk&Ex0RRA3MM6+kP&il$0000G0000#002J#06|PpNV@<401-E!CIA68 zXk0S+bP^GPxo6-gw%xi>M-&R65VR760w@Jf9)Aq^=)SJJjp#puwr%764}qP8y!pQ3 zoXUtWy{{Xq30F!)m6}ndv`m%SF;`0C&Xro{gfpc-%vBPjL5w1!$S5&NjFL(&S&bzn zC6z3xxs&IfQ76wmqfVZCMx8wO49heW6-mPBFqF{`h{gSp;vOUxR;aKn7S&KxLoBGH zhQ>jr(7vI1);9bNU!`lBE%Rod_CEjs09H^qAT9s^0Fna$odGI906+jf!A_kGkTt>>`nJ0JNSPxFaXU{kO1m7Vq}=hsKvp+ V!610ULVXDXa{J$(bU=hIuWD5W>KNvas1bBo4d7|?dESsoe^5gpj$Idu=rKScZ zrtagG>NgnJdQ~)EB_I2qKP}L~<^M@G#Y4{~XJ$(bU=hIuWD5YXI2bwl1b7qxd4lB&1SY9GFG{eOl=AVPk-wlI zXX%gGAD418`=;FX)4RzcHff^DLvJSzDT4{CBK{scuv<+c&t3jveQWM*g_ja?hFrcO zw_fPG2F_MEypE|#__4ro@n;e#7FTabGCruh?^l;Ohx3nbm-)Xbm4Z@?3=BY*D5wGL sy~M;Ymr+ZCL4v_J$(bU=hIuWD5YXJQz9p1bE~Dd6L@~C@`Ejrrs~d^dkOAj-rwh zqx;5*1;YE4mNVRTn_K{Tk=;pHnTf;9%ZOl|(iv&M0M7llR6q_U(3B za93$_qwMMrJa)HV7@vIaVzXLxV>I_aSsiJ~U%vaY_m>*4eX(Cs_zEKf1JE4`YCu~r rF)_?#)KXwjV6dBL)aRnINKyI=lQ$>Jmj;G##tsICe?QJk9bfJ$(bU=hIuWD5YXJ{URr1bFlSd6MTBs7(^-Z2ZvuvEbgh`W-tu zI!uIY^)9-f)HU=wRH)*a6_S+p?SAmIsFDwzFYKAO_ljtqHIn(WXzRsGD~>)hE0K-b zr7$IJi_Q|sR>P=;9ap4JESBR9du5=^KVRb)?@XN{vHx;^ZtQ74#`mqtDZ0x~yL4;Q z)QYH?n_g~c?w!&3%fx50y=AHPGA0HFpeq$LfNm0EW|+&UWx!y-V7Jm?nv1Hk;*2Lu Y!CWn08WJ$(bU=hIuWD5YXJs3Iq1b8e2@&wZttjJYfw%0S^6&VquS zPd<9Pi{~kOmQAgeteNuvv%~LO*X^!#w>vCZ`Eb#r{k5gtVty|FC3p0S9G79dHGR%h znc}jS&sR diff --git a/app/open-iconic/webp/terminal.webp b/app/open-iconic/webp/terminal.webp deleted file mode 100755 index 67e7d1d85f4bcd84ad1d1a2a65f81eee5b8843ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmWIYbaQK9U|@ccRK zB;wdM%VW}_;$~JKg}0&&%sMreIUF~ub`}d>{NHosp`4)B!~JjESb0t6td<3u05n@c f0!SM%GR$Sv;$Yxl5WHcbzJ!6ffZ^ZoIR_X3x-%z~ diff --git a/app/open-iconic/webp/text-2x.webp b/app/open-iconic/webp/text-2x.webp deleted file mode 100755 index b68486d6fa311b13665febc0499f1147e873e00c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU|J$(bU=hIuWD5YXI2bwl1b9RNd4l;1R^+Of@2s`_a-Ye9LtK#2 zZUJq`KpZqvtvp*85n?eDyRW%xWvRTmr+ZCL4v_J$(bU=hIuWD5YXJQz9p1bD;%d4l-~Y7E`EJ6IMrn*BN+(bM5! zBI`Oo&N?9^`*zRs`8>K;E;tHli<(?;V~pnAlX}MZbjLq#PN5vXi(kK5E-+jmx1`Cm zBxu*ViFbDSY~ZWw$`ZP^WpdHqv%AeAfx&K~QJ;&-B1P#h XOx~OJ$(bU=hIuWD5YXJ{URr1bEZ}d4l^FXiU1&ABv))i! zS!q&Gh{RcgX~&Bq>kOIJsCXJ(J#Y5xUwQ2Bhsulociq{RyW(B&eaFlzd;3{`cu4%% zRJXU|{R@T{Oc!MS>};0I$WOYJ$Yqu!byl)trGfhNKQ8?%J$(bU=hIuWD5YXJs3Iq1bEB<@&unR(3o_k<9ES^_#+SRGj(=# zcqFAi9P853=D z(`J*%jCcRL1I`^Um>Sb~^O0*_pFu=~=9}87jWdlG-u=wNzyNfyf*#O)lb9LiGHN+6 rI55~9^qcFZro2d;g(;bbJVEmX3v#8GrHkKj=qq($Df(%p z(WPQKOPuRMgS?D`-hZ)o5gjl7v-E^I&*|*XGGJq10Gg#B0n};4$S{{ti-UoKLGXr! Q`Vt1_0)~IT=Nw=F0R4U-l>h($ diff --git a/app/open-iconic/webp/thumb-down-2x.webp b/app/open-iconic/webp/thumb-down-2x.webp deleted file mode 100755 index 549678278c5fa5185909871ae6918268ef20dd79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmWIYbaPw4z`zjh>J$(bU=hIuWD5W>KNvas1b8F@d4l&BteB|sbjHkw)z9xgI@QtP zGDB#>6q}QGC(1kTnKIGO;Sm>GuZrfZ^t6B9-hbJ|&ZYFro>Af9J|j;xtMyl3pRRqe zS8V<9*Aq71YY4mcs{Pm!PPXWuMz>9hszsi!b72J90JK{{0!SM%GR$Sv5&*hE@P>u@ P5(ef1hJU~39AE$dP5?i{ diff --git a/app/open-iconic/webp/thumb-down-3x.webp b/app/open-iconic/webp/thumb-down-3x.webp deleted file mode 100755 index 7f1f814ecb30060d9e707761db7051b636760835..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmWIYbaT7Jz`zjh>J$(bU=hIuWD5YXI2bwl1bDOpd4lo_S4>oSI<36_W%a+@c|9E` zS~dpO2JO7&$z*@{wuYX-Sx!-b2MUu^Twf*cOMjOCUyc8@ql3$TUbWoh+i%5hPqLYK z-L3h|XX`~V$?j)3uO+Dii3IjHj<(@a>N@Y=6?K}J$(bU=hIuWD5YXJQz9p1bD0l@&x-2Doj#Q-~aNYB+G;QPnx?r zPFzxSQBSG3BprX}-swOq?%eM?0u)}%`@tGMNo96eyzT96w!iP+Ew!z6{}P{gdmHcO z+x}IRE-lKQJF0a-h?ZatbD z8E~$^tZ=9Is$)NYW{L$fYpwT?zhJRR=~VxP$u$`gy=H;CTHRXM7BUCzne|rCbo=gI z|Ga=sWdQm@K@CV>Vq%!fsHMQ5z+gAgsLw@Zk)re$CT~ubFAWUgj2#RN|9+g8I=}z` De+6ez diff --git a/app/open-iconic/webp/thumb-down-6x.webp b/app/open-iconic/webp/thumb-down-6x.webp deleted file mode 100755 index 92eceebc51d675e54a661a7867f4e64f66bd4a3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmV-A0mc4ONk&F80RRA3MM6+kP&il$0000G0000l001ul06|PpNaFwi01+3$plu{a zH|_5GKYz5NM-dS@L{udhbP4%TuXEec!>qzfWiEM@h@oP=FlvUv4@i=1o3{3|ZQHg! z_xxvd5bsy(HzWG5ux;ChO6MtRC06=guSrL9aI>+e#wpom99daz+>)Z@Az*W3 zBw*p;KP&(M09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2N7NZ#kEIhc7*%D z*);A1_l>hT+&M0tpxGks3YY7k*$VC&m+zq2GVT(WNziNocZU1K*#zzY_kt_o8n`D~ zeVWyHn%3{@99e(1=#r~_inXOow)n}XU7 zJqoHj87PQqD^LU|J$(bU=hIuWD5W>KNvas1b8F?d4l&37%((!I+(LN&BcYGgF}ep z-;|locLc6=Dss;d5<0kGqKa$v`7?L^&DB#`udwKU%4D-PzrQXeKX-QCKk#&Y#f%!| zFYiwAYvq6CGWo?UnB)F}@9aXoPiYffm2y-3Ke;n70PR+g0NP~4$S{{tO91Ew!5bFp POBk37825; diff --git a/app/open-iconic/webp/thumb-up-3x.webp b/app/open-iconic/webp/thumb-up-3x.webp deleted file mode 100755 index 734bd2879f8a90baad20d4f0eb34d35dfb398931..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWIYbaT7Hz`zjh>J$(bU=hIuWD5YXI2bwl1bB1+d4l!}S4>oSnkLp4U-PebUQfpf zg{{^T+pay8Tr}0G+BqZXUv!wpN6z+%DYLIt*4^J``E&UXOL<0@FY$@DxAAValJA^u zXvyp3%3GbzXB^7AV6{%ZRuNj zu08xJyLBtq>f~7Cmo{DY+zbpr7b>U$-E)bFVJ@SV1cL;F-9)247nMbd(qEXoIa$6m QFoZJ#9sKXdd8q>o0E|jfA^-pY diff --git a/app/open-iconic/webp/thumb-up-4x.webp b/app/open-iconic/webp/thumb-up-4x.webp deleted file mode 100755 index f4051a823b240687823f5f3887063bd9138754a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmWIYbaVT`z`zjh>J$(bU=hIuWD5YXJQz9p1bD0g@&wx#ZkxEIt-4*^`N@~~Coflb zbm%Nxu%UaS{bH`zxAz@7%8zDlo~^XCaZ-V*=cdfFUpN1Kw>kFr{d=kQweDZ!b8l~3 z_*y0U|As>){l}+iuDp|=Ey-xT^eVeSU=QOir)>WRk{ruU#&NFQFXVhsNwfD;?h>zv zUGLO%wJIymmhRHwmUDR3EM!?8Iwz(2rq8wDyUd|Es~TSku1X628X6vNY98udTIkZg z?Qbv8tw3KWr~&CqObl}wwG80;n*^|`1lQk4F}mC~#CMZD;mjXu=w>Drfx}Q%14hhGWmD) zG`{^MR+;{)uha0VqguItxS_))4pUv@_P8J11FlEA WQwoIifB-;C^UfJy0RHy~fB*noriw!V diff --git a/app/open-iconic/webp/thumb-up-8x.webp b/app/open-iconic/webp/thumb-up-8x.webp deleted file mode 100755 index ab0c169c214ee965cb6f53a6c5b2b4a928715f46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 412 zcmV;N0b~ABNk&GL0RRA3MM6+kP&il$0000G0000#002J#06|PpNIwAp01@xvAd)0S zx~e{g2mfY!<6lHX_S`6{ z%!O68A*zY$(e4D5y$Re4YRZCk#gx4bjfrU{9RKQtlzRxBh-uEk%0kLNIr@dP;EeBS z5tUvYdqOIk)1-*%K0R$BT6315KV9>WXH!I5<~1##zCTy5;+Hx$w}Rp~Zhl2Yuk}5_ zh+;SNm@wK^og$WL8a=e+E{AK_89ti(91;3H=z^JjbkVGW`@+58D!5r(3++s_C0rlv zMzj^&0PP_~TNiDR_K>2jiq=oNPSKV{>!F>CwutMXor*S3`)!~d3HIK}`rL2V|3d%( z09H^qAT9s^0Fna$odGI906+jf!A_k1E~6F)0|$fP4GZ-p49o=#|9;OozyJX4rYCy< diff --git a/app/open-iconic/webp/timer-2x.webp b/app/open-iconic/webp/timer-2x.webp deleted file mode 100755 index c4c87edad0798b9caa9df5223a61feed9a48633e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmWIYbaVU1z`zjh>J$(bU=hIuWD5W>KNvas1b7?(@&x4%Eyz`IpZ=!y{hyQPVAnn`>oQ$AB6yqPBlByCCKa7d zVRbU8u@j{~hqtYZ$&5K=kUaNq@S9tK84L_SpD9QH{b9t&FqctF0O&)(8y4zI7?=wf K{{5bFfB^u^Vr<|5 diff --git a/app/open-iconic/webp/timer-3x.webp b/app/open-iconic/webp/timer-3x.webp deleted file mode 100755 index 8ab5bc31bf517d6473c91bd6f860f0aa91ef23ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368 zcmV-$0gwJtNk&F!0RRA3MM6+kP&il$0000G0000N000*N06|PpNE`tG01+3$plu{a zcgcKj{MpX4h=?47NL}nSi0qsE#%|BHXAyT7`vq4ctKC+yGa?+=wp}{6wr$%sa_2v& zmnQk0LPY-)mU8irF8WcE6mBI*@W{RR}aO!V*y=w4C zt>`Y3@Xn3)Pxagnb8rCw09H^qASM6+0MY^godGHs02ly1kur`%B%&c3^a4u>1oVIa OR{@9s0RH&T8o&Uo7NOk$ diff --git a/app/open-iconic/webp/timer-4x.webp b/app/open-iconic/webp/timer-4x.webp deleted file mode 100755 index 0f84e6c3ef5a44025dc8c10900df92436e08ec57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmV;@0WJPgNk&G>0RRA3MM6+kP&il$0000G0000V0018V06|PpNPYnT01;Qhplu^b zH%Vtd{($FLL_~h#PZ*iTX2%W_sW{Ba+Ih~ZMM-L%9mKW^JJPWnKx`yQkyOXbe9z3x z{C}`e{u{L2KhwJ=MD#!5g(fo5L?)WZL=%~ElZ$ui!||X1w+JJD@JIh1?w|+1`$=mG z=WrkXJfOA8K}!$k@MkeKy5DM-itVjkX!rXu2d^7Y@9VI(gU=GY+y^Dzhn2tJq6vSW zx(}=I#;^}R_e;5hHCi#*gfXIobr?r6lOsrB_q_`}qujzTJy5P7TPr5V&{xU^yv`Tp zDG%A8JVBR~Cfw1Q@>Pa5DGO*!$;17kESvbxQ(|aD$;16-67=EZDG_u*sly%pB@?(! z$^!aAnIXfR@(ewtTqDB``}LovP<28lY6H`+c0-x z${W0PK)tHKt6o#rE%@Vz8eC3mNNUr|fEtZpjRU%ILU%oa-F|1vTMKEq-ESJ-JIFLV zd0s@x;`w9%8vp=SP&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco I_|F=^0LWa?ga7~l diff --git a/app/open-iconic/webp/timer-6x.webp b/app/open-iconic/webp/timer-6x.webp deleted file mode 100755 index c541774ecc82e87dd64e6731479b63de3b3f33c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 652 zcmV;70(1RRNk&G50ssJ4MM6+kP&il$0000G0000l001ul06|PpNHzih01>~!ux;Bg zjpVHVf9&;&h{$6nQp+c1d{{y*wHU521Tq?ohYD;mXwRE!EzlU-?DB)@e%P zS3gYE0M_vb+P+IL4DFR*sT|S11H;^76_%lQI{3(W2S0tVv?4k@BiHwsj=~b8%yn

UgUO`$m`lVX3@PpEY5xU$b`%+dfry84e?#?A?2?j8Ju_ z;joyp_g;tXmTC$1@)3VK1F(%yoxmY z^cdv@Dxx%CTBFKZ$TcVtR7UY&dZU_0zC`IlWfTvlH_8SK9wme7Q0g%K=if0*4N3_0 zMj3^vwAJbDlwcaAyh2@4mQZM!asjnTIY*%j$_7-6l2%cmmQn&JFQTlWz&fSlK_60n zs&KA_lmq03sSeQwoIifB-;C^UfJy0RHy~fB*pgVk>L_ diff --git a/app/open-iconic/webp/timer-8x.webp b/app/open-iconic/webp/timer-8x.webp deleted file mode 100755 index a567e86617d70d605bc1345b4c1b8a9e97c81156..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 856 zcmV-e1E>5_Nk&Fc0{{S5MM6+kP&il$0000G0000#002J#06|PpNc;i-01?N+ux;Bg zjpT0o|6*rXL_{9^5qE++v6GKb!-H4stwmhii4(+z@x~$+L&Zf%kZfC3tNrBjAnxw& z?(PO8SYXe8Bz$ttz306VMD#!5t(uV;&B%;qWJWVGqZygejLc|8W;7$ycyjZKYJIXh z`9pT`()};pt+)LV_y=L_K5Edi1z)t;4O?>5q^%F0o~IGm7OFJ9z%yB$h3VfV%`0#Q zTdfV4dcSCHC2%G8JcVhvLi;UTBV|5@ungAd{ybV5@9WCiQnm{t;MkReX!jehv}S-s{+h3b^c#~X_mUR3Ujc_&NfWBAFAJJ zmyPLv&O1LakH2z_R#DSuQ}mQZ7QBQSQJW9#Pc?p?4?`p`Iyc;mto&wI<=1p?rWU zQx3qF`=VZktDmw6RijMc+oj%zGe=p6YEp*qy;EHWa0Zkus3v6y-v{MO1b0Z;gsM{J z;5(ow=HW>wt57A%e)#fbb}D`F^;4Fho++o{?YgM7FMHsfp?rcmq1;49Ta?F8Ym|@3 z=$Ud2YJ{?xAd`HHau_P8Q!XQuRmxfbeMR{hAcNqG@)C|2sySpZPc;QcSfwmQNF9Gu zRzkS8sP>WifNB%Yq(L=}lrvQI9NgPfjbWr3X;5v#6PKu}!$>hwr7A}7O;OjUV4iMJ zPr`pl$8H2uv`5E24ACnc#c3F3igdh$uoOyky)DFW{#$&ft5|@o?}yID&DwYYox=Fq z?Ju1_y|DI`=x?;?FZRM-cx47J1*8cNnR-7&%Bd1l6(^BC+N#rB-;9t+vQ?$2vYA6> z;q+yVp4#P9h-`!5wd1E!wb`zgo{ras1Ec}~09H^qAT9s^0Fna$odGI906+jf!A_k< iCL^L31Oj6W1oVIaG60ilii!uAyx;)-^t`!%00006?wo1> diff --git a/app/open-iconic/webp/timer.webp b/app/open-iconic/webp/timer.webp deleted file mode 100755 index 5aa4e223f8ab3626dd30433a92038d1226a192a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmWIYbaR`>z`zjh>J$(bU=hIuWD5W>I~Y0o1bD;)d6MY|H72RJ-Y)6!|B_#P&ebKQ z`6p+sV$IL_0g_H171TObY0Gh@M;~;Uv}DW6#vR&)%6Wo+`F}VvT=eaBjZobbuAjQ+ zW_Q>O>*8N2F?#17&NZ2w&yw7$*S7w2IM8?opv?*rK-!3rVJ@Q<2LlI#;0+7)B@E03 L4F7)5Iluq_CGt05 diff --git a/app/open-iconic/webp/transfer-2x.webp b/app/open-iconic/webp/transfer-2x.webp deleted file mode 100755 index 99470da4d91b288ed8024845b27586c320215fcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmWIYbaQKBU|=QV@P>u@5(ef1hJU~39AE$dBc?3Z diff --git a/app/open-iconic/webp/transfer-3x.webp b/app/open-iconic/webp/transfer-3x.webp deleted file mode 100755 index d9e023dcbec63b104f27d3c010304e4e3418c0c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmWIYbaPw6z`zjh>J$(bU=hIuWD5YXI2bwl1b9RMd4l-~OLCvQ==D2#@$q?kC8cSP zCk7tWnDka7Sa4#DGNYo$fg|EgA}R$v9MjaF+l#RZ{`D_9{FZew>rS=pr$RTSoe49T zdY{QSc7|fn3E3jW;{wa#cRYw^U;x^vpawMm5);E*MlA^j2?o1~Mtv?Sixj25FnM#b Td}&|^XY62L`1j+y)By$nc40Y1 diff --git a/app/open-iconic/webp/transfer-4x.webp b/app/open-iconic/webp/transfer-4x.webp deleted file mode 100755 index 9cc41a7a512237e95f7a37840cc7d0acc1e256e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWIYbaUIpz`zjh>J$(bU=hIuWD5YXJQz9p1bCzYd4ll{Dh^UpPI0;4=8l_?)spKdzE$1WV2n~>mIe{=r*~9X$rb0u5COO&&a?4v|m9DXxk+whPjMd3JeMi hb`y>ITvQe*N`GPU=4AQOz!1*Z!NBnE$9bs(3;=5SK6n5C diff --git a/app/open-iconic/webp/transfer-6x.webp b/app/open-iconic/webp/transfer-6x.webp deleted file mode 100755 index a1f0a7fff05f7c42d5dae135ea34d8445c9dc11c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmWIYbaT7Jz`zjh>J$(bU=hIuWD5YXJ{URr1b8$9d4ll{Dh^UpPI0;4=7yueOQhNXZ diff --git a/app/open-iconic/webp/transfer-8x.webp b/app/open-iconic/webp/transfer-8x.webp deleted file mode 100755 index ddde4084208dc4afbc04b82cd8568d62737b9afb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmWIYbaQ*fz`zjh>J$(bU=hIuWD5YXJs3Iq1b9pX@+9Xcs3i!MJ8{J^-PkW>sHDWt z8oVt1s7t~fw@Hg`B}d%*bJ+IH;dqz-qC0bMx4g)GzpwG~P0htu+od*I@pOc4UVEWx zX3W!)(?7V*23_b{>wKz=bE!>_~cI7?CuX3Ji#hw2Y&rkGzZT;j?IWq$T(7g(JK-W!TW|+&U<-p*; pV0X}OuA7?jB5@X`WFD3;4GcyMlQX-z*k|l{!0_+Oo}CRq)c{b1W8?q; diff --git a/app/open-iconic/webp/transfer.webp b/app/open-iconic/webp/transfer.webp deleted file mode 100755 index f6a270fdcef187e4b807af09a1d7454a4cc3e677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmWIYbaTsLU|RH`AZ^6RFqct_gMouV@P>u@5(ef1 LhJU~39AE$df5#tN diff --git a/app/open-iconic/webp/trash-2x.webp b/app/open-iconic/webp/trash-2x.webp deleted file mode 100755 index 6c4529889409a04d98d43402f787358a1ec09be7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmWIYbaU%sU|J$(bU=hIuWD5YXI2bwl1bCzad4l;1R!kHzJ9)92>C8uUrKTB@ zKW;o`Z1zpL?WZRxlGM?~#awZKiEo9`^)s{QJIi0JZ_T`IP*!fwXka@>d&NDK>Rxw= z1$CiMD_2kcRKvr=@#J7p@HU>6e0-kdC78W_SEI~W-L{WvdmfB^tbT|Sur diff --git a/app/open-iconic/webp/trash-4x.webp b/app/open-iconic/webp/trash-4x.webp deleted file mode 100755 index 9b96acc3576f9ab0b2673039214ab73f1bd15a5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmWIYbaOk#z`zjh>J$(bU=hIuWD5YXJQz9p1b9>dd4kIqEXb8MyZ%mIM|o!lhsTte z=i6Vr)XH=;n55$A`FIWY=l{o*Ha8#EUG%@}&bHh$-?sGBFh@6YnRr(J$(bU=hIuWD5YXJ{URr1b8e5@&vyxSkSBTRD52_9`R4_Gd^o6 zDS0;w`oA&bc*-m6Cia6he3FXh)d%nLivJfUDId5zzvG{F!EHCsKFK=97PpXZJBn8c z3qSeAJMY%dM;QWw8%>wEcu09`W@>5Lp5@Rv|F22+t9xCuR@uLeYeYUi=~oIdz8Cx| z@a@a55)T&(mEYQ6S#a*d_G8VV#S70XC^TPfC}d+Ser5IWfJHMy-+QKRN4@T&KVyLI z1o}Wh14s)oGt6bwGGH)Zuv_Uc%|%sNamEv-V6K)g4Ga$6pU+7qF#P+@(ZIj}0MEZ< A)c^nh diff --git a/app/open-iconic/webp/trash-8x.webp b/app/open-iconic/webp/trash-8x.webp deleted file mode 100755 index 2e8aca0cbcbc41b1ed95eabbae61ffc9e5101f82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmV-80muGQNk&F60RRA3MM6+kP&il$0000G0000#002J#06|PpNZSAa01-c-5RxS4 zWB#FHpyJ!3gAkqB1#fdie&cI9rS6py)*T6}{NDv8N6d;KUe6%aA>xnNPi5$Li zY8hWGwFYD?>`WeIha$Klv!xx17!{b`VSuQ>><+0rlQ*|R9~E(?<)}zDtwlu|_&C6c zJ&aZK_xOA32qUYS{2uaIFrw4nL%#9=J(1AgLq06b?Z!xv{vHfby}(`A+L5z6o~KI) zivR!s09H^qAT9s^0Fna$odGI906+jf!A_k8;0Ca5FFfO;V5m>N8?wn9Hce!N9>Fc*8<{ P2?KKh!@u8i4ln=!M0XJ$(bU=hIuWD5W>KNvas1bBo3d4kgyXiQpSR&6PG|Bpa}u#(b& zV8Q40vtK+&oy73iY?8=Vqu}TAZ{HdIQU2v`mYMwGhC9PKgWLc9t?=bCcoSXMbxWm9 zcjnHOw{$te*{W~6X{@*;3N#gHpMnICHezI$%cvy)v{&$kh58Z(<^qO)zvmoa005Sf BHbejb diff --git a/app/open-iconic/webp/underline-3x.webp b/app/open-iconic/webp/underline-3x.webp deleted file mode 100755 index f96e7e8f770baeab64b6d80a1b5f1a04c669ac06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmWIYbaUIrz`zjh>J$(bU=hIuWD5YXI2bwl1bActd4k&)XfT|xcx}h@V{(J85|fU` z3x1=twX?P1dv?8=@pIkh{?dmt<_Z2)pS{JfLW2+EVU) zD<|v{U737t@roHsb6B@td(~_@A|V nYDq9iFxX8r>T^+9q$vG`$(xhqO9MkVV+RAnzaQtN4ln=!8y7^B diff --git a/app/open-iconic/webp/underline-4x.webp b/app/open-iconic/webp/underline-4x.webp deleted file mode 100755 index 6debce603016edd6acc49cc77a8fedcec78830c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmWIYbaT7Jz`zjh>J$(bU=hIuWD5YXJQz9p1bDOod4lWX~RtGZ+skA9FqSXuD`SF zsnf%Wcg}u|k`!S*c`#MMuDmBdZc_b7M zbUI3r{ahCkYeVOhRYJ{-`+hl{t_IPzBwywp#E|T?lJehnJ{1 zyKp;=GVqpbkLTMX$-`>e$>JTuD|*!d00011P&gnc0000I0|1=?Dlh;r06wWemP92Z aA(-R>QwoIifB-;C^UfJy0RHy~fB*pO7IV4) diff --git a/app/open-iconic/webp/underline-8x.webp b/app/open-iconic/webp/underline-8x.webp deleted file mode 100755 index f61a011f2f424b3d78a095508faada8b5837c3dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQs4Nk&FS0RRA3MM6+kP&il$0000G0000#002J#06|PpNb?l@pphg+ zH*n94{+-UhiipU97;+~DX+T6Lv-K1HZsaCpd5uOb(lvt6IQS|Yxsjwuwam=S%+#~_ z|F3mVRrQ`wis(NBw{07Vw`bl#4zP$NpXYx(!xrPlio+JjJF^wJvC6Pr z*7AmI+X#h6xG=9=r}i{eRsu_H0Jz*UAGjE zmwWCTfXS;$9-ucOox(-EZeq%)a#XIT9I2(3y0t&N0!?}NTbR5v! zpUi4HafyetkkBF)*$f9}CXS7N?`C$q_|KxE`p-v3rYm+XP#@4l1qmQ+#K@bCAW0}KG$xhTj0 diff --git a/app/open-iconic/webp/vertical-align-bottom-3x.webp b/app/open-iconic/webp/vertical-align-bottom-3x.webp deleted file mode 100755 index c65375f233ff8ecf540376f8ccad98c45c90cdb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmWIYbaPw4z`zjh>J$(bU=hIuWD5YXI2bwl1bBo1d4m267UW7V%kQ^85!ltyaAJQ8 z)9hQfZvD9;sb7(h=IY=X|kK{_v5_O0R{llvOGNi diff --git a/app/open-iconic/webp/vertical-align-bottom-4x.webp b/app/open-iconic/webp/vertical-align-bottom-4x.webp deleted file mode 100755 index 281f1f8ab6008689b834e8e34df621a666bb96f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmWIYbaR`-z`zjh>J$(bU=hIuWD5YXJQz9p1b74hd4k~!R^&>r_@4jgByWTZ%M$x@ zNe4A1t#ylM=5t_CnsC4}S*OSU#-8UL|F}7Y&d9xdkdoQJe2Xh1e`#-EweTOg3;(=4 zPIl$&KmPdRlaE02fHo?RuZxu`5sl>Wlx&B^kmfgzl+gMs1S JkMmLo7y#NyIBNg^ diff --git a/app/open-iconic/webp/vertical-align-bottom-6x.webp b/app/open-iconic/webp/vertical-align-bottom-6x.webp deleted file mode 100755 index b61561b392e3dc31c29e7917e832e0448cefa9d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmWIYbaPw9z`zjh>J$(bU=hIuWD5YXJ{URr1bD;%d4ll^R^&=&oU9hF_fj^M5S)0h zTDzCiY-8@x%D8|72~7GE9p=Uc7Tw(#Zm+5QYyGxdX}3AS?h{t#p{?qN=Po;|WtR XSId_M1_$rY=Ohyt{(a|YU|;|M=VCc@ diff --git a/app/open-iconic/webp/vertical-align-bottom-8x.webp b/app/open-iconic/webp/vertical-align-bottom-8x.webp deleted file mode 100755 index 8fbd5c258fa404b71b8edd09d5f9c1cf5079b378..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmWIYbaPw9z`zjh>J$(bU=hIuWD5YXJs3Iq1bBo3d4m267UW7VV?Qie&(bU{$oT7g z54-C`71QO6>N`>)OD;P@4(ktKa{ zC))!HoyOGy&+4bzPrbOH<3+vS@y<5~MGsC*P@Qpkx-bI+&@=@Jpk5({K(mY(8Rjx-2>@*oykVifgn_w$;ot8$2N(c{OD)9! diff --git a/app/open-iconic/webp/vertical-align-center-3x.webp b/app/open-iconic/webp/vertical-align-center-3x.webp deleted file mode 100755 index 3c9fe16706570173aabba7acfd350be5a2350ecd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmWIYbaPw5z`zjh>J$(bU=hIuWD5YXI2bwl1bD;%d4lc>6mprDRsUOh&d-Hq+P+f> z(znB=u&-OV_d<)Rgp^bilVI`dw016~U+cH!O1Iq#lH;s7)g`RpK27g=&dc__Pafu6 zo-*U&mhJ9x+e|X66LmdJ$(bU=hIuWD5YXJQz9p1bD;%d4m267UW7VduvxeVe!U|9UU!s z$A2)gZOnC5Z023kD%j&9Fn#iLSzdvQ^{#oh&Au3}{(H=oD^yPCO2QSn$Jf41x|J~X zLuJj}`ai#O&aW*h-m=B~%xUZFx3|g}85n@JDyRYNxWvRTmr+ZBL4m<;qEVlV$|6PS YFHGK?EMFQJ!Wlal82J$(bU=hIuWD5YXJ{URr1bCzad4k~!R^&>rc)NS|4`bcrJwO*IXaH#;W`?J$(bU=hIuWD5YXJs3Iq1bCzZd4m26CiJRg$ambeuAjW{!Fkf_?|)a_F4Or>0D}xjEs;!5`PN zg1z?fpE{9lUf}tHxz<;?PbyHJbB+kN=%)|1ffx(Dja%NW-`;0vg82)|Pv$FxH8UU9aNl5?z diff --git a/app/open-iconic/webp/vertical-align-center.webp b/app/open-iconic/webp/vertical-align-center.webp deleted file mode 100755 index b72b946b6153c11dda0a343a748f98d300e5166a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmWIYbaTsNU|lYmr+XqXouhp3-u)o%mobpe$P3;005E7Dq{cu diff --git a/app/open-iconic/webp/vertical-align-top-3x.webp b/app/open-iconic/webp/vertical-align-top-3x.webp deleted file mode 100755 index 99d8e25f0fb0e4f0bfc33f862fb79b62a842199b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmWIYbaPwAz`zjh>J$(bU=hIuWD5YXI2bwl1b9RNd4m267UW7V%kQ^85!ltyaAJQ8 z)9qW^Qt$k?PqJNcpvtym>3)V_ajyx5w@m$6UB1M7Oh_o^TEFD>)G!V6&$lBxq!h3E zv^WZJ$(bU=hIuWD5YXJQz9p1b74kd4m26R^&>r_@4jgByWTZ%M$x_ zIwG!5`Y2euN;e6MFHwV|o2uRf+XVt>O2l(-^+| zs%zaA_Dyr2)6X4C&-rl!%>>$}pa!HbF)_?#)KXwjV6dBL)aRnINKyI=lQ$>Jmj;G# P#tsICe?QJk9bfJ$(bU=hIuWD5YXJ{URr1b8F>d4ll^R^&>r$lSmCN3hhv4vxnE zMh=aED$%|3*i{xZII$#Ir1z+n&pcb*^J4$4ZMhPeWv|4amL5q?-Q#tP@kL6*l`e0F zN*RSR<|%0m8)P1|FZKz2bK&>HFYjjJ$(bU=hIuWD5YXJs3Iq1b9RNd4lc>7UW7V>v!7z(cNH&px}c4 zLHZ)DldjBRlWE{wqoAVIa9Q@@^f8G9Zu{QI(JX9G|*0B*WHX#fBK diff --git a/app/open-iconic/webp/vertical-align-top.webp b/app/open-iconic/webp/vertical-align-top.webp deleted file mode 100755 index 5a7409c8d43df303e767ac515184f16517dabe07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmWIYbaN|VU|N`>)OD;P@4(ktKa{ zC))$D!$Lc_690w&43^aG>iGBE{AAp-E@ACP)rP(R_fj?n2B3Kg5pF diff --git a/app/open-iconic/webp/video-2x.webp b/app/open-iconic/webp/video-2x.webp deleted file mode 100755 index 9a397f799529f7c3e466d24da9cf47df25a4c0f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmWIYbaN|XU|J$(bU=hIuWD5YXI2bwl1bBD?d4l#1Y6+4udYPdDf(NsG8J#^Q z#p)iK{6kA#fw`v1=8yhzeu0bsLnb#DO!>=E9+?!GG*^XZ<>YJXn$BM8oHzRmrqAVI z|H}z93229c8j!xk#4wjpOM*dy!ET~apNq;OMd>e0-kdC78W_SEI~W-L{WvdmfB^v1 Cq%C*= diff --git a/app/open-iconic/webp/video-4x.webp b/app/open-iconic/webp/video-4x.webp deleted file mode 100755 index ccd6c059e3e370f5d9f27e7425d43117f90d0a33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWIYbaPw8z`zjh>J$(bU=hIuWD5YXJQz9p1bBo2d4lc^0uDt2#XXyj{bNaXaam>a zm~FAgq$OK8w|tQ0{@}#q^iAXL?$bQqtrz`Yc|3ehr0(N4Svx?`h)I=6*=vukpyWiM z#vTXW@U;(evbfJJi3gerv`;||NMB-Nn9Hc8z@WfjH_@oiMP-qq^cN;?PL?kX4B?C& N3=IE%oR>Pl005~BH^2Y@ diff --git a/app/open-iconic/webp/video-6x.webp b/app/open-iconic/webp/video-6x.webp deleted file mode 100755 index c467baf7412ffb10e63ec8cdbb4d96bdb582d384..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWIYbaOkyz`zjh>J$(bU=hIuWD5YXJ{URr1bEZ|d4l;1R`iNwSk7mu)o}cGqN5{3 zdVkw(NoMznDkpt63$p!fYf|9oP~hlNkZ7v^9vD+oa^#Em!*rMb!Mly^Gx`?4aoT-K zZVS6)V~>NIg7SskC%)KCT**89uXf8)+OV#`nU-XPXO1>?+n-YG@)yy_y zn`6BY0|U@q3K~FH2r)CvWz;fYFkrA-=`hVjRatSy6Q*FUmM;wq4&I;7NhUD-`_9q8 GzyJWM3`%MM diff --git a/app/open-iconic/webp/video-8x.webp b/app/open-iconic/webp/video-8x.webp deleted file mode 100755 index 22928fc3608a5122e9c54537d899f0ff498bbdcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmWIYbaQ*ez`zjh>J$(bU=hIuWD5YXJs3Iq1bFlUd4l~38k>0E%Ze5TJMjHoEupET zwAf<1pu63{6S>mv!Q0LM|34UcX_uzz>cnWW{+ zGtc=+Ii{W}bIK8q+g@V%hacz|2B13?^nmmvW`?R1E-jC|NB4 diff --git a/app/open-iconic/webp/video.webp b/app/open-iconic/webp/video.webp deleted file mode 100755 index 1a96def3bc71e8c20b0be76d268b9ebfd84074fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmWIYbaTsMU|49zhK(#J$(bU=hIuWD5W>KNvas1bB1-d4lE(H6|@-<7M9?FoEU6vHjZ* zySk(}vI^&1z3!2H%D-Loh&;FY_L}0)FU_P=)+iE1@G2Q kDi{D506vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0H9}Y7XSbN diff --git a/app/open-iconic/webp/volume-high-4x.webp b/app/open-iconic/webp/volume-high-4x.webp deleted file mode 100755 index 949f6f50451eb31d2e7520c82c85670e296353d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346 zcmV-g0j2&@Nk&Fe0RRA3MM6+kP&il$0000G0000V0018V06|PpNCp7_01*emIFh6` z%;G&SVo?4O9*QC&(&05^l_#FJsT)!dfrSE}#|uT2Yv2UD3@!Pg- zJ!A4u>u8<&2}Jatf!juk+?_pUc!aWPe}SrUNu?bsb-q&#(={o6pD$L+wMz~#zg;O* z_ooC#2YEM?!Fl!^$Z9Shz7VqS3fUh5!{rLv3hmm|h}r=#U-FC}Hp8A?fin;EHY6PZ zPcH5ytplI7fut5Nwe=Dc+f6d@;rd&XbPPOt26v$vZ@{S|%^@&bsIWZ(E@f*RhUzbv zTIDj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^04@pNT)z*+UT#x!BmjMk;q)@y}LdJ@Lb0IA14S_F$7sgu^zH6sez?nVFfP^N;Li z|8_apfU}BFT z83uWocq2%ZK|X(JXa3Lw0LzaYq^tGb_vI*Y$6-$EN8)m>Zehlm zsVy@jS(tOgdL5|1M#EiaCeVwd%i|lJ?BfWFcAdPWLl2~0Du)a_($tv6;gyxQYt`=# z-uu+Pt=JD6VZP7Zq*s6{OLQwoIifB-;C^UfJy0RHy~fB*n_K*j|C diff --git a/app/open-iconic/webp/volume-high-8x.webp b/app/open-iconic/webp/volume-high-8x.webp deleted file mode 100755 index 3b7288eb44b7a78f4dc9bf2daccdd2c0796d7cd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570 zcmV-A0>%AONk&F80ssJ4MM6+kP&il$0000G0000#002J#06|PpNZtVe01;QhsBI)k z(@E|9UH({WSVTlFOHUEQj@aKuDyN7&Vs4RR%wRu1CzkCclS3>ZMzU?%TFDR;gdILILGZVMh-I~H>LJ4wp-jrS{KSE@BP?Wi$82Q$dT&C2(WS;#}{nbJ4WOhp} z{y=f?D|P4Rk$E!HhlFi_Gp0OZ#H>GxW&0JPrdw`T*TM}M4>x($>9cTbFD zV0_%#g@N2g=(zck*H>7Co@LU3s$99hyo_w+6J$#Byk!d+tNbdEU7&W}Hi4iU4KE$Z zMdQ3R*(*TSL?}I}L)^8*^L7RDGX8H^{k`7qPwG%=9AVO>x$>7ajLhM}TJ$(bU=hIuWD5YXI2bwl1b8F?d4kIqteB``y7kQZ;ATNV1sCUd zGfn+}Djh)y5}uPL)gF{J`=7GWk*VXw{>Cl2L3s~~7oPTtUSSiocj2i3!@%Zz*7?6@ zul1gAH%Z$p*>sCZ;r{;r$G%sU#)r?RuZ dxu`5sl>Wlx&B^kmfgzl+gMs1SkMmLo7yxiMKnnl> diff --git a/app/open-iconic/webp/volume-low-4x.webp b/app/open-iconic/webp/volume-low-4x.webp deleted file mode 100755 index 0a48bcb2f58cca3580dff20a066acceb98df5238..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmWIYbaOk#z`zjh>J$(bU=hIuWD5YXJQz9p1b9>ed4k6mESo6u;)it;XVsDi@n=tV zbhJchAJ6@JcSWIB@mHqDW|Kr@jgz0wf9)vyNBLL2LhkGy?H_4MJA7=M76d6z^*EVg z>LD6r6|HOTD)U);;WqwOmh8NX*|WE0t=*b(?waiT_WJL8zwG_CyP`Op|BaEx)&J$(bU=hIuWD5YXJ{URr1bD0l@&wBd?#NYk*RK9vwC{H;|Lyw9 zm7N_Y8U$y(klR%7b5c;*-(C$*_1c9Nho-8WTxRi@s1*Bw9K@lV*})((Ms zwrZR3Njz(IE=g_r*|hcgmY59=8_u%re!v(W*RQYj9adG zu(yEyj-2@s*Dao+W^bimTJ&YNS$%(ecjb}N?IzrXVHe^y1dBb;IleW_0RRA3MM6+kP&il$0000G0000#002J#06|PpNX!5L01=nLux;B& zmEHFK|Hirf=kje45n1q06C!VQdz|XeYD74~`*N5%ppcbH;7XDtRT+4=KF8hlJ^KE~ z!wdb3=s$s^jVtk2uqV`!BpH`0SYb`;3FZk_+|UMs`GS?Uw4q>uVC5ZcELbR5^+22G z$+EiL-ztMkSM4TClKOd?W;vR=I5luB+ya;2j<`84qNO!jWU#5jI>nBGl4V>s1D*Ak zx}yoMvZq;yvk~nDcB=(A8{+uiU_QJVE;fY7895_%_UqS}iBY_-KC_ zr|ZNeZijQ3IU`PM|I>7F`BE?PqDAwbebP^>RzIK)pjiqMK-!3rVJ@Q<2LlI#;0+7) PB@E034F7)5Iluq_=FT8~ diff --git a/app/open-iconic/webp/volume-off-2x.webp b/app/open-iconic/webp/volume-off-2x.webp deleted file mode 100755 index 96ef3c6ae9cd0579f2652c240253c6e853b8a9e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmWIYbaSg=U|p3L4HA>UQ6^cA+*TODL%U;vt{AOSSR ch>>9~qm}^Be8C$Q>Pr}y3mE?Wo^yZ!04RedBLDyZ diff --git a/app/open-iconic/webp/volume-off-3x.webp b/app/open-iconic/webp/volume-off-3x.webp deleted file mode 100755 index 7712ec89a08de2e921f91c5f6bd187c3dc36eb7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmWIYbaR`)z`zjh>J$(bU=hIuWD5YXI2bwl1b8?Dd4k~!1Q?{uB6AtU)q7lB6ui&z zzh0oRZE6>Xn-bH^6%Oq7>(#2JuT%bI&sbJ2>0{#AArjTE=ox=eTubD{G7qJEpcz2Z v71V(AB_@Wsj9L;55)5_|jrv?v7AZ=9Ve;l=`O?4;&e*}g@bAZYsRIlE1THAo diff --git a/app/open-iconic/webp/volume-off-4x.webp b/app/open-iconic/webp/volume-off-4x.webp deleted file mode 100755 index 783a7b8ce3c4cb1db9a07086e37a7d7a52b89466..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmWIYbaR`J$(bU=hIuWD5YXJQz9p1bFxXd4l;1mgOp2+{%AflHtexNJ(je z*Yy5yDUB`_Qzxe-ij27t2b^r~1Qwq)zTffBzrp60P(+8G&C@|PfH0pCvS)?fag~^+fJ$(bU=hIuWD5YXJ{URr1b7qzd4l^FXiO4m|8g!#!{Pe6CCniw%yyt8m6};ic-Lez>3|=*?E7Y?#Z+GqDV&udU*pBNyk~XTEVem9>tZrqy=Mg42y}~r w29OqFW|+&UWx!y-V7Jm?nv1Hk;*2Lu!CWn08W;s5{u diff --git a/app/open-iconic/webp/volume-off-8x.webp b/app/open-iconic/webp/volume-off-8x.webp deleted file mode 100755 index 16fd13084178da2ca856856351ca118b65c3f2c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmWIYbaT7Mz`zjh>J$(bU=hIuWD5YXJs3Iq1bB1-d4ks$EbCQyZZ_q*>=b{2dG?E2 z1qCDXnob0*(eJ*%+{`1fed3Z8{WEudKL2&Wx9T95|C}nhF`fIH?AC0~?Otu76PLL+ zacbg8H))>Lyx!%vG9r>A$}XfGjyl}cz3oTx#P`2%S6^s4?LRAOj#?DM?oeJoW!;AR z3#67eiXF%gZVmS5eqg@($jWLC1_q!T74(2En#9a7mr=`s!GXcu@5(ef1hJU~3 H9AE$d_!1sg diff --git a/app/open-iconic/webp/warning-2x.webp b/app/open-iconic/webp/warning-2x.webp deleted file mode 100755 index c79d0e3e3adb4395b8e0c3b0ddb5f00d861c1d8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmWIYbaOk#z`zjh>J$(bU=hIuWD5W>KNvas1bDOqd4lc-4JIvd+0eHC$$Xte7ZXjyE;aqU8o=dq>UIE<}zvt09`70!$N%t19Jhxzu$8XFaQ9f C@J}!R diff --git a/app/open-iconic/webp/warning-3x.webp b/app/open-iconic/webp/warning-3x.webp deleted file mode 100755 index 6cabfe32c1fafa343b3d329a751510a6b119f7a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmV+v0qg!!Nk&Et0RRA3MM6+kP&il$0000G0000N000*N06|PpNWcI901?N*pphg+ zKlqIP#ooJ!h@9|81KJED=Nfdriy}`E^yxtT85vv!f+C0kh>>iYw&vM>@7uPq^3QA? z+;c*R=zo$e{`E7a=2AYPV)QG&^(Y@J?osT%Dn7I*?Ub%4-7CGOuvGRxrTI$v8I6-a z8OtAinobq4!T}AvHwCQl)F$6o#EKiT)}ta;yd_&J!Aj<&H!59_%>GsS8WPV{J|YZ0 zm13pO9ek(^E8F5HWmwrAR@EC;)jR(Bu6e-#09H^qASM6+0MY^godGHs02ly1kur`% aB%&c3^a4u>1oVIaR{@9s0RH&T8o&URlXEZt diff --git a/app/open-iconic/webp/warning-4x.webp b/app/open-iconic/webp/warning-4x.webp deleted file mode 100755 index 41d2a207249b2fcb4d965c8b6dc45a978dff4c9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmV-G0l)rINk&FE0RRA3MM6+kP&il$0000G0000V0018V06|PpNb3Lq01+3$pphg+ z*RycB0?__#7xpDB7J%OwgjveJc8!kH zkk*g!?fr+)Fxu#UOy?2(WdHyG09H^qASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u> S1oVIaR{@9s0RH&T8o&U{vyeFe diff --git a/app/open-iconic/webp/warning-6x.webp b/app/open-iconic/webp/warning-6x.webp deleted file mode 100755 index facb47777eea2a653d35ed20bb5a2ff0091c6c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 402 zcmV;D0d4+LNk&GB0RRA3MM6+kP&il$0000G0000l001ul06|PpNIL-l01?l^ux;Bg zlVj!oliTizh{%tdN0`$~sgxBF_lSslM8rKJ6KvK)DMP~gsZjA%|+S1XooSKMU(9jS=2^S!Y*( zma5)wiMzDMDxys)Dm>%PeFJw#3iHS?Brb6wwJtV+)JH{XPmBd&eaPKsWY!dz5>4V|y9umdHQf(@YEV>YC%#!R5no8D>MuZh7%y``=#?0D5J;=9M^ zkibNTfE7dp??f^Veaz3a{XwweHQ=#09H^q wASeI;01^WLodGH^05AYPsX&%QB_ko2{cl87WRQ3Ash$ta{zBuJ4Y1)a3V|Ji=$4q3Ksr;T(<#mvmi z%Aa(B3*jx=jUVPi#o6UMDrKanK&eAsPpVd=C`TQbxX!m<9v|J z?i>{Y*#`T~1+tfYn0xZQS6EN)QD`}gTaLoa4z@kl6ko8t=%=`~fN6ukW4S$#;CukX zfTa5lySW`iPY$ydvZ({C`YsT9tgd?zt}kKZ8pIx(-5JEELzo2Qoex+nY@v8^71iUr-u9!nmRI>@c3+Cf{|3s4YR{$)62kzB^0SQ^AwlSfs*b z9~n=L-Ye4SeX6ub8%LFyJ(5c*U62eS{Z5e1QoEi1#*fcR?<4>K09H^qAT9s^0Fna$ uodGI906+jf!A_k5~1>YY?n!i&g r!tc}lc%V@XKwA_ffV2@K!(2u!4h9Ye!5bFpOBk3782J$(bU=hIuWD5W>KNvas1bEB@@&vCR)R?5=8hw}h_z%1PX4ZbL zE-8*7j}jKORVDwL)4l(m^W{5k;$cUxe63lV(0U*-<#txl<97}$*ID{czus>UBi-?$ z{!x<4>n(3qnaIuFVYRw#UF_Y9Tklp_1a6eMArrBB|B078Pq;09D0W+yDRo diff --git a/app/open-iconic/webp/wifi-3x.webp b/app/open-iconic/webp/wifi-3x.webp deleted file mode 100755 index 00987815814cdd1ec9062ea0bcc66372f9981dfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmV+{0n`3cNk&E_0RRA3MM6+kP&il$0000G0000N000*N06|PpNZ0@X01=0xpp7Ku zclR0nyXDsq5os_9E=3TN8Ph?aIOt^wM`)#DXKnpCn(UH5ih( zsK(tU@LFrQ!0ky)Ab97SK`@Q!ISn=7vmU5wGcNp`Im0cl&+WJp08>}mk#ZCQt52*b zSgy;g;4x?{k;b77wpRnW&5FOvuP1oVIaR{@9s0RH&T8o&VZYJJ22 diff --git a/app/open-iconic/webp/wifi-4x.webp b/app/open-iconic/webp/wifi-4x.webp deleted file mode 100755 index 6b19ba3485af6cea29cd808ef1e8b38bf40874ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmV-S0ki&6Nk&FQ0RRA3MM6+kP&il$0000G0000V0018V06|PpNcaE%01^Meplu^b zcS(Ccf4sAYA|i4VCwnEurps{4AHJNo<;J5Y=3~rx;i`=cAltT`wz*+uhEkZB1^55| zO4U*M3m*0&9q7&Vfphs>$Qh3XZo(vMx0&H?57$t>fgqmew zc63jZekB8&E_X(IMduPjgZBKHgC{-Q(+==E=dp#L>XuvBR1d+eJpPnqcYb1oVIaR{@9s0RH&T8o&VZ7m6GJ diff --git a/app/open-iconic/webp/wifi-6x.webp b/app/open-iconic/webp/wifi-6x.webp deleted file mode 100755 index 5059d399ee6cbd88e0c01fab3b4be099cb785528..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 458 zcmV;*0X67^xk%7k`2si_K#Bu9L}x8^lMK4~tkpwrx9Ya~(O%Ol4+f zW{{gI(f$8_30aXfYG)DsPniAc^5NCu@yB z@En|ofMF@%qC-;~F1Bdego`bjHsPX8QyVUXWLU=FWS-$J9Ib0k^ctL%PNkNoMOXp= z09H^qASeI;01^WLodGH^05AYPsX&%QB_ko2}MQNk&F60ssJ4MM6+kP&il$0000G0000#002J#06|PpNZbJc01>ysplusL zzoa|apNWo)qaryG_M3E;~5%vn~g!UL*wcp z#?O7~yV=*vz1X~miO^hR=Uk@SG)RUqyrrg>yo!4;TRHt~QS*b5m#3opbr6PCXhSxs zXfI$K>vOVnJ_`rlL7G!%n0(+ky9Z~{Pma@=5=9RFcHlJf%|T}g)2q$15L|DSE}-%e zfC%B=#@znHSH9lipi|3z-tEr9ZS>)f+WbQluEc4chJ`a94#Y*B7R_59w!0Nt)=yxW zqIFroZn;a_P1xSj@*UP*k(1T8v-JfZA%AJ}{G-On<}B>jIBGpbp@}^HdR2tuT&ND2gypi;tpl$r>fOKM)=yhKeA z&U@5!;k-vp7tTx66yaP_^8)7)s{1Q&FR6S+03u06(nAnJa|@=HPx#Hr6c_!^++N&g`%#t4V0%@~SHtLIu1unA s`&WhAY!ZzDng+B-K>|n{F*3|$)Z$>^U=X}vp}vHHxq#u{?>Pq;0AtHAC;$Ke diff --git a/app/open-iconic/webp/wrench-2x.webp b/app/open-iconic/webp/wrench-2x.webp deleted file mode 100755 index 32d192ab9748613504cdb49edc9e11f9f4a68c74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmWIYbaOkxz`zjh>J$(bU=hIuWD5W>KNvas1bDOod4l2#H6|@-+pE*?qCvg2zK~r@ zNvT`r9BY!-pHmOrrWYBv$k|DlOj?rhe%{QP*Y|tXa0~tozp*Vhx%uTDmXO6i-yC?= zaAUTTOG(GeKYS|w&3qSPyIPpggLDeeRJ02 zMomM0VuLNm{##5>w~46%T>*5Tf&`E@Vq}=hs3ib&r{E0>^(73<1q}aw&pE&V0107F A4*&oF diff --git a/app/open-iconic/webp/wrench-3x.webp b/app/open-iconic/webp/wrench-3x.webp deleted file mode 100755 index 0e10c9e31781601ae73dc847e2a328513ba380c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmV+@0oVRgNk&E>0RRA3MM6+kP&il$0000G0000N000*N06|PpNYelS01@}WD3T;a zTRn?EIwR-b+@gnwNXOLV9qErX5epw;29gY!Hd8Z&Ply!^ao{kLY|}c=e&4oju@8m6<+#6=XWH zRq@6&$o0t$aYorQ1oVIaR{@9s0RH&T8o&Sxd3Z1Y diff --git a/app/open-iconic/webp/wrench-4x.webp b/app/open-iconic/webp/wrench-4x.webp deleted file mode 100755 index ac63015e26c6b3014d8da1b0af59d93ef30adb92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmV-c0jd5{Nk&Fa0RRA3MM6+kP&il$0000G0000V0018V06|PpNCE)>01+ReIFh7< zJ;9&$BL6g<7$PDKO$J4*0Rl~2bh3pqIp6)Xj;2Ji#R*Ntm$2ZljU+{yXJ%$*X8wcD zKdSqi@68~h{|?-?jU)@4d-oyozfgO=v))6YYwZDGL|+BQFeAoV_$f>a?M>H)>E_1U zG3)8Ghz(%40bG6CKl9+AZ{pj>7l5U{E{M9S;8_@NEcN-U5JcQ}~J-+gfD|00011P&gna0002e o0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0P5zD@&Et; diff --git a/app/open-iconic/webp/wrench-6x.webp b/app/open-iconic/webp/wrench-6x.webp deleted file mode 100755 index e7df6c15d9caaaf8a3df7f5aa027a025af1649e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBl3Nk>0RRA3MM6+kP&il$0000G0000l001ul06|PpNKF9%01@xOux;B& zjg_|dzx(g%Y!MOJaCAA1g@q{bFT|+(Qe)_m94Qvy2Bq@^Wn3&HTW>%_{~frEq(~|GnBfzUEIZua49_u_&{=V1Qe;OZV}n#>juhKL$we8oPh%WM zc^ySVyA>&yHMJX(c6;@1vPPT?QB$9jCu!;vCtpy2)gQlEz~yvh7orEJRbo!!DBOut zk3^erD!UR+p5sZ9?X=nDbd?v0He-0poYPf>t~q7rbhVG@ls$!9;vdA>F`lUYP4%e_ zws)JzeVitFDEQV8E|&#w^IejTI!5cM(bZGrazI{mcg3HofZl+ zH?AXu4^iY7Jdd)(Ktu%qC`NUmmlg!KoB_Zh)Kh?6aFcnlxCm}y_cfqwQf&4BIvZF~ zh8Cc*`;!0Ol(bF(00011P&gnc0000I0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C O^UfJy0RHy~fB*nrCACBV diff --git a/app/open-iconic/webp/wrench-8x.webp b/app/open-iconic/webp/wrench-8x.webp deleted file mode 100755 index bcdb39468f82ef6f7b630b245ec3e3b39ae6f0ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516 zcmV+f0{i_^Nk&He0RRA3MM6+kP&il$0000G0000#002J#06|PpNT&e+01^Mepphg+ zzti(f{@pH^h=^Q72?r@kNB(Bp**@0qxHiQtiwP{0j1ng$IIL|qZIm`tW@ct))c$J) zTIFkji2g%xBT11IxnAajM-XO4p*7q;K9BpUP8v(KuN+$6ApD%}hgDS{tSZ)JUFPJc zfyQ}l)YVq~i5*rqiif?TUTmuPh;TNWdI~jxfoiGFR%9 zM4_p+5;OCzWSXV@Zz&iW`Ai}r>(}87L{DZeQDEgC(gYkcbLc;b8FGOVb;%HPum2aW zU^HXqy+uT19RjihUX}er*)+=mH#jo>{I|U22*1o-8Bul@woa4IVzt?e`8lqT$^ZZW z09H^qAT9s^0Fna$odGI906+jf!A_k1Rsp7RF(*2;Buyr{qQc;d|Vh`NhHXZO6aes}Hn+k^JIcxtWl rPitH?WMp6f+Myr;G|`BWVJ@Q<2LlI#;0+7)B@E034F7)5Iluq_L5?y{ diff --git a/app/open-iconic/webp/x-2x.webp b/app/open-iconic/webp/x-2x.webp deleted file mode 100755 index 55349301818b9b07a8579f8dfb3ef083daf6e653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmWIYbaT7Iz`zjh>J$(bU=hIuWD5W>KNvas1bEB^@&x%8YD`+v#w%2@sGU-MfZ;_+yIq}zwhcAERZToz_D6QPSwd0?(P=rd^l3#3>wzjQL z$!sineECO>26Nb?OTQ&<%##zc?$(^fBMDBuy>|l!$sE*rqwcvCvVR-{?A+~ zYS=gVNi6I8?C83QHBmYb7kyIG%vFDQ?bXLki@CpVdz8AnKtJj%6VP=)cPmH$X(L94 Zxr|x@K=%vYuuxyZz+Axa@AsSo3;;%0Tu%T1 diff --git a/app/open-iconic/webp/x-3x.webp b/app/open-iconic/webp/x-3x.webp deleted file mode 100755 index 05dc77901286638303f33389dfc6d401f870ef5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmV-40n7eUNk&F20RRA3MM6+kP&il$0000G0000N000*N06|PpNZ$Ye01=15sEs5? zTebOk-2ccNe<~X}L_~(j{jnP2ABPMFPKFE_k1q}i9JZ09NPWzF&&>Qk`GL=;uCYnq>ftezK;mKC+KYA{)~DB_ik8B(e*cA-8lcW{%OQc#Dy5 z;jdLM2~`9BM)jVS)X<&k(*g(&sun|{)1QF&$~2%!9(r`($zFO)91FI2>TonOm$78w zS$w;R>S}DIHE^b?+Yrr%0GyfXIbAB|*L4@_F^b?o0p7}Zj24K_)X=R7i0}LtA-tG? zw9xzLV*mgE09H^qASM6+0MY^godGHs02ly1kur`%B%&c3^a4u>1oVIaR{@9s0RH&T G8o&TO?1R7n diff --git a/app/open-iconic/webp/x-4x.webp b/app/open-iconic/webp/x-4x.webp deleted file mode 100755 index 0bc1a55211d660373bdbc638fa0a0d531fb306df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmV-`0e}8dNk&F^0RRA3MM6+kP&il$0000G0000V0018V06|PpNGt&W01@xOpphg+ z*S*h765hc3H^;9bA~IDN*ThQ;_ zR*;X1X31dRKGu{y>o)SA%3mpaw`?2(g&Sp`u5YE8z^kauZy!K>r`+JL~+^Ye^Z~8rK2<09H^qASM6+0MY^godGH!03ZN9 ekur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&Vlq^X1e diff --git a/app/open-iconic/webp/x-6x.webp b/app/open-iconic/webp/x-6x.webp deleted file mode 100755 index 86e329e3ee7824df908555a443603660afe39f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmV<60U!QSNk&H40RRA3MM6+kP&il$0000G0000l001ul06|PpNQnUe01-#RD3T;a zTeWa^FH(E*mo-F01~0mFnXK%reCbDwRhrZ&(q-c zK}7!veVVOXPQ6yYMJDj%7>)iw#75WS1tPAGR>zR zB>$l0y1ORnv*{rX4o%W`%R?F+n>4?jmPf5`a>|9Q{D!R>N^;~lLKfaXJ zYuRUudCiYdkiC;tXAd@h!$Iy|R>Na1JRooX z{azA{FApd_Ykl1vtY2inS6q5E!N$J_l;2FS)%Aety9ss&TGR>sr8Is_a5(aSjgAS9 zC+chy-rmpzr!O9G{9=NH WQwoIifB-;C^UfJy0RHy~fB*mz``xJk diff --git a/app/open-iconic/webp/x-8x.webp b/app/open-iconic/webp/x-8x.webp deleted file mode 100755 index 1f1ee8fd413cec8162746afcdba75111badc1b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZENk&FI0ssJ4MM6+kP&il$0000G0000#002J#06|PpNaq0n01?l@xNRFr z6U#HR``UK4|H^VS5fQm4AzH<`c~t*LcyJPwg>g_;?lk!VVkFz9t#yrWThF#u{+V69 zb@%xJMD*W*+qRJeS+n=9_X_d`H1O03V8cT7MQUY>EHf(&(q14`v&yY3GNi`((#j$uYHY5o zEHb9X_R&fpn$QwOAfDQtD|H)HAelL~$ilHex^QffrDK6?Z`9}qW&-b&IJ2K#Z>drLn|@GZ6xF@iQKIo*{z;Acc6hs|MDvjFzNj&;tX6ji zYMhxd-ZwRtIq-0##Q72B{ZM0li7q9S3FrM%<5}Ezv;pb;$^F8yjey^g`$ZF_j+ma@ zFP_>61bw+*GE?e^8OZ&Tg^eh_WVv6uv=PO3B=^f!HUjZn?w7A^MDYp9{Vumwi$T7Y z`&~Vw1ugph0{{R309H^qAT9s^0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>I~Y0o1bBo2d4lH`s4+}v8B4}5B47M6#nesDD8R5*7)%+^C}~yU-K7gCB>H>-Skg!W$WjOtS@=>nr_4v zOn;((>Ocr@J$(bU=hIuWD5W>KNvas1b7qzd4ksum@ypKwDZQDGe$~G4xWh% zPfX}cP}%Qp-p=X7WGG=WX-P)k$C=0XUrHAexLDtsds`v*c!9^!7G`5@hi!}R&Ym5$ zv(CtQx!L8v2^$PI#l3eq++nLN=5UgW{Z!ev#LTDb4s+i-(0KfI_MZiRnSd5D0NtV> f0i=x>8Rjx-2>{(Bc*8<{2?KKh!@u8i4ln=!0WL$N diff --git a/app/open-iconic/webp/yen-3x.webp b/app/open-iconic/webp/yen-3x.webp deleted file mode 100755 index 8bb8471dc4a376a79cd86a9de63cc071d9220682..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmWIYbaQ*cz`zjh>J$(bU=hIuWD5YXI2bwl1b9pb@&x4u}oMWjgs*{jRgtJOyL$Vf00011P&gna0002e0sx%>Dj)zL06vj2jzlD)Ash4pO9=$@ QfB;tkhyVco_|F=^01xwS1poj5 diff --git a/app/open-iconic/webp/yen-6x.webp b/app/open-iconic/webp/yen-6x.webp deleted file mode 100755 index 7d6976c438ab7258616834c0e56a61b4f89e7490..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmV-e0jK^_Nk&Fc0RRA3MM6+kP&il$0000G0000l001ul06|PpNCE)>01>~zplu{a zm&|_e&mZiYyWnvddKhU3N%OM#}#AK_{xot{zz=1f6S6a`_uc7RcEo?3dV*WQCluJ!c}3 z5Om^(t)>~HBpEsPg1M#mAV~x{yQHZkwI@jkIa5=}oFp;ibh)EPl6>R@6|AU+4iZ7m zIinl07e@&}XXPp7tz9LAoS{-92Pu9czj_iJs-*n9#n0pK_TT>d2LJ$8P&gnc0000I q0|1=?Dlh;r06wWemP92ZA(-R>QwoIifB-;C^UfJy0RHy~fB*pFP>!_# diff --git a/app/open-iconic/webp/yen-8x.webp b/app/open-iconic/webp/yen-8x.webp deleted file mode 100755 index db2f6278d75fb4624368cdc188c6b1bc1e77609e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 436 zcmV;l0ZaZ;Nk&Gj0RRA3MM6+kP&il$0000G0000#002J#06|PpNLK*>01^Meplu{a zm&tvv{Lv1Kh{%CV7P^sxxRM(m>J|L)r+(qXhvs5#WG5>%OaV!fBt=e&nR%H(yiAhn z|KF0ba=KiBiW;|j7Sj8{1l1K7Q8MWWfRTEE|Tni8Y>`~Xxd29HP%6Z zXi7*>HYTDZqWQW)rt5EBk%$tBW^{lIhht*}1c|1f@q@RXjdc(vnkuB4F%bob=I0i| z9sgDz1&L;Q4CiEK%tt|@d38T{=iOKbIT1~R*U>WOqd3vn1AaXj%OMg(^Y??#m&PKI zt2g?K)CM)SHk;!lTmQTNM;!nF09H^qAT9s^0Fna$odGI906+jf!A_kZR;6X9aFre8A g5J$(bU=hIuWD5W>KNvas1bFNO@&uPMhuh?#} zf7j zN!!NnGynOVhhPX1{ZDwc;r(auc|WLPcW%S&RTewC-*o?UUma|91L|i~PleKr$uITS zftUNH9&_+ZPt;ciZbLmKv7LUVmasMIHxEk#Tl%FcFhgn#M*}yd`Y`uY3yub^N!`MH zQfCmip%dyICZHk^x1lfI3GUYQfRKwWu4I0X2i8ftyf0m@4&Gfu(^h z{7^;M74>q8?d&V{8imb%QLi=lwKv*z47T$}1@rbr{Jb*{=v~HPJ73&?oq)|Ox&20e z0k6`(eGfkG`sL`FKK910=wW~Sn)U$)Bo@>|761TNP&gna0002e0sx%>Di{D506vj2 cjzlD)Ash4pO9=$@fB;tkhyVco_|F=^0BxbA;s5{u diff --git a/app/open-iconic/webp/zoom-in-4x.webp b/app/open-iconic/webp/zoom-in-4x.webp deleted file mode 100755 index da3fec2d576647894a62dde5951256663e8b7238..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmV;#0XzOuNk&Gz0RRA3MM6+kP&il$0000G0000V0018V06|PpNN)iE01+Replu`P zo8IrmpY6ejh%A`t>ZF-dv8sp~Y9>25i54CTavElIj?rnVFg4 zV0O0r_vxyyXKqc1=zk(zz4{o(+34eH1yyQ?|IGXy)Uasq%>`e5N1&6eKxPR&vjt2Kc{b9aJ zg%%tQu2WDeuq)~go(BI&UBW)7EqEIIHuVl0Qyqv|s7H-pk*Y(?LJcayB2|Z&h3ZrZ z8&N%oS*S;iU?0>rJPm%EdV^h2kMK132kHX0Ld6ao4X#~KOPK#r&u}!jd+G=7fOd=p z=d>fZ+86Bv*;CFZOK|-_d+j0VJ=0H@;npLqeAyeen!~;4l4)3jTMw*SY{2!uST(M~ z)%O3G`8}R6{YScT`96x}=>2jTv!y9hR9p^BP<5@K3#hyiIX^@7)ql>y82|tP09H^q uASM6+0MY^godGH!03ZN9kur`%B%&c3^a4u>1oVIaR{@9s0RH&T8o&V7rpze- diff --git a/app/open-iconic/webp/zoom-in-6x.webp b/app/open-iconic/webp/zoom-in-6x.webp deleted file mode 100755 index 588b83a8383e708d9219b75d78e2927f70b90d54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 634 zcmV-=0)_ojNk&F;0ssJ4MM6+kP&il$0000G0000l001ul06|PpNF)LP01;opplu^b zx5;!L{)A@^MMUIhBMx?4PGOA5JKN#fWG~C1AMIRjN>a<8qD4rsZCh=d8z~&AF^8F% znZ?$f|9rCg-hcYh2qOBQXb47!_aE8#H~Y9h90mAu?;@v}pLg-6?jt=OI`9rpYkJkk zA^hSudcQ{S>1Q-6+G!8X{en(@wf-+aFx%g{tLPLxG{qV9_htxVdM~3+BiP{^_3^kLDj2(zWCHqvlFz}Vf;*K^ zPT+K@Zs1bEJ)?@@K2UALbBF2{MyICK>+m|Iewl}HOjYl~W1H^h0^IPG`hFe_bGNj< zBDhgXT^=vMm_I6L|HN>61)chNe>t9=iI?`CYBnZ|aC<3RNxN{PSGJP(;D*OF+sGpr zod$;)EvJSWIao zXr-Ie-9kIPoca=NMfd!lY~dFG09H^qASeI;01^WLodGH^05AYPsX&%QB_ko253fx0tlcIZksDFJ3Hhq8LHJwzaiwbtRd@%*=@) zj1DJ%92xKYC)2+7ec%5}oj^qY6G74Z$yM8>!#}BOUmed!$TwcU>(SG@TaS@jxsfs` zt(TEYq1k6}zmXvO+7C0iRb)&qnfW3?mf9P0c&#FQ%F#RQGQdqDbn2I8@9tosggagOJ@;iY^ z1+&zl{EcC(Q*FSeg1twz2IG$M10E{ak)ynYj(U^_@KC{XLfMU=<|&6Ic&Om1jwt7# zPADJYqk`|5@)+uh@(eyI_?ncLP;JUpNCrc0P(DF9%1KBDLrzmVsFbn<$zaF|WePQ< zj3F5enNSX)hLi~;gCQfz5mZW9hGZ~giLwXfC}$uU3^_&VpxTrhkPL=gqkMw8qHMuO z1z(-=66%=p1wJbHo+uBX=BdWup@OG8qMU__dX#7IP{DIV`3vKYvXj83f*pNQUcp$W zI)qIHdy{GjMx0W1D=?{GCXUiYu9{mU-~e^y~mI_CdXgIRrL{%#y*e8K#GCSb2R=KfiL zoz!~_?mjTA317LMGN^M_iXIu%g+E@q?b6e|S&Q(u&}I;VqPgSCCzlRK{h#*r@q7eX zd|?Q3Exj@T`Ig`5N6wW`dXabai=GeUUURfJkpK7(t!w;?iBIb52>+ze?DGGQ4g3WF z09H^qAT9s^0Fna$odGI906+jf!A_kJ$(bU=hIuWD5W>I~Y0o1b9ROd4kUus7z9MZhkSHbMHm-`sYeY zMG{YcYKUw+(4W>=D`=3R;u(0~_OM}d{o?;hO27OKJcDzOC)AWn`P@1hDe^C&D6(x% zu^w~zfB);{wNZBh%5GRN&yPLJ$(bU=hIuWD5W>KNvas1bA!)@&uwck-4!6W$BUnBqj zs;4`P4bSbHGVRsmq!U(hHNO1*Z-O-5pJsLQ-Y0uvp1aSvJ5F&t2Aw||u3R}N=<`p} zl(>+4RXtj>#S6C;G&F{9>H%@P|vR)l?0+^>Nybu$rY=MJv9Xow=@|Xj^~%-y0#k wSNV%8-7^iM|I88vx*6yj1qmQ+#KPr}y3mE?Wo^yZ!02)4Iu>b%7 diff --git a/app/open-iconic/webp/zoom-out-3x.webp b/app/open-iconic/webp/zoom-out-3x.webp deleted file mode 100755 index 5e8c5096b918c203323f6dd7465c3e4b9847e799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmV-)0gL`pNk&F&0RRA3MM6+kP&il$0000G0000N000*N06|PpNFV_K01;opxNRFr zE9aQkp0#ZMwKUyZ?Un<4*|@{ZBYb-TjC0vF{Y&om$X6OTwf1Mf;ETX9KRLL4EhiF<-ng_@RCq zaHPJdV+zjPiTX^yUQnkf-0?Ftg;k<{((uatPz9J>st@lW)rPsJYVfX7TbLiz6GS)k zK)t~6%nmhz_ke1_EK}5kyuFUVN=)f~rE>yDp}l=GK6dSV za84&~hE{aoc6d$efPX|L)FBA~09H^qASM6+0MY^godGHs02ly1kur`%B%&c3^a4u> S1oVIaR{@9s0RH&T8o&TMRibGC diff --git a/app/open-iconic/webp/zoom-out-4x.webp b/app/open-iconic/webp/zoom-out-4x.webp deleted file mode 100755 index 689bb4477fbcdac39e42f8e735900f3dd8d668e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmV;n0ZIN+Nk&Gl0RRA3MM6+kP&il$0000G0000V0018V06|PpNMQj001+Replu`P zo8IrmpY6ejh%A`t>ZF-dv8sp~Y9>25i54CTavElIj?qnVFgK zV0O0r_vxx{$b^XgC*swskFlSPKCV_!(m4EQ;_sk=+`>0AUqhrf9YfE^ts}MRY18ZV zHk$qIhl=Lc5idB}O&d}7k>-X78{d@QLGrMsJ{t%QX}icA()JPjQ@6-IQGb}PQm%t+ zucB69SJWK}9;r*%2epNQZR#C1rg{*Q(104jJk^Algj$q`d8!F92{ox2HlhX)lhA+~ z!9J*M6l_y(uq)~j1rO8(Y=!bYWV;o$g!v!!jO;!2gW!O6jLbRh2tnhEc7o(7=aVG_ zLq~fZAR0U~oGv3+_q6(DZ?V%}+Dj)zL g06vj2jzlD)Ash4pO9=$@fB;tkhyVco_|F=^0EraBumAu6 diff --git a/app/open-iconic/webp/zoom-out-6x.webp b/app/open-iconic/webp/zoom-out-6x.webp deleted file mode 100755 index 5241d92f2873a8c452ef7f6b608dcdf8a0de944d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 610 zcmV-o0-gO*Nk&Fm0ssJ4MM6+kP&il$0000G0000l001ul06|PpNDKl101;opplu^b zx5;!L{)A@^MMUIhBMx?4PGOA5JKN#fWG~C1AMIRjN>a<8qD4TkZChz`1F1tBue-au z<8bFcpRT_5KOaUA(f>q^H#vIvOv=CH^WkXXq4D4{r8T|iqf!5f4v#%J`)3uMsuLe> z;X9q*0=NtlS_|6a0qTbtjr4kB(StWT+`cbpWCPTN3H8sG56kp^LLCRN`|s2zUDV86 zQ@{DJo>Ap%aM&!VPGIX-lwu60)sj;6V0ofihvO#IBg_HS8JusZ`Y6LYalo0Ww2Lp*|@i2pu3p$_LZ~WfzUMDR)pult(nW zr|d&bDCH~~Oc#_9l$TPD&|r@eb)YXP=^UJ=BFZU@KGiLpL~k5oHw+@-pMrB_j^ z4LF@qzs|#QLRIa-VTb0|0!;sn`e7b5b9c0T2QY(}IzL%}W&Sv${WpX;$Y@kA2P@(1 zOt`%NT(LGF2}YxP$+NZ`PoB@Jl;d2qRk2#!^g6gjV_~&26+ZNU5*TR`9_8Xd8b309H^q wASeI;01^WLodGH^05AYPsX&%QB_ko253fx0tlcIZksDFJ3Hhq8LHJwr#bIbS0U?%*=_| z4m+HDJCff{D!;tL#7PxcSCq9)?zxv z)grv)>LWUjY7w&U^qI+QBV*KN=2nC(m3Ml0E5m)kFm;m9!OX*T;g{Co{n=Upf5PJ8 zZml<^bubUNilOcGAcD1gX=pQLxJ2)?d~G573X2EQB8M|sZIS5z@9Ty<2_`k()N^teVclE1?Q6~t-U<#Em|Hba4Ov~ z?X>`F^hV3*I*-)oGG_W)5!SMyEom&lx={P2(?wbH1@STUl5?ZGY4Gs|@SB zq5tm+tmQZQH?y#YE&A`z!M<(i{VNB1R2|Yed8At%X~k+xr@>7jc%oB+^l;}cVM=nl z6X0*IM<+N1E0^tO6Hlh2ey@AE8bIb>=>o5XH#)#?@q_8`T>4@ve3!qO@(J%1L;D{5 z&-Q8S;$O^tQFjCUlUzOF|DSvK3jhFCP&gni0001z0|1=?DnI~006xJ^okk`jq89`L cV+;iJfB-T8lWB^I2bjFz0RHs6xqtuw0PpE+E&u=k diff --git a/app/open-iconic/webp/zoom-out.webp b/app/open-iconic/webp/zoom-out.webp deleted file mode 100755 index 61bc14b7a46fe52b1df6cd959507b5826d2b824f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmWIYbaR`*z`zjh>J$(bU=hIuWD5W>I~Y0o1b9ROd4kUus7z9MZhkSHbMHm-`sYeY zMG{YcYKUw+(4W>=D`=3R;u(0~_OM}d{o?;hO27OKJcDzOC)AWn`P@1hDe{j&@AQP? zbEyyB{eSsuoqxCVDL(1+2gTfyK$C%XDo6lnBSwa~j9MHF91MatEYz1UFc&cV`#t9X F0{}3~Hl+Xn diff --git a/bin/deploy.sh b/bin/deploy.sh deleted file mode 100755 index 37ca05b..0000000 --- a/bin/deploy.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env sh - -# Run this script to deploy the app to Github Pages. - -RED='\033[0;31m' -BRANCH=gh-pages - -# Exit if any subcommand fails. -set -e - -# Check if any changes are uncommited. -if ! git diff-files --quiet --ignore-submodules -- -then - echo >&2 "${RED}Please commit your changes first before deploying!" - git diff-files --name-status -r --ignore-submodules -- >&2 - exit 0 -fi - -echo "Started deploying" - -# Checkout gh-pages branch. -if [ `git branch | grep $BRANCH` ] -then - git branch -D $BRANCH -fi -git checkout -b $BRANCH - -# Build site. -npm install -truffle compile -npm run build - -# Delete and move files. -find . -maxdepth 1 ! -name 'build' ! -name '.git' ! -name '.gitignore' -exec rm -rf {} \; -mv build/* . -rm -R build/ -echo "now.ens.domains" > CNAME - -# Push to gh-pages. -git add -fA -git commit --allow-empty -m "$(git log -1 --pretty=%B) [ci skip]" -git push -f -q origin $BRANCH - -# Move back to previous branch. -git checkout - -npm install - -echo "Deployed Successfully!" - -exit 0 diff --git a/contracts/AbstractSubdomainRegistrar.json b/contracts/AbstractSubdomainRegistrar.json new file mode 100644 index 0000000..98ec0cf --- /dev/null +++ b/contracts/AbstractSubdomainRegistrar.json @@ -0,0 +1,8383 @@ +{ + "contractName": "AbstractSubdomainRegistrar", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ENS", + "name": "_ens", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "DomainConfigured", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "DomainTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "DomainUnlisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "NewRegistration", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "RentPaid", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "TLD_NODE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "migration", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "payRent", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address payable", + "name": "referrer", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "register", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "registrar", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "registrarOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "stopped", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "rentDue", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + } + ], + "name": "configureDomain", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "stop", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_migration", + "type": "address" + } + ], + "name": "setMigrationAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "query", + "outputs": [ + { + "internalType": "string", + "name": "domain", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rent", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_transfer", + "type": "address" + } + ], + "name": "configureDomainFor", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ENS\",\"name\":\"_ens\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"DomainConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"DomainTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"DomainUnlisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"NewRegistration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"RentPaid\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"TLD_NODE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"}],\"name\":\"configureDomain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transfer\",\"type\":\"address\"}],\"name\":\"configureDomainFor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"migration\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"payRent\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"register\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registrar\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registrarOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"rentDue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_migration\",\"type\":\"address\"}],\"name\":\"setMigrationAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stop\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"stopped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"configureDomain(string,uint256,uint256)\":{\"details\":\"Configures a domain for sale.\",\"params\":{\"name\":\"The name to configure.\",\"price\":\"The price in wei to charge for subdomain registrations\",\"referralFeePPM\":\"The referral fee to offer, in parts per million\"}},\"query(bytes32,string)\":{\"details\":\"Returns information about a subdomain.\",\"params\":{\"label\":\"The label hash for the domain.\",\"subdomain\":\"The label for the subdomain.\"},\"return\":\"domain The name of the domain, or an empty string if the subdomain is unavailable.price The price to register a subdomain, in wei.rent The rent to retain a subdomain, in wei per second.referralFeePPM The referral fee for the dapp, in ppm.\"},\"setMigrationAddress(address)\":{\"details\":\"Sets the address where domains are migrated to.\",\"params\":{\"_migration\":\"Address of the new registrar.\"}},\"setResolver(string,address)\":{\"details\":\"Sets the resolver record for a name in ENS.\",\"params\":{\"name\":\"The name to set the resolver for.\",\"resolver\":\"The address of the resolver\"}},\"stop()\":{\"details\":\"Stops the registrar, disabling configuring of new domains.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol\":\"AbstractSubdomainRegistrar\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol\":{\"keccak256\":\"0x956a877538a83f7f4479a3e98d0918cfd1834440329780f67f0cd9ed399fb488\",\"urls\":[\"bzz-raw://47a2599288ae69dc111e7d32170e1aebb73e12747d85bd577e766772aed88577\",\"dweb:/ipfs/QmPXVqDeZXnYr9DW63YH4yDJVwMi7F38uEMTAnX5BTKH2A\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol\":{\"keccak256\":\"0x32eb0addc992b12a37b1fa94a5666bd540037419a3c02d2ba7537b556503d810\",\"urls\":[\"bzz-raw://c7da50663daa8678c844584ca7cf45edc0cf8139686051e1aab079c94027bb10\",\"dweb:/ipfs/Qmd8s5aQg98KyXXn4tEqyFDnTozwRQEBChZxWvwEGu5QJi\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol\":{\"keccak256\":\"0x4da4417de1daf1d66ee092b3cae0aeee2b5c591bfe881b006f80d2c4e582b790\",\"urls\":[\"bzz-raw://8b0c70eef6d5b9d2d6cda5b0849e2d6336ad395616e90673e61c5a73be66c29c\",\"dweb:/ipfs/QmYZWJDsgw284zSRztKu8jT5yPLPU7ySh9i3agWsnRd9Zw\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\nimport \"@ensdomains/ens/contracts/ENS.sol\";\nimport \"./Resolver.sol\";\nimport \"./RegistrarInterface.sol\";\n\ncontract AbstractSubdomainRegistrar is RegistrarInterface {\n\n // namehash('eth')\n bytes32 constant public TLD_NODE = 0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae;\n\n bool public stopped = false;\n address public registrarOwner;\n address public migration;\n\n address public registrar;\n\n ENS public ens;\n\n modifier owner_only(bytes32 label) {\n require(owner(label) == msg.sender);\n _;\n }\n\n modifier not_stopped() {\n require(!stopped);\n _;\n }\n\n modifier registrar_owner_only() {\n require(msg.sender == registrarOwner);\n _;\n }\n\n event DomainTransferred(bytes32 indexed label, string name);\n\n constructor(ENS _ens) public {\n ens = _ens;\n registrar = ens.owner(TLD_NODE);\n registrarOwner = msg.sender;\n }\n\n function doRegistration(bytes32 node, bytes32 label, address subdomainOwner, Resolver resolver) internal {\n // Get the subdomain so we can configure it\n ens.setSubnodeOwner(node, label, address(this));\n\n bytes32 subnode = keccak256(abi.encodePacked(node, label));\n // Set the subdomain's resolver\n ens.setResolver(subnode, address(resolver));\n\n // Set the address record on the resolver\n resolver.setAddr(subnode, subdomainOwner);\n\n // Pass ownership of the new subdomain to the registrant\n ens.setOwner(subnode, subdomainOwner);\n }\n\n function supportsInterface(bytes4 interfaceID) public pure returns (bool) {\n return (\n (interfaceID == 0x01ffc9a7) // supportsInterface(bytes4)\n || (interfaceID == 0xc1b15f5a) // RegistrarInterface\n );\n }\n\n function rentDue(bytes32 label, string calldata subdomain) external view returns (uint timestamp) {\n return 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;\n }\n\n /**\n * @dev Sets the resolver record for a name in ENS.\n * @param name The name to set the resolver for.\n * @param resolver The address of the resolver\n */\n function setResolver(string memory name, address resolver) public owner_only(keccak256(bytes(name))) {\n bytes32 label = keccak256(bytes(name));\n bytes32 node = keccak256(abi.encodePacked(TLD_NODE, label));\n ens.setResolver(node, resolver);\n }\n\n /**\n * @dev Configures a domain for sale.\n * @param name The name to configure.\n * @param price The price in wei to charge for subdomain registrations\n * @param referralFeePPM The referral fee to offer, in parts per million\n */\n function configureDomain(string memory name, uint price, uint referralFeePPM) public {\n configureDomainFor(name, price, referralFeePPM, msg.sender, address(0x0));\n }\n\n /**\n * @dev Stops the registrar, disabling configuring of new domains.\n */\n function stop() public not_stopped registrar_owner_only {\n stopped = true;\n }\n\n /**\n * @dev Sets the address where domains are migrated to.\n * @param _migration Address of the new registrar.\n */\n function setMigrationAddress(address _migration) public registrar_owner_only {\n require(stopped);\n migration = _migration;\n }\n\n function transferOwnership(address newOwner) public registrar_owner_only {\n registrarOwner = newOwner;\n }\n\n /**\n * @dev Returns information about a subdomain.\n * @param label The label hash for the domain.\n * @param subdomain The label for the subdomain.\n * @return domain The name of the domain, or an empty string if the subdomain\n * is unavailable.\n * @return price The price to register a subdomain, in wei.\n * @return rent The rent to retain a subdomain, in wei per second.\n * @return referralFeePPM The referral fee for the dapp, in ppm.\n */\n function query(bytes32 label, string calldata subdomain) external view returns (string memory domain, uint price, uint rent, uint referralFeePPM);\n\n function owner(bytes32 label) public view returns (address);\n function configureDomainFor(string memory name, uint price, uint referralFeePPM, address payable _owner, address _transfer) public;\n}\n", + "sourcePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol", + "ast": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol", + "exportedSymbols": { + "AbstractSubdomainRegistrar": [ + 306 + ] + }, + "id": 307, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 2, + "nodeType": "ImportDirective", + "scope": 307, + "sourceUnit": 2617, + "src": "25:43:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol", + "file": "./Resolver.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 307, + "sourceUnit": 1185, + "src": "69:24:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol", + "file": "./RegistrarInterface.sol", + "id": 4, + "nodeType": "ImportDirective", + "scope": 307, + "sourceUnit": 1160, + "src": "94:34:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5, + "name": "RegistrarInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1159, + "src": "169:18:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RegistrarInterface_$1159", + "typeString": "contract RegistrarInterface" + } + }, + "id": 6, + "nodeType": "InheritanceSpecifier", + "src": "169:18:0" + } + ], + "contractDependencies": [ + 1159 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 306, + "linearizedBaseContracts": [ + 306, + 1159 + ], + "name": "AbstractSubdomainRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 9, + "name": "TLD_NODE", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "218:101:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "218:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307839336364656237303862373534356463363638656239323830313736313639643163333363666438656436663034363930613062636338386139336663346165", + "id": 8, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "253:66:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_66853817334611902194238164484889819180315942402426128563245745834960013477038_by_1", + "typeString": "int_const 6685...(69 digits omitted)...7038" + }, + "value": "0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 12, + "name": "stopped", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "326:27:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "326:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 11, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "348:5:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 14, + "name": "registrarOwner", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "359:29:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "359:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16, + "name": "migration", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "394:24:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "394:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18, + "name": "registrar", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "425:24:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "425:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 20, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "456:14:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 19, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "456:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 34, + "nodeType": "Block", + "src": "512:63:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "536:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 292, + "src": "530:5:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 27, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "530:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 28, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "546:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "546:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "530:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 24, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "522:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 31, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "522:35:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32, + "nodeType": "ExpressionStatement", + "src": "522:35:0" + }, + { + "id": 33, + "nodeType": "PlaceholderStatement", + "src": "567:1:0" + } + ] + }, + "documentation": null, + "id": 35, + "name": "owner_only", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 23, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "497:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 21, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "497:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "496:15:0" + }, + "src": "477:98:0", + "visibility": "internal" + }, + { + "body": { + "id": 43, + "nodeType": "Block", + "src": "604:45:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "622:8:0", + "subExpression": { + "argumentTypes": null, + "id": 38, + "name": "stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "623:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 37, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "614:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 40, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "614:17:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41, + "nodeType": "ExpressionStatement", + "src": "614:17:0" + }, + { + "id": 42, + "nodeType": "PlaceholderStatement", + "src": "641:1:0" + } + ] + }, + "documentation": null, + "id": 44, + "name": "not_stopped", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 36, + "nodeType": "ParameterList", + "parameters": [], + "src": "601:2:0" + }, + "src": "581:68:0", + "visibility": "internal" + }, + { + "body": { + "id": 54, + "nodeType": "Block", + "src": "687:65:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 47, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "705:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "705:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 49, + "name": "registrarOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "719:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "705:28:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 46, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "697:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "697:37:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 52, + "nodeType": "ExpressionStatement", + "src": "697:37:0" + }, + { + "id": 53, + "nodeType": "PlaceholderStatement", + "src": "744:1:0" + } + ] + }, + "documentation": null, + "id": 55, + "name": "registrar_owner_only", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 45, + "nodeType": "ParameterList", + "parameters": [], + "src": "684:2:0" + }, + "src": "655:97:0", + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": null, + "id": 61, + "name": "DomainTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 60, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 57, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "782:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 56, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "782:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 59, + "indexed": false, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "805:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 58, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "805:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "781:36:0" + }, + "src": "758:60:0" + }, + { + "body": { + "id": 82, + "nodeType": "Block", + "src": "853:105:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 68, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 66, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "863:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 67, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 63, + "src": "869:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "src": "863:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 69, + "nodeType": "ExpressionStatement", + "src": "863:10:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 70, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "883:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 73, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "905:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 71, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "895:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "895:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "895:19:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "883:31:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 76, + "nodeType": "ExpressionStatement", + "src": "883:31:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 77, + "name": "registrarOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "924:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 78, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "941:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "941:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "924:27:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 81, + "nodeType": "ExpressionStatement", + "src": "924:27:0" + } + ] + }, + "documentation": null, + "id": 83, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 63, + "name": "_ens", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "836:8:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 62, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "836:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "835:10:0" + }, + "returnParameters": { + "id": 65, + "nodeType": "ParameterList", + "parameters": [], + "src": "853:0:0" + }, + "scope": 306, + "src": "824:134:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 137, + "nodeType": "Block", + "src": "1069:493:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 97, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "1151:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 98, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1157:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 100, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "1172:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AbstractSubdomainRegistrar_$306", + "typeString": "contract AbstractSubdomainRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_AbstractSubdomainRegistrar_$306", + "typeString": "contract AbstractSubdomainRegistrar" + } + ], + "id": 99, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1164:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1164:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 94, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1131:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "1131:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1131:47:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 103, + "nodeType": "ExpressionStatement", + "src": "1131:47:0" + }, + { + "assignments": [ + 105 + ], + "declarations": [ + { + "constant": false, + "id": 105, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 137, + "src": "1189:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 104, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1189:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 113, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 109, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "1234:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 110, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1240:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 107, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "1217:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1217:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1217:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 106, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1207:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1207:40:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1189:58:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 117, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1313:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 119, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "1330:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + ], + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1322:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1322:17:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 114, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1297:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "1297:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1297:43:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 122, + "nodeType": "ExpressionStatement", + "src": "1297:43:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 126, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1418:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 127, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 89, + "src": "1427:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 123, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "1401:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + }, + "id": 125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setAddr", + "nodeType": "MemberAccess", + "referencedDeclaration": 1183, + "src": "1401:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1401:41:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 129, + "nodeType": "ExpressionStatement", + "src": "1401:41:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 133, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1531:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 134, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 89, + "src": "1540:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 130, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1518:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2564, + "src": "1518:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1518:37:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 136, + "nodeType": "ExpressionStatement", + "src": "1518:37:0" + } + ] + }, + "documentation": null, + "id": 138, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "doRegistration", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 92, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 85, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 138, + "src": "988:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 84, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "988:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 87, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 138, + "src": "1002:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 86, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1002:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 89, + "name": "subdomainOwner", + "nodeType": "VariableDeclaration", + "scope": 138, + "src": "1017:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 88, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1017:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 91, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 138, + "src": "1041:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + }, + "typeName": { + "contractScope": null, + "id": 90, + "name": "Resolver", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1184, + "src": "1041:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "987:72:0" + }, + "returnParameters": { + "id": 93, + "nodeType": "ParameterList", + "parameters": [], + "src": "1069:0:0" + }, + "scope": 306, + "src": "964:598:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 156, + "nodeType": "Block", + "src": "1642:169:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 145, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1674:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783031666663396137", + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1689:10:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33540519_by_1", + "typeString": "int_const 33540519" + }, + "value": "0x01ffc9a7" + }, + "src": "1674:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 148, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1673:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 149, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1746:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30786331623135663561", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1761:10:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3249626970_by_1", + "typeString": "int_const 3249626970" + }, + "value": "0xc1b15f5a" + }, + "src": "1746:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 152, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1745:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1673:99:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 154, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1659:145:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 144, + "id": 155, + "nodeType": "Return", + "src": "1652:152:0" + } + ] + }, + "documentation": null, + "id": 157, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 140, + "name": "interfaceID", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "1595:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 139, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1595:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1594:20:0" + }, + "returnParameters": { + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 143, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "1636:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 142, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1636:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1635:6:0" + }, + "scope": 306, + "src": "1568:243:0", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 168, + "nodeType": "Block", + "src": "1915:90:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "307846464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646", + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1932:66:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9935" + }, + "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + "functionReturnParameters": 165, + "id": 167, + "nodeType": "Return", + "src": "1925:73:0" + } + ] + }, + "documentation": null, + "id": 169, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rentDue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 159, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "1834:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 158, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1834:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 161, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "1849:25:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 160, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1849:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1833:42:0" + }, + "returnParameters": { + "id": 165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 164, + "name": "timestamp", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "1899:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 163, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1899:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1898:16:0" + }, + "scope": 306, + "src": "1817:188:0", + "stateMutability": "view", + "superFunction": 1151, + "visibility": "external" + }, + { + "body": { + "id": 208, + "nodeType": "Block", + "src": "2288:165:0", + "statements": [ + { + "assignments": [ + 184 + ], + "declarations": [ + { + "constant": false, + "id": 184, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 208, + "src": "2298:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 183, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2298:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 190, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 187, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "2330:4:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2324:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2324:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 185, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2314:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2314:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2298:38:0" + }, + { + "assignments": [ + 192 + ], + "declarations": [ + { + "constant": false, + "id": 192, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 208, + "src": "2346:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 191, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 200, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 196, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2388:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 197, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "2398:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 194, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "2371:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2371:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2371:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 193, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2361:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2361:44:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2346:59:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 204, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 192, + "src": "2431:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 205, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 173, + "src": "2437:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 201, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "2415:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "2415:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2415:31:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 207, + "nodeType": "ExpressionStatement", + "src": "2415:31:0" + } + ] + }, + "documentation": "@dev Sets the resolver record for a name in ENS.\n@param name The name to set the resolver for.\n@param resolver The address of the resolver", + "id": 209, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 178, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "2280:4:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2274:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2274:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 176, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2264:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2264:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 181, + "modifierName": { + "argumentTypes": null, + "id": 175, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "2253:10:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2253:34:0" + } + ], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 174, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 171, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "2208:18:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 170, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2208:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 173, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "2228:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2228:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2207:38:0" + }, + "returnParameters": { + "id": 182, + "nodeType": "ParameterList", + "parameters": [], + "src": "2288:0:0" + }, + "scope": 306, + "src": "2187:266:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 229, + "nodeType": "Block", + "src": "2796:90:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 219, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "2825:4:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 220, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2831:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 221, + "name": "referralFeePPM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "2838:14:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 222, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "2854:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2854:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2874:3:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2866:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2866:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 218, + "name": "configureDomainFor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2806:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_payable_$_t_address_$returns$__$", + "typeString": "function (string memory,uint256,uint256,address payable,address)" + } + }, + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2806:73:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 228, + "nodeType": "ExpressionStatement", + "src": "2806:73:0" + } + ] + }, + "documentation": "@dev Configures a domain for sale.\n@param name The name to configure.\n@param price The price in wei to charge for subdomain registrations\n@param referralFeePPM The referral fee to offer, in parts per million", + "id": 230, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "configureDomain", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 211, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "2736:18:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 210, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2736:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 213, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "2756:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 212, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2756:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 215, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "2768:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 214, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2768:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2735:53:0" + }, + "returnParameters": { + "id": 217, + "nodeType": "ParameterList", + "parameters": [], + "src": "2796:0:0" + }, + "scope": 306, + "src": "2711:175:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 241, + "nodeType": "Block", + "src": "3035:31:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 237, + "name": "stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "3045:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3055:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3045:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 240, + "nodeType": "ExpressionStatement", + "src": "3045:14:0" + } + ] + }, + "documentation": "@dev Stops the registrar, disabling configuring of new domains.", + "id": 242, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 233, + "modifierName": { + "argumentTypes": null, + "id": 232, + "name": "not_stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "3002:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3002:11:0" + }, + { + "arguments": null, + "id": 235, + "modifierName": { + "argumentTypes": null, + "id": 234, + "name": "registrar_owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "3014:20:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3014:20:0" + } + ], + "name": "stop", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 231, + "nodeType": "ParameterList", + "parameters": [], + "src": "2992:2:0" + }, + "returnParameters": { + "id": 236, + "nodeType": "ParameterList", + "parameters": [], + "src": "3035:0:0" + }, + "scope": 306, + "src": "2979:87:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 257, + "nodeType": "Block", + "src": "3280:65:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 250, + "name": "stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "3298:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 249, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3290:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3290:16:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 252, + "nodeType": "ExpressionStatement", + "src": "3290:16:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 253, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "3316:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 254, + "name": "_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "3328:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3316:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 256, + "nodeType": "ExpressionStatement", + "src": "3316:22:0" + } + ] + }, + "documentation": "@dev Sets the address where domains are migrated to.\n@param _migration Address of the new registrar.", + "id": 258, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 247, + "modifierName": { + "argumentTypes": null, + "id": 246, + "name": "registrar_owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "3259:20:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3259:20:0" + } + ], + "name": "setMigrationAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 244, + "name": "_migration", + "nodeType": "VariableDeclaration", + "scope": 258, + "src": "3232:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 243, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3232:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3231:20:0" + }, + "returnParameters": { + "id": 248, + "nodeType": "ParameterList", + "parameters": [], + "src": "3280:0:0" + }, + "scope": 306, + "src": "3203:142:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 269, + "nodeType": "Block", + "src": "3424:42:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 265, + "name": "registrarOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "3434:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 266, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 260, + "src": "3451:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3434:25:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 268, + "nodeType": "ExpressionStatement", + "src": "3434:25:0" + } + ] + }, + "documentation": null, + "id": 270, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 263, + "modifierName": { + "argumentTypes": null, + "id": 262, + "name": "registrar_owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "3403:20:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3403:20:0" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 260, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 270, + "src": "3378:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 259, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3378:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3377:18:0" + }, + "returnParameters": { + "id": 264, + "nodeType": "ParameterList", + "parameters": [], + "src": "3424:0:0" + }, + "scope": 306, + "src": "3351:115:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": "@dev Returns information about a subdomain.\n@param label The label hash for the domain.\n@param subdomain The label for the subdomain.\n@return domain The name of the domain, or an empty string if the subdomain\n is unavailable.\n@return price The price to register a subdomain, in wei.\n@return rent The rent to retain a subdomain, in wei per second.\n@return referralFeePPM The referral fee for the dapp, in ppm.", + "id": 285, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "query", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 272, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "3982:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 271, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3982:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 274, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "3997:25:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 273, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3997:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3981:42:0" + }, + "returnParameters": { + "id": 284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 277, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "4047:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 276, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4047:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 279, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "4069:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 278, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4069:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 281, + "name": "rent", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "4081:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 280, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4081:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 283, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "4092:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 282, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4092:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4046:66:0" + }, + "scope": 306, + "src": "3967:146:0", + "stateMutability": "view", + "superFunction": 1129, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 292, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 287, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 292, + "src": "4134:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 286, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4134:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4133:15:0" + }, + "returnParameters": { + "id": 291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 290, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 292, + "src": "4170:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4170:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4169:9:0" + }, + "scope": 306, + "src": "4119:60:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 305, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "configureDomainFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 294, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "4212:18:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 293, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4212:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 296, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "4232:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 295, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4232:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 298, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "4244:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 297, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4244:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 300, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "4265:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 299, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4265:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 302, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "4289:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4289:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4211:96:0" + }, + "returnParameters": { + "id": 304, + "nodeType": "ParameterList", + "parameters": [], + "src": "4314:0:0" + }, + "scope": 306, + "src": "4184:131:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 307, + "src": "130:4187:0" + } + ], + "src": "0:4318:0" + }, + "legacyAST": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol", + "exportedSymbols": { + "AbstractSubdomainRegistrar": [ + 306 + ] + }, + "id": 307, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 2, + "nodeType": "ImportDirective", + "scope": 307, + "sourceUnit": 2617, + "src": "25:43:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol", + "file": "./Resolver.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 307, + "sourceUnit": 1185, + "src": "69:24:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol", + "file": "./RegistrarInterface.sol", + "id": 4, + "nodeType": "ImportDirective", + "scope": 307, + "sourceUnit": 1160, + "src": "94:34:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5, + "name": "RegistrarInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1159, + "src": "169:18:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RegistrarInterface_$1159", + "typeString": "contract RegistrarInterface" + } + }, + "id": 6, + "nodeType": "InheritanceSpecifier", + "src": "169:18:0" + } + ], + "contractDependencies": [ + 1159 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 306, + "linearizedBaseContracts": [ + 306, + 1159 + ], + "name": "AbstractSubdomainRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 9, + "name": "TLD_NODE", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "218:101:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "218:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307839336364656237303862373534356463363638656239323830313736313639643163333363666438656436663034363930613062636338386139336663346165", + "id": 8, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "253:66:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_66853817334611902194238164484889819180315942402426128563245745834960013477038_by_1", + "typeString": "int_const 6685...(69 digits omitted)...7038" + }, + "value": "0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 12, + "name": "stopped", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "326:27:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "326:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 11, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "348:5:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 14, + "name": "registrarOwner", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "359:29:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "359:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16, + "name": "migration", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "394:24:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "394:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18, + "name": "registrar", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "425:24:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "425:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 20, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 306, + "src": "456:14:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 19, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "456:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 34, + "nodeType": "Block", + "src": "512:63:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "536:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 292, + "src": "530:5:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 27, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "530:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 28, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "546:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "546:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "530:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 24, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "522:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 31, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "522:35:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32, + "nodeType": "ExpressionStatement", + "src": "522:35:0" + }, + { + "id": 33, + "nodeType": "PlaceholderStatement", + "src": "567:1:0" + } + ] + }, + "documentation": null, + "id": 35, + "name": "owner_only", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 23, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "497:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 21, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "497:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "496:15:0" + }, + "src": "477:98:0", + "visibility": "internal" + }, + { + "body": { + "id": 43, + "nodeType": "Block", + "src": "604:45:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "622:8:0", + "subExpression": { + "argumentTypes": null, + "id": 38, + "name": "stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "623:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 37, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "614:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 40, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "614:17:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41, + "nodeType": "ExpressionStatement", + "src": "614:17:0" + }, + { + "id": 42, + "nodeType": "PlaceholderStatement", + "src": "641:1:0" + } + ] + }, + "documentation": null, + "id": 44, + "name": "not_stopped", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 36, + "nodeType": "ParameterList", + "parameters": [], + "src": "601:2:0" + }, + "src": "581:68:0", + "visibility": "internal" + }, + { + "body": { + "id": 54, + "nodeType": "Block", + "src": "687:65:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 47, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "705:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "705:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 49, + "name": "registrarOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "719:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "705:28:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 46, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "697:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "697:37:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 52, + "nodeType": "ExpressionStatement", + "src": "697:37:0" + }, + { + "id": 53, + "nodeType": "PlaceholderStatement", + "src": "744:1:0" + } + ] + }, + "documentation": null, + "id": 55, + "name": "registrar_owner_only", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 45, + "nodeType": "ParameterList", + "parameters": [], + "src": "684:2:0" + }, + "src": "655:97:0", + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": null, + "id": 61, + "name": "DomainTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 60, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 57, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "782:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 56, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "782:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 59, + "indexed": false, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "805:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 58, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "805:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "781:36:0" + }, + "src": "758:60:0" + }, + { + "body": { + "id": 82, + "nodeType": "Block", + "src": "853:105:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 68, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 66, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "863:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 67, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 63, + "src": "869:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "src": "863:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 69, + "nodeType": "ExpressionStatement", + "src": "863:10:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 70, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "883:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 73, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "905:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 71, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "895:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "895:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "895:19:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "883:31:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 76, + "nodeType": "ExpressionStatement", + "src": "883:31:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 77, + "name": "registrarOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "924:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 78, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "941:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "941:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "924:27:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 81, + "nodeType": "ExpressionStatement", + "src": "924:27:0" + } + ] + }, + "documentation": null, + "id": 83, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 63, + "name": "_ens", + "nodeType": "VariableDeclaration", + "scope": 83, + "src": "836:8:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 62, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "836:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "835:10:0" + }, + "returnParameters": { + "id": 65, + "nodeType": "ParameterList", + "parameters": [], + "src": "853:0:0" + }, + "scope": 306, + "src": "824:134:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 137, + "nodeType": "Block", + "src": "1069:493:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 97, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "1151:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 98, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1157:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 100, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "1172:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AbstractSubdomainRegistrar_$306", + "typeString": "contract AbstractSubdomainRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_AbstractSubdomainRegistrar_$306", + "typeString": "contract AbstractSubdomainRegistrar" + } + ], + "id": 99, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1164:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1164:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 94, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1131:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "1131:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1131:47:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 103, + "nodeType": "ExpressionStatement", + "src": "1131:47:0" + }, + { + "assignments": [ + 105 + ], + "declarations": [ + { + "constant": false, + "id": 105, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 137, + "src": "1189:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 104, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1189:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 113, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 109, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "1234:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 110, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1240:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 107, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "1217:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1217:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1217:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 106, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1207:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1207:40:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1189:58:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 117, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1313:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 119, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "1330:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + ], + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1322:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1322:17:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 114, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1297:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "1297:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1297:43:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 122, + "nodeType": "ExpressionStatement", + "src": "1297:43:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 126, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1418:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 127, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 89, + "src": "1427:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 123, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "1401:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + }, + "id": 125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setAddr", + "nodeType": "MemberAccess", + "referencedDeclaration": 1183, + "src": "1401:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1401:41:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 129, + "nodeType": "ExpressionStatement", + "src": "1401:41:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 133, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1531:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 134, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 89, + "src": "1540:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 130, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1518:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2564, + "src": "1518:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1518:37:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 136, + "nodeType": "ExpressionStatement", + "src": "1518:37:0" + } + ] + }, + "documentation": null, + "id": 138, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "doRegistration", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 92, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 85, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 138, + "src": "988:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 84, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "988:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 87, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 138, + "src": "1002:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 86, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1002:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 89, + "name": "subdomainOwner", + "nodeType": "VariableDeclaration", + "scope": 138, + "src": "1017:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 88, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1017:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 91, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 138, + "src": "1041:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + }, + "typeName": { + "contractScope": null, + "id": 90, + "name": "Resolver", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1184, + "src": "1041:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "987:72:0" + }, + "returnParameters": { + "id": 93, + "nodeType": "ParameterList", + "parameters": [], + "src": "1069:0:0" + }, + "scope": 306, + "src": "964:598:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 156, + "nodeType": "Block", + "src": "1642:169:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 145, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1674:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783031666663396137", + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1689:10:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33540519_by_1", + "typeString": "int_const 33540519" + }, + "value": "0x01ffc9a7" + }, + "src": "1674:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 148, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1673:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 149, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1746:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30786331623135663561", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1761:10:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3249626970_by_1", + "typeString": "int_const 3249626970" + }, + "value": "0xc1b15f5a" + }, + "src": "1746:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 152, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1745:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1673:99:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 154, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1659:145:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 144, + "id": 155, + "nodeType": "Return", + "src": "1652:152:0" + } + ] + }, + "documentation": null, + "id": 157, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 140, + "name": "interfaceID", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "1595:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 139, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1595:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1594:20:0" + }, + "returnParameters": { + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 143, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "1636:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 142, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1636:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1635:6:0" + }, + "scope": 306, + "src": "1568:243:0", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 168, + "nodeType": "Block", + "src": "1915:90:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "307846464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646", + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1932:66:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9935" + }, + "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + "functionReturnParameters": 165, + "id": 167, + "nodeType": "Return", + "src": "1925:73:0" + } + ] + }, + "documentation": null, + "id": 169, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rentDue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 159, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "1834:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 158, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1834:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 161, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "1849:25:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 160, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1849:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1833:42:0" + }, + "returnParameters": { + "id": 165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 164, + "name": "timestamp", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "1899:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 163, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1899:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1898:16:0" + }, + "scope": 306, + "src": "1817:188:0", + "stateMutability": "view", + "superFunction": 1151, + "visibility": "external" + }, + { + "body": { + "id": 208, + "nodeType": "Block", + "src": "2288:165:0", + "statements": [ + { + "assignments": [ + 184 + ], + "declarations": [ + { + "constant": false, + "id": 184, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 208, + "src": "2298:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 183, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2298:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 190, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 187, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "2330:4:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2324:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2324:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 185, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2314:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2314:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2298:38:0" + }, + { + "assignments": [ + 192 + ], + "declarations": [ + { + "constant": false, + "id": 192, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 208, + "src": "2346:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 191, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2346:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 200, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 196, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "2388:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 197, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "2398:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 194, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "2371:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2371:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2371:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 193, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2361:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2361:44:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2346:59:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 204, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 192, + "src": "2431:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 205, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 173, + "src": "2437:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 201, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "2415:3:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "2415:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2415:31:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 207, + "nodeType": "ExpressionStatement", + "src": "2415:31:0" + } + ] + }, + "documentation": "@dev Sets the resolver record for a name in ENS.\n@param name The name to set the resolver for.\n@param resolver The address of the resolver", + "id": 209, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 178, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "2280:4:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2274:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2274:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 176, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2264:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2264:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 181, + "modifierName": { + "argumentTypes": null, + "id": 175, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "2253:10:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2253:34:0" + } + ], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 174, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 171, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "2208:18:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 170, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2208:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 173, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "2228:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2228:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2207:38:0" + }, + "returnParameters": { + "id": 182, + "nodeType": "ParameterList", + "parameters": [], + "src": "2288:0:0" + }, + "scope": 306, + "src": "2187:266:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 229, + "nodeType": "Block", + "src": "2796:90:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 219, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "2825:4:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 220, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "2831:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 221, + "name": "referralFeePPM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "2838:14:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 222, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "2854:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2854:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2874:3:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2866:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2866:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 218, + "name": "configureDomainFor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2806:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_payable_$_t_address_$returns$__$", + "typeString": "function (string memory,uint256,uint256,address payable,address)" + } + }, + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2806:73:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 228, + "nodeType": "ExpressionStatement", + "src": "2806:73:0" + } + ] + }, + "documentation": "@dev Configures a domain for sale.\n@param name The name to configure.\n@param price The price in wei to charge for subdomain registrations\n@param referralFeePPM The referral fee to offer, in parts per million", + "id": 230, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "configureDomain", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 211, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "2736:18:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 210, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2736:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 213, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "2756:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 212, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2756:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 215, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "2768:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 214, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2768:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2735:53:0" + }, + "returnParameters": { + "id": 217, + "nodeType": "ParameterList", + "parameters": [], + "src": "2796:0:0" + }, + "scope": 306, + "src": "2711:175:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 241, + "nodeType": "Block", + "src": "3035:31:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 237, + "name": "stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "3045:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3055:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3045:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 240, + "nodeType": "ExpressionStatement", + "src": "3045:14:0" + } + ] + }, + "documentation": "@dev Stops the registrar, disabling configuring of new domains.", + "id": 242, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 233, + "modifierName": { + "argumentTypes": null, + "id": 232, + "name": "not_stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "3002:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3002:11:0" + }, + { + "arguments": null, + "id": 235, + "modifierName": { + "argumentTypes": null, + "id": 234, + "name": "registrar_owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "3014:20:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3014:20:0" + } + ], + "name": "stop", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 231, + "nodeType": "ParameterList", + "parameters": [], + "src": "2992:2:0" + }, + "returnParameters": { + "id": 236, + "nodeType": "ParameterList", + "parameters": [], + "src": "3035:0:0" + }, + "scope": 306, + "src": "2979:87:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 257, + "nodeType": "Block", + "src": "3280:65:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 250, + "name": "stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "3298:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 249, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3290:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3290:16:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 252, + "nodeType": "ExpressionStatement", + "src": "3290:16:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 253, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "3316:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 254, + "name": "_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "3328:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3316:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 256, + "nodeType": "ExpressionStatement", + "src": "3316:22:0" + } + ] + }, + "documentation": "@dev Sets the address where domains are migrated to.\n@param _migration Address of the new registrar.", + "id": 258, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 247, + "modifierName": { + "argumentTypes": null, + "id": 246, + "name": "registrar_owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "3259:20:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3259:20:0" + } + ], + "name": "setMigrationAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 244, + "name": "_migration", + "nodeType": "VariableDeclaration", + "scope": 258, + "src": "3232:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 243, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3232:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3231:20:0" + }, + "returnParameters": { + "id": 248, + "nodeType": "ParameterList", + "parameters": [], + "src": "3280:0:0" + }, + "scope": 306, + "src": "3203:142:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 269, + "nodeType": "Block", + "src": "3424:42:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 265, + "name": "registrarOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "3434:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 266, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 260, + "src": "3451:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3434:25:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 268, + "nodeType": "ExpressionStatement", + "src": "3434:25:0" + } + ] + }, + "documentation": null, + "id": 270, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 263, + "modifierName": { + "argumentTypes": null, + "id": 262, + "name": "registrar_owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "3403:20:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3403:20:0" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 260, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 270, + "src": "3378:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 259, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3378:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3377:18:0" + }, + "returnParameters": { + "id": 264, + "nodeType": "ParameterList", + "parameters": [], + "src": "3424:0:0" + }, + "scope": 306, + "src": "3351:115:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": "@dev Returns information about a subdomain.\n@param label The label hash for the domain.\n@param subdomain The label for the subdomain.\n@return domain The name of the domain, or an empty string if the subdomain\n is unavailable.\n@return price The price to register a subdomain, in wei.\n@return rent The rent to retain a subdomain, in wei per second.\n@return referralFeePPM The referral fee for the dapp, in ppm.", + "id": 285, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "query", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 272, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "3982:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 271, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3982:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 274, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "3997:25:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 273, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3997:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3981:42:0" + }, + "returnParameters": { + "id": 284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 277, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "4047:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 276, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4047:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 279, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "4069:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 278, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4069:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 281, + "name": "rent", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "4081:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 280, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4081:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 283, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "4092:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 282, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4092:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4046:66:0" + }, + "scope": 306, + "src": "3967:146:0", + "stateMutability": "view", + "superFunction": 1129, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 292, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 287, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 292, + "src": "4134:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 286, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4134:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4133:15:0" + }, + "returnParameters": { + "id": 291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 290, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 292, + "src": "4170:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4170:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4169:9:0" + }, + "scope": 306, + "src": "4119:60:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 305, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "configureDomainFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 294, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "4212:18:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 293, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4212:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 296, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "4232:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 295, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4232:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 298, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "4244:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 297, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4244:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 300, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "4265:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 299, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4265:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 302, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "4289:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4289:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4211:96:0" + }, + "returnParameters": { + "id": 304, + "nodeType": "ParameterList", + "parameters": [], + "src": "4314:0:0" + }, + "scope": 306, + "src": "4184:131:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 307, + "src": "130:4187:0" + } + ], + "src": "0:4318:0" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.730Z", + "devdoc": { + "methods": { + "configureDomain(string,uint256,uint256)": { + "details": "Configures a domain for sale.", + "params": { + "name": "The name to configure.", + "price": "The price in wei to charge for subdomain registrations", + "referralFeePPM": "The referral fee to offer, in parts per million" + } + }, + "query(bytes32,string)": { + "details": "Returns information about a subdomain.", + "params": { + "label": "The label hash for the domain.", + "subdomain": "The label for the subdomain." + }, + "return": "domain The name of the domain, or an empty string if the subdomain is unavailable.price The price to register a subdomain, in wei.rent The rent to retain a subdomain, in wei per second.referralFeePPM The referral fee for the dapp, in ppm." + }, + "setMigrationAddress(address)": { + "details": "Sets the address where domains are migrated to.", + "params": { + "_migration": "Address of the new registrar." + } + }, + "setResolver(string,address)": { + "details": "Sets the resolver record for a name in ENS.", + "params": { + "name": "The name to set the resolver for.", + "resolver": "The address of the resolver" + } + }, + "stop()": { + "details": "Stops the registrar, disabling configuring of new domains." + } + } + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/AbstractSubdomainRegistrar.sol b/contracts/AbstractSubdomainRegistrar.sol deleted file mode 100644 index f3d06e7..0000000 --- a/contracts/AbstractSubdomainRegistrar.sol +++ /dev/null @@ -1,124 +0,0 @@ -pragma solidity ^0.5.0; - -import "@ensdomains/ens/contracts/ENS.sol"; -import "./Resolver.sol"; -import "./RegistrarInterface.sol"; - -contract AbstractSubdomainRegistrar is RegistrarInterface { - - // namehash('eth') - bytes32 constant public TLD_NODE = 0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae; - - bool public stopped = false; - address public registrarOwner; - address public migration; - - address public registrar; - - ENS public ens; - - modifier owner_only(bytes32 label) { - require(owner(label) == msg.sender); - _; - } - - modifier not_stopped() { - require(!stopped); - _; - } - - modifier registrar_owner_only() { - require(msg.sender == registrarOwner); - _; - } - - event DomainTransferred(bytes32 indexed label, string name); - - constructor(ENS _ens) public { - ens = _ens; - registrar = ens.owner(TLD_NODE); - registrarOwner = msg.sender; - } - - function doRegistration(bytes32 node, bytes32 label, address subdomainOwner, Resolver resolver) internal { - // Get the subdomain so we can configure it - ens.setSubnodeOwner(node, label, address(this)); - - bytes32 subnode = keccak256(abi.encodePacked(node, label)); - // Set the subdomain's resolver - ens.setResolver(subnode, address(resolver)); - - // Set the address record on the resolver - resolver.setAddr(subnode, subdomainOwner); - - // Pass ownership of the new subdomain to the registrant - ens.setOwner(subnode, subdomainOwner); - } - - function supportsInterface(bytes4 interfaceID) public pure returns (bool) { - return ( - (interfaceID == 0x01ffc9a7) // supportsInterface(bytes4) - || (interfaceID == 0xc1b15f5a) // RegistrarInterface - ); - } - - function rentDue(bytes32 label, string calldata subdomain) external view returns (uint timestamp) { - return 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; - } - - /** - * @dev Sets the resolver record for a name in ENS. - * @param name The name to set the resolver for. - * @param resolver The address of the resolver - */ - function setResolver(string memory name, address resolver) public owner_only(keccak256(bytes(name))) { - bytes32 label = keccak256(bytes(name)); - bytes32 node = keccak256(abi.encodePacked(TLD_NODE, label)); - ens.setResolver(node, resolver); - } - - /** - * @dev Configures a domain for sale. - * @param name The name to configure. - * @param price The price in wei to charge for subdomain registrations - * @param referralFeePPM The referral fee to offer, in parts per million - */ - function configureDomain(string memory name, uint price, uint referralFeePPM) public { - configureDomainFor(name, price, referralFeePPM, msg.sender, address(0x0)); - } - - /** - * @dev Stops the registrar, disabling configuring of new domains. - */ - function stop() public not_stopped registrar_owner_only { - stopped = true; - } - - /** - * @dev Sets the address where domains are migrated to. - * @param _migration Address of the new registrar. - */ - function setMigrationAddress(address _migration) public registrar_owner_only { - require(stopped); - migration = _migration; - } - - function transferOwnership(address newOwner) public registrar_owner_only { - registrarOwner = newOwner; - } - - /** - * @dev Returns information about a subdomain. - * @param label The label hash for the domain. - * @param subdomain The label for the subdomain. - * @return domain The name of the domain, or an empty string if the subdomain - * is unavailable. - * @return price The price to register a subdomain, in wei. - * @return rent The rent to retain a subdomain, in wei per second. - * @return referralFeePPM The referral fee for the dapp, in ppm. - */ - function query(bytes32 label, string calldata subdomain) external view returns (string memory domain, uint price, uint rent, uint referralFeePPM); - - function owner(bytes32 label) public view returns (address); - function configureDomainFor(string memory name, uint price, uint referralFeePPM, address payable _owner, address _transfer) public; -} diff --git a/contracts/Address.json b/contracts/Address.json new file mode 100644 index 0000000..11c7d36 --- /dev/null +++ b/contracts/Address.json @@ -0,0 +1,521 @@ +{ + "contractName": "Address", + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{},\"notice\":\"Utility library of inline functions on addresses\"}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0x5c731061b804fa256fc8c05150eafe5d20b6bb94541a8f187912bf84f7033f34\",\"urls\":[\"bzz-raw://a3c2d9f046beebab7fb41b1b124a6a124a36f510f7c67365861402ac831bdc71\",\"dweb:/ipfs/QmUtASRgitregbKH83anopLtF9vFQe3BKeAjhUa6F7t9YV\"]}},\"version\":1}", + "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820975beeffaca2a95e117be449e48ef229dfcd648ecdf1f2ef67011e965df6956b64736f6c63430005100032", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820975beeffaca2a95e117be449e48ef229dfcd648ecdf1f2ef67011e965df6956b64736f6c63430005100032", + "sourceMap": "85:996:27:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "deployedSourceMap": "85:996:27:-;;;;;;;;", + "source": "pragma solidity ^0.5.0;\n\n/**\n * Utility library of inline functions on addresses\n */\nlibrary Address {\n /**\n * Returns whether the target address is a contract\n * @dev This function will return false if invoked during the constructor of a contract,\n * as the code is not actually created until after the constructor finishes.\n * @param account address of the account to check\n * @return whether the target address is a contract\n */\n function isContract(address account) internal view returns (bool) {\n uint256 size;\n // XXX Currently there is no better way to check if there is a contract in an address\n // than to check the size of the code at that address.\n // See https://ethereum.stackexchange.com/a/14016/36603\n // for more details about how this works.\n // TODO Check this again before the Serenity release, because all addresses will be\n // contracts then.\n // solhint-disable-next-line no-inline-assembly\n assembly { size := extcodesize(account) }\n return size > 0;\n }\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/utils/Address.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/utils/Address.sol", + "exportedSymbols": { + "Address": [ + 6895 + ] + }, + "id": 6896, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6878, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:27" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "Utility library of inline functions on addresses", + "fullyImplemented": true, + "id": 6895, + "linearizedBaseContracts": [ + 6895 + ], + "name": "Address", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6893, + "nodeType": "Block", + "src": "529:550:27", + "statements": [ + { + "assignments": [ + 6886 + ], + "declarations": [ + { + "constant": false, + "id": 6886, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 6893, + "src": "539:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "539:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6887, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "539:12:27" + }, + { + "externalReferences": [ + { + "size": { + "declaration": 6886, + "isOffset": false, + "isSlot": false, + "src": "1018:4:27", + "valueSize": 1 + } + }, + { + "account": { + "declaration": 6880, + "isOffset": false, + "isSlot": false, + "src": "1038:7:27", + "valueSize": 1 + } + } + ], + "id": 6888, + "nodeType": "InlineAssembly", + "operations": "{ size := extcodesize(account) }", + "src": "1007:41:27" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6889, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6886, + "src": "1064:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1071:1:27", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1064:8:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6884, + "id": 6892, + "nodeType": "Return", + "src": "1057:15:27" + } + ] + }, + "documentation": "Returns whether the target address is a contract\n@dev This function will return false if invoked during the constructor of a contract,\nas the code is not actually created until after the constructor finishes.\n@param account address of the account to check\n@return whether the target address is a contract", + "id": 6894, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6881, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6880, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 6894, + "src": "483:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6879, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "483:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "482:17:27" + }, + "returnParameters": { + "id": 6884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6883, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6894, + "src": "523:4:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6882, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "523:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "522:6:27" + }, + "scope": 6895, + "src": "463:616:27", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6896, + "src": "85:996:27" + } + ], + "src": "0:1082:27" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/utils/Address.sol", + "exportedSymbols": { + "Address": [ + 6895 + ] + }, + "id": 6896, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6878, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:27" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "Utility library of inline functions on addresses", + "fullyImplemented": true, + "id": 6895, + "linearizedBaseContracts": [ + 6895 + ], + "name": "Address", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6893, + "nodeType": "Block", + "src": "529:550:27", + "statements": [ + { + "assignments": [ + 6886 + ], + "declarations": [ + { + "constant": false, + "id": 6886, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 6893, + "src": "539:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "539:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6887, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "539:12:27" + }, + { + "externalReferences": [ + { + "size": { + "declaration": 6886, + "isOffset": false, + "isSlot": false, + "src": "1018:4:27", + "valueSize": 1 + } + }, + { + "account": { + "declaration": 6880, + "isOffset": false, + "isSlot": false, + "src": "1038:7:27", + "valueSize": 1 + } + } + ], + "id": 6888, + "nodeType": "InlineAssembly", + "operations": "{ size := extcodesize(account) }", + "src": "1007:41:27" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6889, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6886, + "src": "1064:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1071:1:27", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1064:8:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6884, + "id": 6892, + "nodeType": "Return", + "src": "1057:15:27" + } + ] + }, + "documentation": "Returns whether the target address is a contract\n@dev This function will return false if invoked during the constructor of a contract,\nas the code is not actually created until after the constructor finishes.\n@param account address of the account to check\n@return whether the target address is a contract", + "id": 6894, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6881, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6880, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 6894, + "src": "483:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6879, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "483:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "482:17:27" + }, + "returnParameters": { + "id": 6884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6883, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6894, + "src": "523:4:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6882, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "523:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "522:6:27" + }, + "scope": 6895, + "src": "463:616:27", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6896, + "src": "85:996:27" + } + ], + "src": "0:1082:27" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.821Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {}, + "notice": "Utility library of inline functions on addresses" + } +} \ No newline at end of file diff --git a/contracts/BaseRegistrar.json b/contracts/BaseRegistrar.json new file mode 100644 index 0000000..2b8b720 --- /dev/null +++ b/contracts/BaseRegistrar.json @@ -0,0 +1,3279 @@ +{ + "contractName": "BaseRegistrar", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "ControllerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "ControllerRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameMigrated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameRenewed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "GRACE_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "baseNode", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "controllers", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "addController", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "removeController", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "nameExpires", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "available", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "register", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "renew", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "reclaim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"ControllerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"ControllerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameMigrated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameRenewed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"GRACE_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"addController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"available\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"baseNode\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"controllers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"nameExpires\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"reclaim\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"removeController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"renew\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"isOwner()\":{\"return\":\"true if `msg.sender` is the owner of the contract.\"},\"owner()\":{\"return\":\"the address of the owner.\"},\"reclaim(uint256,address)\":{\"details\":\"Reclaim ownership of a name in ENS, if you own it in the registrar.\"},\"register(uint256,address,uint256)\":{\"details\":\"Register a name.\"},\"renounceOwnership()\":{\"details\":\"Allows the current owner to relinquish control of the contract.\"},\"supportsInterface(bytes4)\":{\"details\":\"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.\",\"params\":{\"interfaceId\":\"The interface identifier, as specified in ERC-165\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{\"renounceOwnership()\":{\"notice\":\"Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\":\"BaseRegistrar\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\":{\"keccak256\":\"0x8f8f496603d868fdf3ddf31c54fb6eed6a865f2adbf568fe0b3d999d4fa667f4\",\"urls\":[\"bzz-raw://40c16e89553e4af1dad651bdb63208f5e20429e0e5dbd716eb0cad14eafb96be\",\"dweb:/ipfs/QmYdCBZHRwRgKPRmCvghw7hbdvqqcJJCKg5JTtzWWwoSQP\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzz-raw://f07a2c393caa85f62f0aaa461e3edd50aa59371d4209778ba0558d7f8b4b856c\",\"dweb:/ipfs/QmeN3ZiYGSjCnQFeYaJNgoXjF9eDue1g3e9pqManRkeBtV\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x1f059ee943273719130df645fa38069b792988e8b732585528d5b1265f5aa046\",\"urls\":[\"bzz-raw://31e4d99091a83a42a6ea14d74ceae2ec3ffb2905c7ee07358875af72ea188333\",\"dweb:/ipfs/Qmf7nHc6BwhbyawapCVRZHzhBHNoA8ftpQWmGSyToVKVzN\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity >=0.4.24;\n\nimport \"@ensdomains/ens/contracts/ENS.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\";\nimport \"openzeppelin-solidity/contracts/ownership/Ownable.sol\";\n\ncontract BaseRegistrar is IERC721, Ownable {\n uint constant public GRACE_PERIOD = 90 days;\n\n event ControllerAdded(address indexed controller);\n event ControllerRemoved(address indexed controller);\n event NameMigrated(uint256 indexed id, address indexed owner, uint expires);\n event NameRegistered(uint256 indexed id, address indexed owner, uint expires);\n event NameRenewed(uint256 indexed id, uint expires);\n\n // The ENS registry\n ENS public ens;\n\n // The namehash of the TLD this registrar owns (eg, .eth)\n bytes32 public baseNode;\n\n // A map of addresses that are authorised to register and renew names.\n mapping(address=>bool) public controllers;\n\n // Authorises a controller, who can register and renew domains.\n function addController(address controller) external;\n\n // Revoke controller permission for an address.\n function removeController(address controller) external;\n\n // Set the resolver for the TLD this registrar manages.\n function setResolver(address resolver) external;\n\n // Returns the expiration timestamp of the specified label hash.\n function nameExpires(uint256 id) external view returns(uint);\n\n // Returns true iff the specified name is available for registration.\n function available(uint256 id) public view returns(bool);\n\n /**\n * @dev Register a name.\n */\n function register(uint256 id, address owner, uint duration) external returns(uint);\n\n function renew(uint256 id, uint duration) external returns(uint);\n\n /**\n * @dev Reclaim ownership of a name in ENS, if you own it in the registrar.\n */\n function reclaim(uint256 id, address owner) external;\n}\n", + "sourcePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "ast": { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "exportedSymbols": { + "BaseRegistrar": [ + 4882 + ] + }, + "id": 4883, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4777, + "literals": [ + "solidity", + ">=", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:25:17" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 4778, + "nodeType": "ImportDirective", + "scope": 4883, + "sourceUnit": 2617, + "src": "27:43:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol", + "file": "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol", + "id": 4779, + "nodeType": "ImportDirective", + "scope": 4883, + "sourceUnit": 6861, + "src": "71:66:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 4780, + "nodeType": "ImportDirective", + "scope": 4883, + "sourceUnit": 6199, + "src": "138:63:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4781, + "name": "IERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6860, + "src": "229:7:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721_$6860", + "typeString": "contract IERC721" + } + }, + "id": 4782, + "nodeType": "InheritanceSpecifier", + "src": "229:7:17" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4783, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6198, + "src": "238:7:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$6198", + "typeString": "contract Ownable" + } + }, + "id": 4784, + "nodeType": "InheritanceSpecifier", + "src": "238:7:17" + } + ], + "contractDependencies": [ + 5961, + 6198, + 6860 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 4882, + "linearizedBaseContracts": [ + 4882, + 6198, + 6860, + 5961 + ], + "name": "BaseRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 4787, + "name": "GRACE_PERIOD", + "nodeType": "VariableDeclaration", + "scope": 4882, + "src": "252:43:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4785, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "252:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3930", + "id": 4786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "288:7:17", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_7776000_by_1", + "typeString": "int_const 7776000" + }, + "value": "90" + }, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 4791, + "name": "ControllerAdded", + "nodeType": "EventDefinition", + "parameters": { + "id": 4790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4789, + "indexed": true, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 4791, + "src": "324:26:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "323:28:17" + }, + "src": "302:50:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4795, + "name": "ControllerRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 4794, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4793, + "indexed": true, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 4795, + "src": "381:26:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4792, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "381:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:28:17" + }, + "src": "357:52:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4803, + "name": "NameMigrated", + "nodeType": "EventDefinition", + "parameters": { + "id": 4802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4797, + "indexed": true, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4803, + "src": "433:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "433:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4799, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4803, + "src": "453:21:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "453:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4801, + "indexed": false, + "name": "expires", + "nodeType": "VariableDeclaration", + "scope": 4803, + "src": "476:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4800, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "476:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "432:57:17" + }, + "src": "414:76:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4811, + "name": "NameRegistered", + "nodeType": "EventDefinition", + "parameters": { + "id": 4810, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4805, + "indexed": true, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4811, + "src": "516:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4804, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "516:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4807, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4811, + "src": "536:21:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4806, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "536:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4809, + "indexed": false, + "name": "expires", + "nodeType": "VariableDeclaration", + "scope": 4811, + "src": "559:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4808, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "559:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "515:57:17" + }, + "src": "495:78:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4817, + "name": "NameRenewed", + "nodeType": "EventDefinition", + "parameters": { + "id": 4816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4813, + "indexed": true, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "596:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "596:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4815, + "indexed": false, + "name": "expires", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "616:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4814, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "616:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "595:34:17" + }, + "src": "578:52:17" + }, + { + "constant": false, + "id": 4819, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 4882, + "src": "660:14:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 4818, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "660:3:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4821, + "name": "baseNode", + "nodeType": "VariableDeclaration", + "scope": 4882, + "src": "743:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4820, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "743:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4825, + "name": "controllers", + "nodeType": "VariableDeclaration", + "scope": 4882, + "src": "848:41:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 4824, + "keyType": { + "id": 4822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "856:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "848:22:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 4823, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "865:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 4830, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4828, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4827, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 4830, + "src": "987:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "987:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "986:20:17" + }, + "returnParameters": { + "id": 4829, + "nodeType": "ParameterList", + "parameters": [], + "src": "1015:0:17" + }, + "scope": 4882, + "src": "964:52:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4835, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4832, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 4835, + "src": "1100:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1100:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1099:20:17" + }, + "returnParameters": { + "id": 4834, + "nodeType": "ParameterList", + "parameters": [], + "src": "1128:0:17" + }, + "scope": 4882, + "src": "1074:55:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4840, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4837, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 4840, + "src": "1216:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4836, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1216:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1215:18:17" + }, + "returnParameters": { + "id": 4839, + "nodeType": "ParameterList", + "parameters": [], + "src": "1242:0:17" + }, + "scope": 4882, + "src": "1195:48:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4847, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "nameExpires", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4842, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4847, + "src": "1339:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4841, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1339:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1338:12:17" + }, + "returnParameters": { + "id": 4846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4845, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4847, + "src": "1373:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4844, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1373:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1372:6:17" + }, + "scope": 4882, + "src": "1318:61:17", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4854, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "available", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4850, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4849, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4854, + "src": "1478:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4848, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1478:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1477:12:17" + }, + "returnParameters": { + "id": 4853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4852, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4854, + "src": "1510:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4851, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1510:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1509:6:17" + }, + "scope": 4882, + "src": "1459:57:17", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": "@dev Register a name.", + "id": 4865, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4861, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4856, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4865, + "src": "1585:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4855, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1585:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4858, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4865, + "src": "1597:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4857, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1597:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4860, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 4865, + "src": "1612:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4859, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1612:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1584:42:17" + }, + "returnParameters": { + "id": 4864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4863, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4865, + "src": "1644:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4862, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1644:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1643:6:17" + }, + "scope": 4882, + "src": "1567:83:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4874, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "renew", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4867, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4874, + "src": "1671:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4866, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1671:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4869, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 4874, + "src": "1683:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4868, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1683:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1670:27:17" + }, + "returnParameters": { + "id": 4873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4872, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4874, + "src": "1715:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4871, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1715:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1714:6:17" + }, + "scope": 4882, + "src": "1656:65:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Reclaim ownership of a name in ENS, if you own it in the registrar.", + "id": 4881, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reclaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4876, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4881, + "src": "1840:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4875, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1840:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4878, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4881, + "src": "1852:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4877, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1852:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1839:27:17" + }, + "returnParameters": { + "id": 4880, + "nodeType": "ParameterList", + "parameters": [], + "src": "1875:0:17" + }, + "scope": 4882, + "src": "1823:53:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 4883, + "src": "203:1675:17" + } + ], + "src": "0:1879:17" + }, + "legacyAST": { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "exportedSymbols": { + "BaseRegistrar": [ + 4882 + ] + }, + "id": 4883, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4777, + "literals": [ + "solidity", + ">=", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:25:17" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 4778, + "nodeType": "ImportDirective", + "scope": 4883, + "sourceUnit": 2617, + "src": "27:43:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol", + "file": "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol", + "id": 4779, + "nodeType": "ImportDirective", + "scope": 4883, + "sourceUnit": 6861, + "src": "71:66:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 4780, + "nodeType": "ImportDirective", + "scope": 4883, + "sourceUnit": 6199, + "src": "138:63:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4781, + "name": "IERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6860, + "src": "229:7:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721_$6860", + "typeString": "contract IERC721" + } + }, + "id": 4782, + "nodeType": "InheritanceSpecifier", + "src": "229:7:17" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4783, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6198, + "src": "238:7:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$6198", + "typeString": "contract Ownable" + } + }, + "id": 4784, + "nodeType": "InheritanceSpecifier", + "src": "238:7:17" + } + ], + "contractDependencies": [ + 5961, + 6198, + 6860 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 4882, + "linearizedBaseContracts": [ + 4882, + 6198, + 6860, + 5961 + ], + "name": "BaseRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 4787, + "name": "GRACE_PERIOD", + "nodeType": "VariableDeclaration", + "scope": 4882, + "src": "252:43:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4785, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "252:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3930", + "id": 4786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "288:7:17", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_7776000_by_1", + "typeString": "int_const 7776000" + }, + "value": "90" + }, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 4791, + "name": "ControllerAdded", + "nodeType": "EventDefinition", + "parameters": { + "id": 4790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4789, + "indexed": true, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 4791, + "src": "324:26:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "323:28:17" + }, + "src": "302:50:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4795, + "name": "ControllerRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 4794, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4793, + "indexed": true, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 4795, + "src": "381:26:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4792, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "381:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:28:17" + }, + "src": "357:52:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4803, + "name": "NameMigrated", + "nodeType": "EventDefinition", + "parameters": { + "id": 4802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4797, + "indexed": true, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4803, + "src": "433:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "433:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4799, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4803, + "src": "453:21:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "453:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4801, + "indexed": false, + "name": "expires", + "nodeType": "VariableDeclaration", + "scope": 4803, + "src": "476:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4800, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "476:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "432:57:17" + }, + "src": "414:76:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4811, + "name": "NameRegistered", + "nodeType": "EventDefinition", + "parameters": { + "id": 4810, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4805, + "indexed": true, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4811, + "src": "516:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4804, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "516:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4807, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4811, + "src": "536:21:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4806, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "536:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4809, + "indexed": false, + "name": "expires", + "nodeType": "VariableDeclaration", + "scope": 4811, + "src": "559:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4808, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "559:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "515:57:17" + }, + "src": "495:78:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4817, + "name": "NameRenewed", + "nodeType": "EventDefinition", + "parameters": { + "id": 4816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4813, + "indexed": true, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "596:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "596:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4815, + "indexed": false, + "name": "expires", + "nodeType": "VariableDeclaration", + "scope": 4817, + "src": "616:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4814, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "616:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "595:34:17" + }, + "src": "578:52:17" + }, + { + "constant": false, + "id": 4819, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 4882, + "src": "660:14:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 4818, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "660:3:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4821, + "name": "baseNode", + "nodeType": "VariableDeclaration", + "scope": 4882, + "src": "743:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4820, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "743:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4825, + "name": "controllers", + "nodeType": "VariableDeclaration", + "scope": 4882, + "src": "848:41:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 4824, + "keyType": { + "id": 4822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "856:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "848:22:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 4823, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "865:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 4830, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4828, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4827, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 4830, + "src": "987:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "987:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "986:20:17" + }, + "returnParameters": { + "id": 4829, + "nodeType": "ParameterList", + "parameters": [], + "src": "1015:0:17" + }, + "scope": 4882, + "src": "964:52:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4835, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4832, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 4835, + "src": "1100:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1100:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1099:20:17" + }, + "returnParameters": { + "id": 4834, + "nodeType": "ParameterList", + "parameters": [], + "src": "1128:0:17" + }, + "scope": 4882, + "src": "1074:55:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4840, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4837, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 4840, + "src": "1216:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4836, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1216:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1215:18:17" + }, + "returnParameters": { + "id": 4839, + "nodeType": "ParameterList", + "parameters": [], + "src": "1242:0:17" + }, + "scope": 4882, + "src": "1195:48:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4847, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "nameExpires", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4842, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4847, + "src": "1339:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4841, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1339:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1338:12:17" + }, + "returnParameters": { + "id": 4846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4845, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4847, + "src": "1373:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4844, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1373:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1372:6:17" + }, + "scope": 4882, + "src": "1318:61:17", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4854, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "available", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4850, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4849, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4854, + "src": "1478:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4848, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1478:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1477:12:17" + }, + "returnParameters": { + "id": 4853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4852, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4854, + "src": "1510:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4851, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1510:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1509:6:17" + }, + "scope": 4882, + "src": "1459:57:17", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": "@dev Register a name.", + "id": 4865, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4861, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4856, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4865, + "src": "1585:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4855, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1585:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4858, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4865, + "src": "1597:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4857, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1597:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4860, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 4865, + "src": "1612:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4859, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1612:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1584:42:17" + }, + "returnParameters": { + "id": 4864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4863, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4865, + "src": "1644:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4862, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1644:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1643:6:17" + }, + "scope": 4882, + "src": "1567:83:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4874, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "renew", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4867, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4874, + "src": "1671:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4866, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1671:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4869, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 4874, + "src": "1683:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4868, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1683:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1670:27:17" + }, + "returnParameters": { + "id": 4873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4872, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4874, + "src": "1715:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4871, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1715:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1714:6:17" + }, + "scope": 4882, + "src": "1656:65:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Reclaim ownership of a name in ENS, if you own it in the registrar.", + "id": 4881, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reclaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4876, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 4881, + "src": "1840:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4875, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1840:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4878, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4881, + "src": "1852:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4877, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1852:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1839:27:17" + }, + "returnParameters": { + "id": 4880, + "nodeType": "ParameterList", + "parameters": [], + "src": "1875:0:17" + }, + "scope": 4882, + "src": "1823:53:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 4883, + "src": "203:1675:17" + } + ], + "src": "0:1879:17" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.798Z", + "devdoc": { + "methods": { + "isOwner()": { + "return": "true if `msg.sender` is the owner of the contract." + }, + "owner()": { + "return": "the address of the owner." + }, + "reclaim(uint256,address)": { + "details": "Reclaim ownership of a name in ENS, if you own it in the registrar." + }, + "register(uint256,address,uint256)": { + "details": "Register a name." + }, + "renounceOwnership()": { + "details": "Allows the current owner to relinquish control of the contract." + }, + "supportsInterface(bytes4)": { + "details": "Interface identification is specified in ERC-165. This function uses less than 30,000 gas.", + "params": { + "interfaceId": "The interface identifier, as specified in ERC-165" + } + }, + "transferOwnership(address)": { + "details": "Allows the current owner to transfer control of the contract to a newOwner.", + "params": { + "newOwner": "The address to transfer ownership to." + } + } + } + }, + "userdoc": { + "methods": { + "renounceOwnership()": { + "notice": "Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore." + }, + "supportsInterface(bytes4)": { + "notice": "Query if a contract implements an interface" + } + } + } +} \ No newline at end of file diff --git a/contracts/BaseRegistrarImplementation.json b/contracts/BaseRegistrarImplementation.json new file mode 100644 index 0000000..2b24c1f --- /dev/null +++ b/contracts/BaseRegistrarImplementation.json @@ -0,0 +1,12493 @@ +{ + "contractName": "BaseRegistrarImplementation", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ENS", + "name": "_ens", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_baseNode", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "ControllerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "ControllerRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameMigrated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameRenewed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "GRACE_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "baseNode", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "controllers", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "addController", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "removeController", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "nameExpires", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "available", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "register", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "registerOnly", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "renew", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "reclaim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ENS\",\"name\":\"_ens\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_baseNode\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"ControllerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"ControllerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameMigrated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameRenewed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"GRACE_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"addController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"available\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"baseNode\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"controllers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"nameExpires\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"reclaim\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"registerOnly\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"removeController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"renew\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"approve(address,uint256)\":{\"details\":\"Approves another address to transfer the given token ID The zero address indicates there is no approved address. There can only be one approved address per token at a given time. Can only be called by the token owner or an approved operator.\",\"params\":{\"to\":\"address to be approved for the given token ID\",\"tokenId\":\"uint256 ID of the token to be approved\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address\",\"params\":{\"owner\":\"address to query the balance of\"},\"return\":\"uint256 representing the amount owned by the passed address\"},\"getApproved(uint256)\":{\"details\":\"Gets the approved address for a token ID, or zero if no address set Reverts if the token ID does not exist.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query the approval of\"},\"return\":\"address currently approved for the given token ID\"},\"isApprovedForAll(address,address)\":{\"details\":\"Tells whether an operator is approved by a given owner\",\"params\":{\"operator\":\"operator address which you want to query the approval of\",\"owner\":\"owner address which you want to query the approval of\"},\"return\":\"bool whether the given operator is approved by the given owner\"},\"isOwner()\":{\"return\":\"true if `msg.sender` is the owner of the contract.\"},\"owner()\":{\"return\":\"the address of the owner.\"},\"ownerOf(uint256)\":{\"details\":\"Gets the owner of the specified token ID. Names become unowned when their registration expires.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query the owner of\"},\"return\":\"address currently marked as the owner of the given token ID\"},\"reclaim(uint256,address)\":{\"details\":\"Reclaim ownership of a name in ENS, if you own it in the registrar.\"},\"register(uint256,address,uint256)\":{\"details\":\"Register a name.\",\"params\":{\"duration\":\"Duration in seconds for the registration.\",\"id\":\"The token ID (keccak256 of the label).\",\"owner\":\"The address that should own the registration.\"}},\"registerOnly(uint256,address,uint256)\":{\"details\":\"Register a name, without modifying the registry.\",\"params\":{\"duration\":\"Duration in seconds for the registration.\",\"id\":\"The token ID (keccak256 of the label).\",\"owner\":\"The address that should own the registration.\"}},\"renounceOwnership()\":{\"details\":\"Allows the current owner to relinquish control of the contract.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`; otherwise, the transfer is reverted. * Requires the msg sender to be the owner, approved, or operator\",\"params\":{\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`; otherwise, the transfer is reverted. Requires the msg sender to be the owner, approved, or operator\",\"params\":{\"_data\":\"bytes data to send along with a safe transfer check\",\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf\",\"params\":{\"approved\":\"representing the status of the approval to be set\",\"to\":\"operator address to set the approval\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers the ownership of a given token ID to another address Usage of this method is discouraged, use `safeTransferFrom` whenever possible Requires the msg sender to be the owner, approved, or operator\",\"params\":{\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{\"renounceOwnership()\":{\"notice\":\"Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore.\"}}}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol\":\"BaseRegistrarImplementation\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\":{\"keccak256\":\"0x8f8f496603d868fdf3ddf31c54fb6eed6a865f2adbf568fe0b3d999d4fa667f4\",\"urls\":[\"bzz-raw://40c16e89553e4af1dad651bdb63208f5e20429e0e5dbd716eb0cad14eafb96be\",\"dweb:/ipfs/QmYdCBZHRwRgKPRmCvghw7hbdvqqcJJCKg5JTtzWWwoSQP\"]},\"@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol\":{\"keccak256\":\"0xb536cb0800dc30e1a911ac804767801a5645206cd85400d1dd98f684cec9be08\",\"urls\":[\"bzz-raw://b4e295aa3d63497d2cef270a6cd8ceac88cd9bca13bbabeb1ab1d076764c790e\",\"dweb:/ipfs/Qme74RPg5Dbu1uXrovvKTB5Lrdo6TH8fCdQ2B1b5Daf6sB\"]},\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x9da23588f58d0fa67097984e151bdaa6aa69c5e192bae17b44a90b0cfc194736\",\"urls\":[\"bzz-raw://5e88c7dbb4d1e6d3f133112b9994491b8531f5d9103cf41becd1c267d2cd67af\",\"dweb:/ipfs/QmNuSmDBgv616hXRshbHx48ufdZoSrcFHpwqP4iPg2ac4X\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzz-raw://1eb493553b27efd46c231a836a83ce50d215639feb97b4aac9f301d0fd034ff5\",\"dweb:/ipfs/QmbMdvSXcqGKxeeYvzF3VrWpoHQyVzMXBhzhAokF2Gdymv\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzz-raw://f07a2c393caa85f62f0aaa461e3edd50aa59371d4209778ba0558d7f8b4b856c\",\"dweb:/ipfs/QmeN3ZiYGSjCnQFeYaJNgoXjF9eDue1g3e9pqManRkeBtV\"]},\"openzeppelin-solidity/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x0546fa662082b36ac9cbd418c0722a3c52718b9dc3fe3e284081d73f48036228\",\"urls\":[\"bzz-raw://a50dd4c1c7afa4ade53ee47bc782eaad72a45091ed9756081616b33eb6c150c4\",\"dweb:/ipfs/Qmb88e4EnSbJv2BbayFg6wZpFMJ9aPF7r4cwMjnZkUu4VK\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x1f059ee943273719130df645fa38069b792988e8b732585528d5b1265f5aa046\",\"urls\":[\"bzz-raw://31e4d99091a83a42a6ea14d74ceae2ec3ffb2905c7ee07358875af72ea188333\",\"dweb:/ipfs/Qmf7nHc6BwhbyawapCVRZHzhBHNoA8ftpQWmGSyToVKVzN\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x5e7281dbd14cf07af0974ce830c6242062cd430b70658878d49b5f5c1e2ec0aa\",\"urls\":[\"bzz-raw://3c9374b456bf5fde2c473331ff75bed9c6be3634948ba6a6507e4c19c2abf605\",\"dweb:/ipfs/QmUm5NKd1ToSr8MHVVanQv3XEkQpmYKw2441KXYyXPE6np\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0x5c731061b804fa256fc8c05150eafe5d20b6bb94541a8f187912bf84f7033f34\",\"urls\":[\"bzz-raw://a3c2d9f046beebab7fb41b1b124a6a124a36f510f7c67365861402ac831bdc71\",\"dweb:/ipfs/QmUtASRgitregbKH83anopLtF9vFQe3BKeAjhUa6F7t9YV\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5060405162002b6e38038062002b6e833981810160405260408110156200003757600080fd5b8101908080519060200190929190805190602001909291905050506200006a6301ffc9a760e01b6200019060201b60201c565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3620001406380ac58cd60e01b6200019060201b60201c565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600381905550505062000230565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415620001c457600080fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61292e80620002406000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80638f32d59b116100f9578063d6e4fa8611610097578063e985e9c511610071578063e985e9c514610934578063f2fde38b146109b0578063f6a74ed7146109f4578063fca247ac14610a38576101a9565b8063d6e4fa8614610878578063da8c229e146108ba578063ddf7fcb014610916576101a9565b8063a7fc7a07116100d3578063a7fc7a07146106c5578063b88d4fde14610709578063c1a287e21461080e578063c475abff1461082c576101a9565b80638f32d59b1461060d57806396e494e81461062f578063a22cb46514610675576101a9565b80633f15457f116101665780636352211e116101405780636352211e146104f357806370a0823114610561578063715018a6146105b95780638da5cb5b146105c3576101a9565b80633f15457f146103f757806342842e0e146104415780634e543b26146104af576101a9565b806301ffc9a7146101ae578063081812fc14610213578063095ea7b3146102815780630e297b45146102cf57806323b872dd1461033b57806328ed4f6c146103a9575b600080fd5b6101f9600480360360208110156101c457600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610aa4565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b8101908080359060200190929190505050610d61565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102cd6004803603604081101561029757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610db0565b005b610325600480360360608110156102e557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ef1565b6040518082815260200191505060405180910390f35b6103a76004803603606081101561035157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f09565b005b6103f5600480360360408110156103bf57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f2c565b005b6103ff61111c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ad6004803603606081101561045757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611142565b005b6104f1600480360360208110156104c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611162565b005b61051f6004803603602081101561050957600080fd5b8101908080359060200190929190505050611239565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a36004803603602081101561057757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126a565b6040518082815260200191505060405180910390f35b6105c16112ec565b005b6105cb6113be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106156113e8565b604051808215151515815260200191505060405180910390f35b61065b6004803603602081101561064557600080fd5b8101908080359060200190929190505050611440565b604051808215151515815260200191505060405180910390f35b6106c36004803603604081101561068b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611464565b005b610707600480360360208110156106db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061159e565b005b61080c6004803603608081101561071f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561078657600080fd5b82018360208201111561079857600080fd5b803590602001918460018302840111640100000000831117156107ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061164d565b005b610816611673565b6040518082815260200191505060405180910390f35b6108626004803603604081101561084257600080fd5b81019080803590602001909291908035906020019092919050505061167a565b6040518082815260200191505060405180910390f35b6108a46004803603602081101561088e57600080fd5b8101908080359060200190929190505050611891565b6040518082815260200191505060405180910390f35b6108fc600480360360208110156108d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ae565b604051808215151515815260200191505060405180910390f35b61091e6118ce565b6040518082815260200191505060405180910390f35b6109966004803603604081101561094a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118d4565b604051808215151515815260200191505060405180910390f35b6109f2600480360360208110156109c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611968565b005b610a3660048036036020811015610a0a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611985565b005b610a8e60048036036060811015610a4e57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a34565b6040518082815260200191505060405180910390f35b600060405180807f737570706f727473496e74657266616365286279746573342900000000000000815250601901905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cdd575060405180806128aa602f9139602f019050604051809103902060405180806128816029913960290190506040518091039020604051808061285c602591396025019050604051809103902060405180806128d9602191396021019050604051809103902060405180807f736574417070726f76616c466f72416c6c28616464726573732c626f6f6c2900815250601f019050604051809103902060405180807f676574417070726f7665642875696e74323536290000000000000000000000008152506014019050604051809103902060405180807f617070726f766528616464726573732c75696e743235362900000000000000008152506018019050604051809103902060405180807f6f776e65724f662875696e7432353629000000000000000000000000000000008152506010019050604051809103902060405180807f62616c616e63654f6628616464726573732900000000000000000000000000008152506012019050604051809103902018181818181818187bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610d5a575060405180807f7265636c61696d2875696e743235362c61646472657373290000000000000000815250601801905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000610d6c82611a4c565b610d7557600080fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610dbb82611239565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610df657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e365750610e3581336118d4565b5b610e3f57600080fd5b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000610f008484846000611abe565b90509392505050565b610f133382611dba565b610f1c57600080fd5b610f27838383611e4f565b505050565b3073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fb857600080fd5b505afa158015610fcc573d6000803e3d6000fd5b505050506040513d6020811015610fe257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461101357600080fd5b61101d3383611dba565b61102657600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548460001b846040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156110dc57600080fd5b505af11580156110f0573d6000803e3d6000fd5b505050506040513d602081101561110657600080fd5b8101908080519060200190929190505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61115d8383836040518060200160405280600081525061164d565b505050565b61116a6113e8565b61117357600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a600354836040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561121e57600080fd5b505af1158015611232573d6000803e3d6000fd5b5050505050565b60004260096000848152602001908152602001600020541161125a57600080fd5b611263826120b0565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112a557600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112f46113e8565b6112fd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000426276a700600960008581526020019081526020016000205401109050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561149d57600080fd5b80600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6115a66113e8565b6115af57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d747460405160405180910390a250565b611658848484610f09565b6116648484848461212c565b61166d57600080fd5b50505050565b6276a70081565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561170857600080fd5b505afa15801561171c573d6000803e3d6000fd5b505050506040513d602081101561173257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461176357600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166117b957600080fd5b426276a70060096000868152602001908152602001600020540110156117de57600080fd5b6276a70082016276a70083600960008781526020019081526020016000205401011161180957600080fd5b816009600085815260200190815260200160002060008282540192505081905550827f9b87a00e30f1ac65d898f070f8a3488fe60517182d0a2098e1b4b93a54aa9bd660096000868152602001908152602001600020546040518082815260200191505060405180910390a26009600084815260200190815260200160002054905092915050565b600060096000838152602001908152602001600020549050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b60035481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6119706113e8565b61197957600080fd5b61198281612315565b50565b61198d6113e8565b61199657600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e8111360405160405180910390a250565b6000611a438484846001611abe565b90509392505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b4c57600080fd5b505afa158015611b60573d6000803e3d6000fd5b505050506040513d6020811015611b7657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614611ba757600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bfd57600080fd5b611c0685611440565b611c0f57600080fd5b6276a70042016276a7008442010111611c2757600080fd5b8242016009600087815260200190815260200160002081905550611c4a85611a4c565b15611c5957611c588561240f565b5b611c638486612424565b8115611d5c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548760001b876040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b505050506040513d6020811015611d4957600080fd5b8101908080519060200190929190505050505b8373ffffffffffffffffffffffffffffffffffffffff16857fb3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d98542016040518082815260200191505060405180910390a38242019050949350505050565b600080611dc683611239565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611e3557508373ffffffffffffffffffffffffffffffffffffffff16611e1d84610d61565b73ffffffffffffffffffffffffffffffffffffffff16145b80611e465750611e4581856118d4565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611e6f82611239565b73ffffffffffffffffffffffffffffffffffffffff1614611e8f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ec957600080fd5b611ed2816125b9565b611f256001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fbb6001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561212357600080fd5b80915050919050565b600061214d8473ffffffffffffffffffffffffffffffffffffffff166126b6565b61215a576001905061230d565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561223557808201518184015260208101905061221a565b50505050905090810190601f1680156122625780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561228457600080fd5b505af1158015612298573d6000803e3d6000fd5b505050506040513d60208110156122ae57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561234f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61242161241b82611239565b826126c9565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561245e57600080fd5b61246781611a4c565b1561247157600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506125166001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126745760006006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008282111561268657600080fd5b600082840390508091505092915050565b6000808284019050838110156126ac57600080fd5b8091505092915050565b600080823b905060008111915050919050565b8173ffffffffffffffffffffffffffffffffffffffff166126e982611239565b73ffffffffffffffffffffffffffffffffffffffff161461270957600080fd5b612712816125b9565b6127656001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e743235362c6279746573296973417070726f766564466f72416c6c28616464726573732c6164647265737329a265627a7a723158203851e1a7c34807fd87cd4b670538168e0584812b7d1f4078ac2687a8c6455ca664736f6c63430005100032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101a95760003560e01c80638f32d59b116100f9578063d6e4fa8611610097578063e985e9c511610071578063e985e9c514610934578063f2fde38b146109b0578063f6a74ed7146109f4578063fca247ac14610a38576101a9565b8063d6e4fa8614610878578063da8c229e146108ba578063ddf7fcb014610916576101a9565b8063a7fc7a07116100d3578063a7fc7a07146106c5578063b88d4fde14610709578063c1a287e21461080e578063c475abff1461082c576101a9565b80638f32d59b1461060d57806396e494e81461062f578063a22cb46514610675576101a9565b80633f15457f116101665780636352211e116101405780636352211e146104f357806370a0823114610561578063715018a6146105b95780638da5cb5b146105c3576101a9565b80633f15457f146103f757806342842e0e146104415780634e543b26146104af576101a9565b806301ffc9a7146101ae578063081812fc14610213578063095ea7b3146102815780630e297b45146102cf57806323b872dd1461033b57806328ed4f6c146103a9575b600080fd5b6101f9600480360360208110156101c457600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610aa4565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b8101908080359060200190929190505050610d61565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102cd6004803603604081101561029757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610db0565b005b610325600480360360608110156102e557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ef1565b6040518082815260200191505060405180910390f35b6103a76004803603606081101561035157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f09565b005b6103f5600480360360408110156103bf57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f2c565b005b6103ff61111c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ad6004803603606081101561045757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611142565b005b6104f1600480360360208110156104c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611162565b005b61051f6004803603602081101561050957600080fd5b8101908080359060200190929190505050611239565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a36004803603602081101561057757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126a565b6040518082815260200191505060405180910390f35b6105c16112ec565b005b6105cb6113be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106156113e8565b604051808215151515815260200191505060405180910390f35b61065b6004803603602081101561064557600080fd5b8101908080359060200190929190505050611440565b604051808215151515815260200191505060405180910390f35b6106c36004803603604081101561068b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611464565b005b610707600480360360208110156106db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061159e565b005b61080c6004803603608081101561071f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561078657600080fd5b82018360208201111561079857600080fd5b803590602001918460018302840111640100000000831117156107ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061164d565b005b610816611673565b6040518082815260200191505060405180910390f35b6108626004803603604081101561084257600080fd5b81019080803590602001909291908035906020019092919050505061167a565b6040518082815260200191505060405180910390f35b6108a46004803603602081101561088e57600080fd5b8101908080359060200190929190505050611891565b6040518082815260200191505060405180910390f35b6108fc600480360360208110156108d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ae565b604051808215151515815260200191505060405180910390f35b61091e6118ce565b6040518082815260200191505060405180910390f35b6109966004803603604081101561094a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118d4565b604051808215151515815260200191505060405180910390f35b6109f2600480360360208110156109c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611968565b005b610a3660048036036020811015610a0a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611985565b005b610a8e60048036036060811015610a4e57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a34565b6040518082815260200191505060405180910390f35b600060405180807f737570706f727473496e74657266616365286279746573342900000000000000815250601901905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cdd575060405180806128aa602f9139602f019050604051809103902060405180806128816029913960290190506040518091039020604051808061285c602591396025019050604051809103902060405180806128d9602191396021019050604051809103902060405180807f736574417070726f76616c466f72416c6c28616464726573732c626f6f6c2900815250601f019050604051809103902060405180807f676574417070726f7665642875696e74323536290000000000000000000000008152506014019050604051809103902060405180807f617070726f766528616464726573732c75696e743235362900000000000000008152506018019050604051809103902060405180807f6f776e65724f662875696e7432353629000000000000000000000000000000008152506010019050604051809103902060405180807f62616c616e63654f6628616464726573732900000000000000000000000000008152506012019050604051809103902018181818181818187bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610d5a575060405180807f7265636c61696d2875696e743235362c61646472657373290000000000000000815250601801905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000610d6c82611a4c565b610d7557600080fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610dbb82611239565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610df657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e365750610e3581336118d4565b5b610e3f57600080fd5b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000610f008484846000611abe565b90509392505050565b610f133382611dba565b610f1c57600080fd5b610f27838383611e4f565b505050565b3073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fb857600080fd5b505afa158015610fcc573d6000803e3d6000fd5b505050506040513d6020811015610fe257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461101357600080fd5b61101d3383611dba565b61102657600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548460001b846040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156110dc57600080fd5b505af11580156110f0573d6000803e3d6000fd5b505050506040513d602081101561110657600080fd5b8101908080519060200190929190505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61115d8383836040518060200160405280600081525061164d565b505050565b61116a6113e8565b61117357600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a600354836040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561121e57600080fd5b505af1158015611232573d6000803e3d6000fd5b5050505050565b60004260096000848152602001908152602001600020541161125a57600080fd5b611263826120b0565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112a557600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112f46113e8565b6112fd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000426276a700600960008581526020019081526020016000205401109050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561149d57600080fd5b80600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6115a66113e8565b6115af57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d747460405160405180910390a250565b611658848484610f09565b6116648484848461212c565b61166d57600080fd5b50505050565b6276a70081565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561170857600080fd5b505afa15801561171c573d6000803e3d6000fd5b505050506040513d602081101561173257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461176357600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166117b957600080fd5b426276a70060096000868152602001908152602001600020540110156117de57600080fd5b6276a70082016276a70083600960008781526020019081526020016000205401011161180957600080fd5b816009600085815260200190815260200160002060008282540192505081905550827f9b87a00e30f1ac65d898f070f8a3488fe60517182d0a2098e1b4b93a54aa9bd660096000868152602001908152602001600020546040518082815260200191505060405180910390a26009600084815260200190815260200160002054905092915050565b600060096000838152602001908152602001600020549050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b60035481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6119706113e8565b61197957600080fd5b61198281612315565b50565b61198d6113e8565b61199657600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e8111360405160405180910390a250565b6000611a438484846001611abe565b90509392505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b4c57600080fd5b505afa158015611b60573d6000803e3d6000fd5b505050506040513d6020811015611b7657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614611ba757600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bfd57600080fd5b611c0685611440565b611c0f57600080fd5b6276a70042016276a7008442010111611c2757600080fd5b8242016009600087815260200190815260200160002081905550611c4a85611a4c565b15611c5957611c588561240f565b5b611c638486612424565b8115611d5c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548760001b876040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b505050506040513d6020811015611d4957600080fd5b8101908080519060200190929190505050505b8373ffffffffffffffffffffffffffffffffffffffff16857fb3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d98542016040518082815260200191505060405180910390a38242019050949350505050565b600080611dc683611239565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611e3557508373ffffffffffffffffffffffffffffffffffffffff16611e1d84610d61565b73ffffffffffffffffffffffffffffffffffffffff16145b80611e465750611e4581856118d4565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611e6f82611239565b73ffffffffffffffffffffffffffffffffffffffff1614611e8f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ec957600080fd5b611ed2816125b9565b611f256001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fbb6001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561212357600080fd5b80915050919050565b600061214d8473ffffffffffffffffffffffffffffffffffffffff166126b6565b61215a576001905061230d565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561223557808201518184015260208101905061221a565b50505050905090810190601f1680156122625780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561228457600080fd5b505af1158015612298573d6000803e3d6000fd5b505050506040513d60208110156122ae57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561234f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61242161241b82611239565b826126c9565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561245e57600080fd5b61246781611a4c565b1561247157600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506125166001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126745760006006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008282111561268657600080fd5b600082840390508091505092915050565b6000808284019050838110156126ac57600080fd5b8091505092915050565b600080823b905060008111915050919050565b8173ffffffffffffffffffffffffffffffffffffffff166126e982611239565b73ffffffffffffffffffffffffffffffffffffffff161461270957600080fd5b612712816125b9565b6127656001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e743235362c6279746573296973417070726f766564466f72416c6c28616464726573732c6164647265737329a265627a7a723158203851e1a7c34807fd87cd4b670538168e0584812b7d1f4078ac2687a8c6455ca664736f6c63430005100032", + "sourceMap": "166:4985:18:-;;;1022:105;8:9:-1;5:2;;;30:1;27;20:12;5:2;1022:105:18;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1022:105:18;;;;;;;;;;;;;;;;;;;;;;;;;640:40:20;236:10;659:20;;640:18;;;:40;;:::i;:::-;524:10:23;515:6;;:19;;;;;;;;;;;;;;;;;;582:6;;;;;;;;;;;549:40;;578:1;549:40;;;;;;;;;;;;1906::24;1163:10;1925:20;;1906:18;;;:40;;:::i;:::-;1086:4:18;1080:3;;:10;;;;;;;;;;;;;;;;;;1111:9;1100:8;:20;;;;1022:105;;166:4985;;990:158:20;1080:10;1065:25;;:11;:25;;;;;1057:34;;;;;;1137:4;1101:20;:33;1122:11;1101:33;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;990:158;:::o;166:4985:18:-;;;;;;;", + "deployedSourceMap": "166:4985:18:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;166:4985:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4930:219;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4930:219:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3705:151:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3705:151:24;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3128:292;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3128:292:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3443:146:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3443:146:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5260:180:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5260:180:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4747:177:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4747:177:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;660:14:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6079:132:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6079:132:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2253:110:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2253:110:18;;;;;;;;;;;;;;;;;;;:::i;:::-;;1595:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1595:152:18;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2156:150:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2156:150:24;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1347:137:23;;;:::i;:::-;;659:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;979:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2607:187:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2607:187:18;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4148:213:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4148:213:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1821:151:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1821:151:18;;;;;;;;;;;;;;;;;;;:::i;:::-;;6916:211:24;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6916:211:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6916:211:24;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6916:211:24;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6916:211:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6916:211:24;;;;;;;;;;;;;;;:::i;:::-;;252:43:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4231:414:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4231:414:18;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2430:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2430:97:18;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;848:41:17;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;848:41:17;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;743:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4682:145:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4682:145:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1655:107:23;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1655:107:23;;;;;;;;;;;;;;;;;;;:::i;:::-;;2030:157:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2030:157:18;;;;;;;;;;;;;;;;;;;:::i;:::-;;3032:141;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3032:141:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4930:219;5000:4;352:38;;;;;;;;;;;;;;;;;;;5023:32;;;:11;:32;;;;:75;;;;861:60;;;;;;;;;;;;;;;;;;;796:54;;;;;;;;;;;;;;;;;;;735:50;;;;;;;;;;;;;;;;;;;678:46;;;;;;;;;;;;;;;;;;;623:44;;;;;;;;;;;;;;;;;;;579:33;;;;;;;;;;;;;;;;;;;531:37;;;;;;;;;;;;;;;;;;;491:29;;;;;;;;;;;;;;;;;;;449:31;;;;;;;;;;;;;;;;;;;:71;:119;:163;:218;:275;:336;:401;:472;5074:24;;;:11;:24;;;;5023:75;:119;;;;977:37;;;;;;;;;;;;;;;;;;;5117:25;;;:11;:25;;;;5023:119;5016:126;;4930:219;;;:::o;3705:151:24:-;3764:7;3791:16;3799:7;3791;:16::i;:::-;3783:25;;;;;;3825:15;:24;3841:7;3825:24;;;;;;;;;;;;;;;;;;;;;3818:31;;3705:151;;;:::o;3128:292::-;3191:13;3207:16;3215:7;3207;:16::i;:::-;3191:32;;3247:5;3241:11;;:2;:11;;;;3233:20;;;;;;3285:5;3271:19;;:10;:19;;;:58;;;;3294:35;3311:5;3318:10;3294:16;:35::i;:::-;3271:58;3263:67;;;;;;3368:2;3341:15;:24;3357:7;3341:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3405:7;3401:2;3385:28;;3394:5;3385:28;;;;;;;;;;;;3128:292;;;:::o;3443:146:18:-;3524:4;3545:37;3555:2;3559:5;3566:8;3576:5;3545:9;:37::i;:::-;3538:44;;3443:146;;;;;:::o;5260:180:24:-;5350:39;5369:10;5381:7;5350:18;:39::i;:::-;5342:48;;;;;;5401:32;5415:4;5421:2;5425:7;5401:13;:32::i;:::-;5260:180;;;:::o;4747:177:18:-;1196:4;1165:36;;:3;;;;;;;;;;;:9;;;1175:8;;1165:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1165:19:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1165:19:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1165:19:18;;;;;;;;;;;;;;;;:36;;;1157:45;;;;;;4823:34;4842:10;4854:2;4823:18;:34::i;:::-;4815:43;;;;;;4868:3;;;;;;;;;;;:19;;;4888:8;;4906:2;4898:11;;4911:5;4868:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4868:49:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4868:49:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4868:49:18;;;;;;;;;;;;;;;;;4747:177;;:::o;660:14:17:-;;;;;;;;;;;;;:::o;6079:132:24:-;6165:39;6182:4;6188:2;6192:7;6165:39;;;;;;;;;;;;:16;:39::i;:::-;6079:132;;;:::o;2253:110:18:-;863:9:23;:7;:9::i;:::-;855:18;;;;;;2321:3:18;;;;;;;;;;;:15;;;2337:8;;2347;2321:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2321:35:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2321:35:18;;;;2253:110;:::o;1595:152::-;1650:7;1697:3;1677:8;:17;1686:7;1677:17;;;;;;;;;;;;:23;1669:32;;;;;;1718:22;1732:7;1718:13;:22::i;:::-;1711:29;;1595:152;;;:::o;2156:150:24:-;2211:7;2255:1;2238:19;;:5;:19;;;;2230:28;;;;;;2275:17;:24;2293:5;2275:24;;;;;;;;;;;;;;;;2268:31;;2156:150;;;:::o;1347:137:23:-;863:9;:7;:9::i;:::-;855:18;;;;;;1445:1;1408:40;;1429:6;;;;;;;;;;;1408:40;;;;;;;;;;;;1475:1;1458:6;;:19;;;;;;;;;;;;;;;;;;1347:137::o;659:77::-;697:7;723:6;;;;;;;;;;;716:13;;659:77;:::o;979:90::-;1019:4;1056:6;;;;;;;;;;;1042:20;;:10;:20;;;1035:27;;979:90;:::o;2607:187:18:-;2658:4;2784:3;288:7:17;2754:8:18;:12;2763:2;2754:12;;;;;;;;;;;;:27;:33;2747:40;;2607:187;;;:::o;4148:213:24:-;4233:10;4227:16;;:2;:16;;;;4219:25;;;;;;4291:8;4254:18;:30;4273:10;4254:30;;;;;;;;;;;;;;;:34;4285:2;4254:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;4341:2;4314:40;;4329:10;4314:40;;;4345:8;4314:40;;;;;;;;;;;;;;;;;;;;;;4148:213;;:::o;1821:151:18:-;863:9:23;:7;:9::i;:::-;855:18;;;;;;1919:4:18;1893:11;:23;1905:10;1893:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;1954:10;1938:27;;;;;;;;;;;;1821:151;:::o;6916:211:24:-;7022:31;7035:4;7041:2;7045:7;7022:12;:31::i;:::-;7071:48;7094:4;7100:2;7104:7;7113:5;7071:22;:48::i;:::-;7063:57;;;;;;6916:211;;;;:::o;252:43:17:-;288:7;252:43;:::o;4231:414:18:-;4310:4;1196;1165:36;;:3;;;;;;;;;;;:9;;;1175:8;;1165:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1165:19:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1165:19:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1165:19:18;;;;;;;;;;;;;;;;:36;;;1157:45;;;;;;1268:11;:23;1280:10;1268:23;;;;;;;;;;;;;;;;;;;;;;;;;1260:32;;;;;;4365:3;288:7:17;4334:8:18;:12;4343:2;4334:12;;;;;;;;;;;;:27;:34;;4326:43;;;;;;288:7:17;4479:8:18;:23;288:7:17;4453:8:18;4438;:12;4447:2;4438:12;;;;;;;;;;;;:23;:38;:64;4430:73;;;;;;4557:8;4541;:12;4550:2;4541:12;;;;;;;;;;;;:24;;;;;;;;;;;4592:2;4580:29;4596:8;:12;4605:2;4596:12;;;;;;;;;;;;4580:29;;;;;;;;;;;;;;;;;;4626:8;:12;4635:2;4626:12;;;;;;;;;;;;4619:19;;4231:414;;;;:::o;2430:97::-;2485:4;2508:8;:12;2517:2;2508:12;;;;;;;;;;;;2501:19;;2430:97;;;:::o;848:41:17:-;;;;;;;;;;;;;;;;;;;;;;:::o;743:23::-;;;;:::o;4682:145:24:-;4762:4;4785:18;:25;4804:5;4785:25;;;;;;;;;;;;;;;:35;4811:8;4785:35;;;;;;;;;;;;;;;;;;;;;;;;;4778:42;;4682:145;;;;:::o;1655:107:23:-;863:9;:7;:9::i;:::-;855:18;;;;;;1727:28;1746:8;1727:18;:28::i;:::-;1655:107;:::o;2030:157:18:-;863:9:23;:7;:9::i;:::-;855:18;;;;;;2131:5:18;2105:11;:23;2117:10;2105:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;2169:10;2151:29;;;;;;;;;;;;2030:157;:::o;3032:141::-;3109:4;3130:36;3140:2;3144:5;3151:8;3161:4;3130:9;:36::i;:::-;3123:43;;3032:141;;;;;:::o;7316:152:24:-;7373:4;7389:13;7405:11;:20;7417:7;7405:20;;;;;;;;;;;;;;;;;;;;;7389:36;;7459:1;7442:19;;:5;:19;;;;7435:26;;;7316:152;;;:::o;3595:630:18:-;3714:4;1196;1165:36;;:3;;;;;;;;;;;:9;;;1175:8;;1165:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1165:19:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1165:19:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1165:19:18;;;;;;;;;;;;;;;;:36;;;1157:45;;;;;;1268:11;:23;1280:10;1268:23;;;;;;;;;;;;;;;;;;;;;;;;;1260:32;;;;;;3738:13;3748:2;3738:9;:13::i;:::-;3730:22;;;;;;288:7:17;3802:3:18;:18;288:7:17;3776:8:18;3770:3;:14;:29;:50;3762:59;;;;;;3880:8;3874:3;:14;3859:8;:12;3868:2;3859:12;;;;;;;;;;;:29;;;;3901:11;3909:2;3901:7;:11::i;:::-;3898:104;;;3982:9;3988:2;3982:5;:9::i;:::-;3898:104;4011:16;4017:5;4024:2;4011:5;:16::i;:::-;4040:14;4037:93;;;4070:3;;;;;;;;;;;:19;;;4090:8;;4108:2;4100:11;;4113:5;4070:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4070:49:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4070:49:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4070:49:18;;;;;;;;;;;;;;;;;4037:93;4164:5;4145:41;;4160:2;4145:41;4177:8;4171:3;:14;4145:41;;;;;;;;;;;;;;;;;;4210:8;4204:3;:14;4197:21;;3595:630;;;;;;:::o;7831:246:24:-;7916:4;7932:13;7948:16;7956:7;7948;:16::i;:::-;7932:32;;7993:5;7982:16;;:7;:16;;;:51;;;;8026:7;8002:31;;:20;8014:7;8002:11;:20::i;:::-;:31;;;7982:51;:87;;;;8037:32;8054:5;8061:7;8037:16;:32::i;:::-;7982:87;7974:96;;;7831:246;;;;:::o;9819:402::-;9932:4;9912:24;;:16;9920:7;9912;:16::i;:::-;:24;;;9904:33;;;;;;9969:1;9955:16;;:2;:16;;;;9947:25;;;;;;9983:23;9998:7;9983:14;:23::i;:::-;10043:30;10071:1;10043:17;:23;10061:4;10043:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;10017:17;:23;10035:4;10017:23;;;;;;;;;;;;;;;:56;;;;10107:28;10133:1;10107:17;:21;10125:2;10107:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;10083:17;:21;10101:2;10083:21;;;;;;;;;;;;;;;:52;;;;10169:2;10146:11;:20;10158:7;10146:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;10206:7;10202:2;10187:27;;10196:4;10187:27;;;;;;;;;;;;9819:402;;;:::o;2530:177::-;2585:7;2604:13;2620:11;:20;2632:7;2620:20;;;;;;;;;;;;;;;;;;;;;2604:36;;2675:1;2658:19;;:5;:19;;;;2650:28;;;;;;2695:5;2688:12;;;2530:177;;;:::o;10744:347::-;10865:4;10890:15;:2;:13;;;:15::i;:::-;10885:58;;10928:4;10921:11;;;;10885:58;10953:13;10985:2;10969:36;;;11006:10;11018:4;11024:7;11033:5;10969:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10969:70:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10969:70:24;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10969:70:24;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10969:70:24;;;;;;;;;;;;;;;;10953:86;;658:10;11067:16;;11057:26;;;:6;:26;;;;11049:35;;;10744:347;;;;;;;:::o;1906:183:23:-;1999:1;1979:22;;:8;:22;;;;1971:31;;;;;;2046:8;2017:38;;2038:6;;;;;;;;;;;2017:38;;;;;;;;;;;;2074:8;2065:6;;:17;;;;;;;;;;;;;;;;;;1906:183;:::o;9355:90:24:-;9406:32;9412:16;9420:7;9412;:16::i;:::-;9430:7;9406:5;:32::i;:::-;9355:90;:::o;8320:278::-;8405:1;8391:16;;:2;:16;;;;8383:25;;;;;;8427:16;8435:7;8427;:16::i;:::-;8426:17;8418:26;;;;;;8478:2;8455:11;:20;8467:7;8455:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;8514:28;8540:1;8514:17;:21;8532:2;8514:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;8490:17;:21;8508:2;8490:21;;;;;;;;;;;;;;;:52;;;;8583:7;8579:2;8558:33;;8575:1;8558:33;;;;;;;;;;;;8320:278;;:::o;11252:171::-;11351:1;11315:38;;:15;:24;11331:7;11315:24;;;;;;;;;;;;;;;;;;;;;:38;;;11311:106;;11404:1;11369:15;:24;11385:7;11369:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;11311:106;11252:171;:::o;1205:145:22:-;1263:7;1295:1;1290;:6;;1282:15;;;;;;1307:9;1323:1;1319;:5;1307:17;;1342:1;1335:8;;;1205:145;;;;:::o;1431:::-;1489:7;1508:9;1524:1;1520;:5;1508:17;;1548:1;1543;:6;;1535:15;;;;;;1568:1;1561:8;;;1431:145;;;;:::o;463:616:27:-;523:4;539:12;1038:7;1026:20;1018:28;;1071:1;1064:4;:8;1057:15;;;463:616;;;:::o;8871:305:24:-;8965:5;8945:25;;:16;8953:7;8945;:16::i;:::-;:25;;;8937:34;;;;;;8982:23;8997:7;8982:14;:23::i;:::-;9043:31;9072:1;9043:17;:24;9061:5;9043:24;;;;;;;;;;;;;;;;:28;;:31;;;;:::i;:::-;9016:17;:24;9034:5;9016:24;;;;;;;;;;;;;;;:58;;;;9115:1;9084:11;:20;9096:7;9084:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;9161:7;9157:1;9133:36;;9142:5;9133:36;;;;;;;;;;;;8871:305;;:::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"@ensdomains/ens/contracts/ENS.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC721/ERC721.sol\";\nimport \"./BaseRegistrar.sol\";\n\ncontract BaseRegistrarImplementation is BaseRegistrar, ERC721 {\n // A map of expiry times\n mapping(uint256=>uint) expiries;\n\n bytes4 constant private INTERFACE_META_ID = bytes4(keccak256(\"supportsInterface(bytes4)\"));\n bytes4 constant private ERC721_ID = bytes4(\n keccak256(\"balanceOf(address)\") ^\n keccak256(\"ownerOf(uint256)\") ^\n keccak256(\"approve(address,uint256)\") ^\n keccak256(\"getApproved(uint256)\") ^\n keccak256(\"setApprovalForAll(address,bool)\") ^\n keccak256(\"isApprovedForAll(address,address)\") ^\n keccak256(\"transferFrom(address,address,uint256)\") ^\n keccak256(\"safeTransferFrom(address,address,uint256)\") ^\n keccak256(\"safeTransferFrom(address,address,uint256,bytes)\")\n );\n bytes4 constant private RECLAIM_ID = bytes4(keccak256(\"reclaim(uint256,address)\"));\n\n constructor(ENS _ens, bytes32 _baseNode) public {\n ens = _ens;\n baseNode = _baseNode;\n }\n\n modifier live {\n require(ens.owner(baseNode) == address(this));\n _;\n }\n\n modifier onlyController {\n require(controllers[msg.sender]);\n _;\n }\n\n /**\n * @dev Gets the owner of the specified token ID. Names become unowned\n * when their registration expires.\n * @param tokenId uint256 ID of the token to query the owner of\n * @return address currently marked as the owner of the given token ID\n */\n function ownerOf(uint256 tokenId) public view returns (address) {\n require(expiries[tokenId] > now);\n return super.ownerOf(tokenId);\n }\n\n // Authorises a controller, who can register and renew domains.\n function addController(address controller) external onlyOwner {\n controllers[controller] = true;\n emit ControllerAdded(controller);\n }\n\n // Revoke controller permission for an address.\n function removeController(address controller) external onlyOwner {\n controllers[controller] = false;\n emit ControllerRemoved(controller);\n }\n\n // Set the resolver for the TLD this registrar manages.\n function setResolver(address resolver) external onlyOwner {\n ens.setResolver(baseNode, resolver);\n }\n\n // Returns the expiration timestamp of the specified id.\n function nameExpires(uint256 id) external view returns(uint) {\n return expiries[id];\n }\n\n // Returns true iff the specified name is available for registration.\n function available(uint256 id) public view returns(bool) {\n // Not available if it's registered here or in its grace period.\n return expiries[id] + GRACE_PERIOD < now;\n }\n\n /**\n * @dev Register a name.\n * @param id The token ID (keccak256 of the label).\n * @param owner The address that should own the registration.\n * @param duration Duration in seconds for the registration.\n */\n function register(uint256 id, address owner, uint duration) external returns(uint) {\n return _register(id, owner, duration, true);\n }\n\n /**\n * @dev Register a name, without modifying the registry.\n * @param id The token ID (keccak256 of the label).\n * @param owner The address that should own the registration.\n * @param duration Duration in seconds for the registration.\n */\n function registerOnly(uint256 id, address owner, uint duration) external returns(uint) {\n return _register(id, owner, duration, false);\n }\n\n function _register(uint256 id, address owner, uint duration, bool updateRegistry) internal live onlyController returns(uint) {\n require(available(id));\n require(now + duration + GRACE_PERIOD > now + GRACE_PERIOD); // Prevent future overflow\n\n expiries[id] = now + duration;\n if(_exists(id)) {\n // Name was previously owned, and expired\n _burn(id);\n }\n _mint(owner, id);\n if(updateRegistry) {\n ens.setSubnodeOwner(baseNode, bytes32(id), owner);\n }\n\n emit NameRegistered(id, owner, now + duration);\n\n return now + duration;\n }\n\n function renew(uint256 id, uint duration) external live onlyController returns(uint) {\n require(expiries[id] + GRACE_PERIOD >= now); // Name must be registered here or in grace period\n require(expiries[id] + duration + GRACE_PERIOD > duration + GRACE_PERIOD); // Prevent future overflow\n\n expiries[id] += duration;\n emit NameRenewed(id, expiries[id]);\n return expiries[id];\n }\n\n /**\n * @dev Reclaim ownership of a name in ENS, if you own it in the registrar.\n */\n function reclaim(uint256 id, address owner) external live {\n require(_isApprovedOrOwner(msg.sender, id));\n ens.setSubnodeOwner(baseNode, bytes32(id), owner);\n }\n\n function supportsInterface(bytes4 interfaceID) external view returns (bool) {\n return interfaceID == INTERFACE_META_ID ||\n interfaceID == ERC721_ID ||\n interfaceID == RECLAIM_ID;\n }\n}\n", + "sourcePath": "@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol", + "ast": { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol", + "exportedSymbols": { + "BaseRegistrarImplementation": [ + 5315 + ] + }, + "id": 5316, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4884, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:18" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 4885, + "nodeType": "ImportDirective", + "scope": 5316, + "sourceUnit": 2617, + "src": "25:43:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "file": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "id": 4886, + "nodeType": "ImportDirective", + "scope": 5316, + "sourceUnit": 6758, + "src": "69:65:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "file": "./BaseRegistrar.sol", + "id": 4887, + "nodeType": "ImportDirective", + "scope": 5316, + "sourceUnit": 4883, + "src": "135:29:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4888, + "name": "BaseRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4882, + "src": "206:13:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 4889, + "nodeType": "InheritanceSpecifier", + "src": "206:13:18" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4890, + "name": "ERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6757, + "src": "221:6:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721_$6757", + "typeString": "contract ERC721" + } + }, + "id": 4891, + "nodeType": "InheritanceSpecifier", + "src": "221:6:18" + } + ], + "contractDependencies": [ + 4882, + 5951, + 5961, + 6198, + 6757, + 6860 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 5315, + "linearizedBaseContracts": [ + 5315, + 6757, + 4882, + 6198, + 6860, + 5951, + 5961 + ], + "name": "BaseRegistrarImplementation", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 4895, + "name": "expiries", + "nodeType": "VariableDeclaration", + "scope": 5315, + "src": "263:31:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 4894, + "keyType": { + "id": 4892, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "271:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "263:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 4893, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "280:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": true, + "id": 4902, + "name": "INTERFACE_META_ID", + "nodeType": "VariableDeclaration", + "scope": 5315, + "src": "301:90:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4896, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "301:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "737570706f727473496e746572666163652862797465733429", + "id": 4899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "362:27:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e2", + "typeString": "literal_string \"supportsInterface(bytes4)\"" + }, + "value": "supportsInterface(bytes4)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e2", + "typeString": "literal_string \"supportsInterface(bytes4)\"" + } + ], + "id": 4898, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "352:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "352:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "345:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 4901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "345:46:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "constant": true, + "id": 4941, + "name": "ERC721_ID", + "nodeType": "VariableDeclaration", + "scope": 5315, + "src": "397:530:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4903, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "397:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "62616c616e63654f66286164647265737329", + "id": 4906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "459:20:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "typeString": "literal_string \"balanceOf(address)\"" + }, + "value": "balanceOf(address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "typeString": "literal_string \"balanceOf(address)\"" + } + ], + "id": 4905, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "449:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "449:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6f776e65724f662875696e7432353629", + "id": 4909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "501:18:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", + "typeString": "literal_string \"ownerOf(uint256)\"" + }, + "value": "ownerOf(uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", + "typeString": "literal_string \"ownerOf(uint256)\"" + } + ], + "id": 4908, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "491:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "491:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "617070726f766528616464726573732c75696e7432353629", + "id": 4913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "541:26:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "typeString": "literal_string \"approve(address,uint256)\"" + }, + "value": "approve(address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "typeString": "literal_string \"approve(address,uint256)\"" + } + ], + "id": 4912, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "531:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "531:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:119:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "676574417070726f7665642875696e7432353629", + "id": 4917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "589:22:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "typeString": "literal_string \"getApproved(uint256)\"" + }, + "value": "getApproved(uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "typeString": "literal_string \"getApproved(uint256)\"" + } + ], + "id": 4916, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "579:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "579:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:163:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736574417070726f76616c466f72416c6c28616464726573732c626f6f6c29", + "id": 4921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "633:33:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "typeString": "literal_string \"setApprovalForAll(address,bool)\"" + }, + "value": "setApprovalForAll(address,bool)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "typeString": "literal_string \"setApprovalForAll(address,bool)\"" + } + ], + "id": 4920, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "623:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "623:44:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:218:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6973417070726f766564466f72416c6c28616464726573732c6164647265737329", + "id": 4925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "688:35:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", + "typeString": "literal_string \"isApprovedForAll(address,address)\"" + }, + "value": "isApprovedForAll(address,address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", + "typeString": "literal_string \"isApprovedForAll(address,address)\"" + } + ], + "id": 4924, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "678:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "678:46:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:275:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629", + "id": 4929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "745:39:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "typeString": "literal_string \"transferFrom(address,address,uint256)\"" + }, + "value": "transferFrom(address,address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "typeString": "literal_string \"transferFrom(address,address,uint256)\"" + } + ], + "id": 4928, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "735:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "735:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:336:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629", + "id": 4933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "806:43:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256)\"" + }, + "value": "safeTransferFrom(address,address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256)\"" + } + ], + "id": 4932, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "796:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "796:54:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:401:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e743235362c627974657329", + "id": 4937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "871:49:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256,bytes)\"" + }, + "value": "safeTransferFrom(address,address,uint256,bytes)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256,bytes)\"" + } + ], + "id": 4936, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "861:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "861:60:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:472:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "433:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 4940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "433:494:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "constant": true, + "id": 4948, + "name": "RECLAIM_ID", + "nodeType": "VariableDeclaration", + "scope": 5315, + "src": "933:82:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4942, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "933:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7265636c61696d2875696e743235362c6164647265737329", + "id": 4945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "987:26:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_28ed4f6c74b219a5819055dfbcd2f1837c046c364cf01fabb6799e4f440d6f13", + "typeString": "literal_string \"reclaim(uint256,address)\"" + }, + "value": "reclaim(uint256,address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_28ed4f6c74b219a5819055dfbcd2f1837c046c364cf01fabb6799e4f440d6f13", + "typeString": "literal_string \"reclaim(uint256,address)\"" + } + ], + "id": 4944, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "977:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "977:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "970:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 4947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "970:45:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 4963, + "nodeType": "Block", + "src": "1070:57:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4955, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "1080:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4956, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4950, + "src": "1086:4:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "src": "1080:10:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4958, + "nodeType": "ExpressionStatement", + "src": "1080:10:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4959, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "1100:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4960, + "name": "_baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4952, + "src": "1111:9:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1100:20:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4962, + "nodeType": "ExpressionStatement", + "src": "1100:20:18" + } + ] + }, + "documentation": null, + "id": 4964, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4950, + "name": "_ens", + "nodeType": "VariableDeclaration", + "scope": 4964, + "src": "1034:8:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 4949, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1034:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4952, + "name": "_baseNode", + "nodeType": "VariableDeclaration", + "scope": 4964, + "src": "1044:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4951, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1044:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1033:29:18" + }, + "returnParameters": { + "id": 4954, + "nodeType": "ParameterList", + "parameters": [], + "src": "1070:0:18" + }, + "scope": 5315, + "src": "1022:105:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4978, + "nodeType": "Block", + "src": "1147:73:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4969, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "1175:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4967, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "1165:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1165:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 4970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1165:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4972, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6968, + "src": "1196:4:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrarImplementation_$5315", + "typeString": "contract BaseRegistrarImplementation" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BaseRegistrarImplementation_$5315", + "typeString": "contract BaseRegistrarImplementation" + } + ], + "id": 4971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1188:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1188:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1165:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4966, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1157:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1157:45:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4976, + "nodeType": "ExpressionStatement", + "src": "1157:45:18" + }, + { + "id": 4977, + "nodeType": "PlaceholderStatement", + "src": "1212:1:18" + } + ] + }, + "documentation": null, + "id": 4979, + "name": "live", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4965, + "nodeType": "ParameterList", + "parameters": [], + "src": "1147:0:18" + }, + "src": "1133:87:18", + "visibility": "internal" + }, + { + "body": { + "id": 4989, + "nodeType": "Block", + "src": "1250:60:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4982, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "1268:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 4985, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4983, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "1280:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1280:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1268:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4981, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1260:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1260:32:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4987, + "nodeType": "ExpressionStatement", + "src": "1260:32:18" + }, + { + "id": 4988, + "nodeType": "PlaceholderStatement", + "src": "1302:1:18" + } + ] + }, + "documentation": null, + "id": 4990, + "name": "onlyController", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4980, + "nodeType": "ParameterList", + "parameters": [], + "src": "1250:0:18" + }, + "src": "1226:84:18", + "visibility": "internal" + }, + { + "body": { + "id": 5010, + "nodeType": "Block", + "src": "1659:88:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4998, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "1677:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5000, + "indexExpression": { + "argumentTypes": null, + "id": 4999, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4992, + "src": "1686:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1677:17:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5001, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "1697:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1677:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4997, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1669:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1669:32:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5004, + "nodeType": "ExpressionStatement", + "src": "1669:32:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5007, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4992, + "src": "1732:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5005, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6969, + "src": "1718:5:18", + "typeDescriptions": { + "typeIdentifier": "t_super$_BaseRegistrarImplementation_$5315", + "typeString": "contract super BaseRegistrarImplementation" + } + }, + "id": 5006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 6291, + "src": "1718:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1718:22:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4996, + "id": 5009, + "nodeType": "Return", + "src": "1711:29:18" + } + ] + }, + "documentation": "@dev Gets the owner of the specified token ID. Names become unowned\n when their registration expires.\n@param tokenId uint256 ID of the token to query the owner of\n@return address currently marked as the owner of the given token ID", + "id": 5011, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4992, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 5011, + "src": "1612:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1612:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1611:17:18" + }, + "returnParameters": { + "id": 4996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4995, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5011, + "src": "1650:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4994, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1650:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1649:9:18" + }, + "scope": 5315, + "src": "1595:152:18", + "stateMutability": "view", + "superFunction": 6291, + "visibility": "public" + }, + { + "body": { + "id": 5028, + "nodeType": "Block", + "src": "1883:89:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5018, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "1893:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5020, + "indexExpression": { + "argumentTypes": null, + "id": 5019, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5013, + "src": "1905:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1893:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1919:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1893:30:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5023, + "nodeType": "ExpressionStatement", + "src": "1893:30:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5025, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5013, + "src": "1954:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5024, + "name": "ControllerAdded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4791, + "src": "1938:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1938:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5027, + "nodeType": "EmitStatement", + "src": "1933:32:18" + } + ] + }, + "documentation": null, + "id": 5029, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5016, + "modifierName": { + "argumentTypes": null, + "id": 5015, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "1873:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1873:9:18" + } + ], + "name": "addController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5013, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 5029, + "src": "1844:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5012, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1844:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1843:20:18" + }, + "returnParameters": { + "id": 5017, + "nodeType": "ParameterList", + "parameters": [], + "src": "1883:0:18" + }, + "scope": 5315, + "src": "1821:151:18", + "stateMutability": "nonpayable", + "superFunction": 4830, + "visibility": "external" + }, + { + "body": { + "id": 5046, + "nodeType": "Block", + "src": "2095:92:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5036, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "2105:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5038, + "indexExpression": { + "argumentTypes": null, + "id": 5037, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5031, + "src": "2117:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2105:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2131:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2105:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5041, + "nodeType": "ExpressionStatement", + "src": "2105:31:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5043, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5031, + "src": "2169:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5042, + "name": "ControllerRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4795, + "src": "2151:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2151:29:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5045, + "nodeType": "EmitStatement", + "src": "2146:34:18" + } + ] + }, + "documentation": null, + "id": 5047, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5034, + "modifierName": { + "argumentTypes": null, + "id": 5033, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "2085:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2085:9:18" + } + ], + "name": "removeController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5032, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5031, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 5047, + "src": "2056:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5030, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2056:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2055:20:18" + }, + "returnParameters": { + "id": 5035, + "nodeType": "ParameterList", + "parameters": [], + "src": "2095:0:18" + }, + "scope": 5315, + "src": "2030:157:18", + "stateMutability": "nonpayable", + "superFunction": 4835, + "visibility": "external" + }, + { + "body": { + "id": 5061, + "nodeType": "Block", + "src": "2311:52:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5057, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "2337:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5058, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5049, + "src": "2347:8:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5054, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "2321:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "2321:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 5059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2321:35:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5060, + "nodeType": "ExpressionStatement", + "src": "2321:35:18" + } + ] + }, + "documentation": null, + "id": 5062, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5052, + "modifierName": { + "argumentTypes": null, + "id": 5051, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "2301:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2301:9:18" + } + ], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5050, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5049, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 5062, + "src": "2274:16:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5048, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2274:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2273:18:18" + }, + "returnParameters": { + "id": 5053, + "nodeType": "ParameterList", + "parameters": [], + "src": "2311:0:18" + }, + "scope": 5315, + "src": "2253:110:18", + "stateMutability": "nonpayable", + "superFunction": 4840, + "visibility": "external" + }, + { + "body": { + "id": 5073, + "nodeType": "Block", + "src": "2491:36:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5069, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "2508:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5071, + "indexExpression": { + "argumentTypes": null, + "id": 5070, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5064, + "src": "2517:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2508:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5068, + "id": 5072, + "nodeType": "Return", + "src": "2501:19:18" + } + ] + }, + "documentation": null, + "id": 5074, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "nameExpires", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5064, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5074, + "src": "2451:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5063, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2451:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2450:12:18" + }, + "returnParameters": { + "id": 5068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5067, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5074, + "src": "2485:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5066, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2485:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2484:6:18" + }, + "scope": 5315, + "src": "2430:97:18", + "stateMutability": "view", + "superFunction": 4847, + "visibility": "external" + }, + { + "body": { + "id": 5089, + "nodeType": "Block", + "src": "2664:130:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5081, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "2754:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5083, + "indexExpression": { + "argumentTypes": null, + "id": 5082, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5076, + "src": "2763:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2754:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5084, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "2769:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2754:27:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 5086, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "2784:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2754:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5080, + "id": 5088, + "nodeType": "Return", + "src": "2747:40:18" + } + ] + }, + "documentation": null, + "id": 5090, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "available", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5076, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5090, + "src": "2626:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2626:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2625:12:18" + }, + "returnParameters": { + "id": 5080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5079, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5090, + "src": "2658:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5078, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2658:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2657:6:18" + }, + "scope": 5315, + "src": "2607:187:18", + "stateMutability": "view", + "superFunction": 4854, + "visibility": "public" + }, + { + "body": { + "id": 5108, + "nodeType": "Block", + "src": "3115:58:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5102, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5092, + "src": "3140:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5103, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5094, + "src": "3144:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5104, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5096, + "src": "3151:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3161:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5101, + "name": "_register", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5211, + "src": "3130:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_bool_$returns$_t_uint256_$", + "typeString": "function (uint256,address,uint256,bool) returns (uint256)" + } + }, + "id": 5106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3130:36:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5100, + "id": 5107, + "nodeType": "Return", + "src": "3123:43:18" + } + ] + }, + "documentation": "@dev Register a name.\n@param id The token ID (keccak256 of the label).\n@param owner The address that should own the registration.\n@param duration Duration in seconds for the registration.", + "id": 5109, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5092, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5109, + "src": "3050:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5091, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3050:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5094, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5109, + "src": "3062:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5093, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3062:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5096, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5109, + "src": "3077:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5095, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3077:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3049:42:18" + }, + "returnParameters": { + "id": 5100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5099, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5109, + "src": "3109:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5098, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3109:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3108:6:18" + }, + "scope": 5315, + "src": "3032:141:18", + "stateMutability": "nonpayable", + "superFunction": 4865, + "visibility": "external" + }, + { + "body": { + "id": 5127, + "nodeType": "Block", + "src": "3530:59:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5121, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5111, + "src": "3555:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5122, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "3559:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5123, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5115, + "src": "3566:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3576:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5120, + "name": "_register", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5211, + "src": "3545:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_bool_$returns$_t_uint256_$", + "typeString": "function (uint256,address,uint256,bool) returns (uint256)" + } + }, + "id": 5125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3545:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5119, + "id": 5126, + "nodeType": "Return", + "src": "3538:44:18" + } + ] + }, + "documentation": "@dev Register a name, without modifying the registry.\n@param id The token ID (keccak256 of the label).\n@param owner The address that should own the registration.\n@param duration Duration in seconds for the registration.", + "id": 5128, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerOnly", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5111, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "3465:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5110, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3465:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5113, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "3477:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3477:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5115, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "3492:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5114, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3492:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3464:42:18" + }, + "returnParameters": { + "id": 5119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5118, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "3524:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5117, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3524:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3523:6:18" + }, + "scope": 5315, + "src": "3443:146:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 5210, + "nodeType": "Block", + "src": "3720:505:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5147, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "3748:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5146, + "name": "available", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5090 + ], + "referencedDeclaration": 5090, + "src": "3738:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3738:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5145, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3730:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3730:22:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5150, + "nodeType": "ExpressionStatement", + "src": "3730:22:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5152, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "3770:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5153, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "3776:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3770:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5155, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "3787:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3770:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5157, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "3802:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5158, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "3808:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3802:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3770:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5151, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3762:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3762:59:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5162, + "nodeType": "ExpressionStatement", + "src": "3762:59:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5163, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "3859:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5165, + "indexExpression": { + "argumentTypes": null, + "id": 5164, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "3868:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3859:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5166, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "3874:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5167, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "3880:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3874:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3859:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5170, + "nodeType": "ExpressionStatement", + "src": "3859:29:18" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5172, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "3909:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5171, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "3901:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3901:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5179, + "nodeType": "IfStatement", + "src": "3898:104:18", + "trueBody": { + "id": 5178, + "nodeType": "Block", + "src": "3914:88:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5175, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "3988:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5174, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6616, + 6629 + ], + "referencedDeclaration": 6629, + "src": "3982:5:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3982:9:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5177, + "nodeType": "ExpressionStatement", + "src": "3982:9:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5181, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5132, + "src": "4017:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5182, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "4024:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5180, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6569, + "src": "4011:5:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4011:16:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5184, + "nodeType": "ExpressionStatement", + "src": "4011:16:18" + }, + { + "condition": { + "argumentTypes": null, + "id": 5185, + "name": "updateRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "4040:14:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5197, + "nodeType": "IfStatement", + "src": "4037:93:18", + "trueBody": { + "id": 5196, + "nodeType": "Block", + "src": "4056:74:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5189, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "4090:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5191, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "4108:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4100:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 5192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4100:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5193, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5132, + "src": "4113:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5186, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "4070:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "4070:19:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 5194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4070:49:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5195, + "nodeType": "ExpressionStatement", + "src": "4070:49:18" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5199, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "4160:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5200, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5132, + "src": "4164:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5201, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4171:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5202, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "4177:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4171:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5198, + "name": "NameRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4811, + "src": "4145:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 5204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4145:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5205, + "nodeType": "EmitStatement", + "src": "4140:46:18" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5206, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4204:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5207, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "4210:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4204:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5144, + "id": 5209, + "nodeType": "Return", + "src": "4197:21:18" + } + ] + }, + "documentation": null, + "id": 5211, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5139, + "modifierName": { + "argumentTypes": null, + "id": 5138, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "3686:4:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3686:4:18" + }, + { + "arguments": null, + "id": 5141, + "modifierName": { + "argumentTypes": null, + "id": 5140, + "name": "onlyController", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4990, + "src": "3691:14:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3691:14:18" + } + ], + "name": "_register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5130, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "3614:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3614:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5132, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "3626:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3626:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5134, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "3641:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5133, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3641:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5136, + "name": "updateRegistry", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "3656:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5135, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3656:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3613:63:18" + }, + "returnParameters": { + "id": 5144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5143, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "3714:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5142, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3714:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3713:6:18" + }, + "scope": 5315, + "src": "3595:630:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5265, + "nodeType": "Block", + "src": "4316:329:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5225, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "4334:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5227, + "indexExpression": { + "argumentTypes": null, + "id": 5226, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4343:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4334:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5228, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4349:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4334:27:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 5230, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4365:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4334:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5224, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4326:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4326:43:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5233, + "nodeType": "ExpressionStatement", + "src": "4326:43:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5235, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "4438:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5237, + "indexExpression": { + "argumentTypes": null, + "id": 5236, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4447:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4438:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5238, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5215, + "src": "4453:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4438:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5240, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4464:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4438:38:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5242, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5215, + "src": "4479:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5243, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4490:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4479:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4438:64:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5234, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4430:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4430:73:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5247, + "nodeType": "ExpressionStatement", + "src": "4430:73:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5248, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "4541:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5250, + "indexExpression": { + "argumentTypes": null, + "id": 5249, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4550:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4541:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5251, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5215, + "src": "4557:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4541:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5253, + "nodeType": "ExpressionStatement", + "src": "4541:24:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5255, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4592:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5256, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "4596:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5258, + "indexExpression": { + "argumentTypes": null, + "id": 5257, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4605:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4596:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5254, + "name": "NameRenewed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4817, + "src": "4580:11:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 5259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4580:29:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5260, + "nodeType": "EmitStatement", + "src": "4575:34:18" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5261, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "4626:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5263, + "indexExpression": { + "argumentTypes": null, + "id": 5262, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4635:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4626:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5223, + "id": 5264, + "nodeType": "Return", + "src": "4619:19:18" + } + ] + }, + "documentation": null, + "id": 5266, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5218, + "modifierName": { + "argumentTypes": null, + "id": 5217, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "4282:4:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4282:4:18" + }, + { + "arguments": null, + "id": 5220, + "modifierName": { + "argumentTypes": null, + "id": 5219, + "name": "onlyController", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4990, + "src": "4287:14:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4287:14:18" + } + ], + "name": "renew", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5213, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5266, + "src": "4246:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5212, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4246:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5215, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5266, + "src": "4258:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5214, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4258:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4245:27:18" + }, + "returnParameters": { + "id": 5223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5222, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5266, + "src": "4310:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5221, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4310:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4309:6:18" + }, + "scope": 5315, + "src": "4231:414:18", + "stateMutability": "nonpayable", + "superFunction": 4874, + "visibility": "external" + }, + { + "body": { + "id": 5293, + "nodeType": "Block", + "src": "4805:119:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5277, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4842:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4842:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 5279, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5268, + "src": "4854:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5276, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6521, + "src": "4823:18:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 5280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4823:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5275, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4815:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4815:43:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5282, + "nodeType": "ExpressionStatement", + "src": "4815:43:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5286, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "4888:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5288, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5268, + "src": "4906:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4898:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 5289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4898:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5290, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5270, + "src": "4911:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5283, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "4868:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "4868:19:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 5291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4868:49:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5292, + "nodeType": "ExpressionStatement", + "src": "4868:49:18" + } + ] + }, + "documentation": "@dev Reclaim ownership of a name in ENS, if you own it in the registrar.", + "id": 5294, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5273, + "modifierName": { + "argumentTypes": null, + "id": 5272, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "4800:4:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4800:4:18" + } + ], + "name": "reclaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5268, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5294, + "src": "4764:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5267, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4764:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5270, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5294, + "src": "4776:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4776:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4763:27:18" + }, + "returnParameters": { + "id": 5274, + "nodeType": "ParameterList", + "parameters": [], + "src": "4805:0:18" + }, + "scope": 5315, + "src": "4747:177:18", + "stateMutability": "nonpayable", + "superFunction": 4881, + "visibility": "external" + }, + { + "body": { + "id": 5313, + "nodeType": "Block", + "src": "5006:143:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5301, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "5023:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5302, + "name": "INTERFACE_META_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4902, + "src": "5038:17:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "5023:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5304, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "5074:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5305, + "name": "ERC721_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4941, + "src": "5089:9:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "5074:24:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5023:75:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5308, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "5117:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5309, + "name": "RECLAIM_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4948, + "src": "5132:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "5117:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5023:119:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5300, + "id": 5312, + "nodeType": "Return", + "src": "5016:126:18" + } + ] + }, + "documentation": null, + "id": 5314, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5296, + "name": "interfaceID", + "nodeType": "VariableDeclaration", + "scope": 5314, + "src": "4957:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5295, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4957:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4956:20:18" + }, + "returnParameters": { + "id": 5300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5299, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5314, + "src": "5000:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5298, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5000:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4999:6:18" + }, + "scope": 5315, + "src": "4930:219:18", + "stateMutability": "view", + "superFunction": 5932, + "visibility": "external" + } + ], + "scope": 5316, + "src": "166:4985:18" + } + ], + "src": "0:5152:18" + }, + "legacyAST": { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol", + "exportedSymbols": { + "BaseRegistrarImplementation": [ + 5315 + ] + }, + "id": 5316, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4884, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:18" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 4885, + "nodeType": "ImportDirective", + "scope": 5316, + "sourceUnit": 2617, + "src": "25:43:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "file": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "id": 4886, + "nodeType": "ImportDirective", + "scope": 5316, + "sourceUnit": 6758, + "src": "69:65:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "file": "./BaseRegistrar.sol", + "id": 4887, + "nodeType": "ImportDirective", + "scope": 5316, + "sourceUnit": 4883, + "src": "135:29:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4888, + "name": "BaseRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4882, + "src": "206:13:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 4889, + "nodeType": "InheritanceSpecifier", + "src": "206:13:18" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4890, + "name": "ERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6757, + "src": "221:6:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721_$6757", + "typeString": "contract ERC721" + } + }, + "id": 4891, + "nodeType": "InheritanceSpecifier", + "src": "221:6:18" + } + ], + "contractDependencies": [ + 4882, + 5951, + 5961, + 6198, + 6757, + 6860 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 5315, + "linearizedBaseContracts": [ + 5315, + 6757, + 4882, + 6198, + 6860, + 5951, + 5961 + ], + "name": "BaseRegistrarImplementation", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 4895, + "name": "expiries", + "nodeType": "VariableDeclaration", + "scope": 5315, + "src": "263:31:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 4894, + "keyType": { + "id": 4892, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "271:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "263:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 4893, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "280:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": true, + "id": 4902, + "name": "INTERFACE_META_ID", + "nodeType": "VariableDeclaration", + "scope": 5315, + "src": "301:90:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4896, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "301:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "737570706f727473496e746572666163652862797465733429", + "id": 4899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "362:27:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e2", + "typeString": "literal_string \"supportsInterface(bytes4)\"" + }, + "value": "supportsInterface(bytes4)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e2", + "typeString": "literal_string \"supportsInterface(bytes4)\"" + } + ], + "id": 4898, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "352:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "352:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "345:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 4901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "345:46:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "constant": true, + "id": 4941, + "name": "ERC721_ID", + "nodeType": "VariableDeclaration", + "scope": 5315, + "src": "397:530:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4903, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "397:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "62616c616e63654f66286164647265737329", + "id": 4906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "459:20:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "typeString": "literal_string \"balanceOf(address)\"" + }, + "value": "balanceOf(address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_70a08231b98ef4ca268c9cc3f6b4590e4bfec28280db06bb5d45e689f2a360be", + "typeString": "literal_string \"balanceOf(address)\"" + } + ], + "id": 4905, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "449:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "449:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6f776e65724f662875696e7432353629", + "id": 4909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "501:18:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", + "typeString": "literal_string \"ownerOf(uint256)\"" + }, + "value": "ownerOf(uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", + "typeString": "literal_string \"ownerOf(uint256)\"" + } + ], + "id": 4908, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "491:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "491:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "617070726f766528616464726573732c75696e7432353629", + "id": 4913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "541:26:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "typeString": "literal_string \"approve(address,uint256)\"" + }, + "value": "approve(address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "typeString": "literal_string \"approve(address,uint256)\"" + } + ], + "id": 4912, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "531:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "531:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:119:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "676574417070726f7665642875696e7432353629", + "id": 4917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "589:22:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "typeString": "literal_string \"getApproved(uint256)\"" + }, + "value": "getApproved(uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "typeString": "literal_string \"getApproved(uint256)\"" + } + ], + "id": 4916, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "579:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "579:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:163:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736574417070726f76616c466f72416c6c28616464726573732c626f6f6c29", + "id": 4921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "633:33:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "typeString": "literal_string \"setApprovalForAll(address,bool)\"" + }, + "value": "setApprovalForAll(address,bool)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "typeString": "literal_string \"setApprovalForAll(address,bool)\"" + } + ], + "id": 4920, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "623:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "623:44:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:218:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6973417070726f766564466f72416c6c28616464726573732c6164647265737329", + "id": 4925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "688:35:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", + "typeString": "literal_string \"isApprovedForAll(address,address)\"" + }, + "value": "isApprovedForAll(address,address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", + "typeString": "literal_string \"isApprovedForAll(address,address)\"" + } + ], + "id": 4924, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "678:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "678:46:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:275:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629", + "id": 4929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "745:39:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "typeString": "literal_string \"transferFrom(address,address,uint256)\"" + }, + "value": "transferFrom(address,address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "typeString": "literal_string \"transferFrom(address,address,uint256)\"" + } + ], + "id": 4928, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "735:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "735:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:336:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629", + "id": 4933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "806:43:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256)\"" + }, + "value": "safeTransferFrom(address,address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256)\"" + } + ], + "id": 4932, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "796:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "796:54:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:401:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e743235362c627974657329", + "id": 4937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "871:49:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256,bytes)\"" + }, + "value": "safeTransferFrom(address,address,uint256,bytes)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256,bytes)\"" + } + ], + "id": 4936, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "861:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "861:60:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "449:472:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "433:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 4940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "433:494:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "constant": true, + "id": 4948, + "name": "RECLAIM_ID", + "nodeType": "VariableDeclaration", + "scope": 5315, + "src": "933:82:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4942, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "933:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7265636c61696d2875696e743235362c6164647265737329", + "id": 4945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "987:26:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_28ed4f6c74b219a5819055dfbcd2f1837c046c364cf01fabb6799e4f440d6f13", + "typeString": "literal_string \"reclaim(uint256,address)\"" + }, + "value": "reclaim(uint256,address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_28ed4f6c74b219a5819055dfbcd2f1837c046c364cf01fabb6799e4f440d6f13", + "typeString": "literal_string \"reclaim(uint256,address)\"" + } + ], + "id": 4944, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "977:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "977:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "970:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 4947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "970:45:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 4963, + "nodeType": "Block", + "src": "1070:57:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4955, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "1080:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4956, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4950, + "src": "1086:4:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "src": "1080:10:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4958, + "nodeType": "ExpressionStatement", + "src": "1080:10:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4959, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "1100:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4960, + "name": "_baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4952, + "src": "1111:9:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1100:20:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4962, + "nodeType": "ExpressionStatement", + "src": "1100:20:18" + } + ] + }, + "documentation": null, + "id": 4964, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4950, + "name": "_ens", + "nodeType": "VariableDeclaration", + "scope": 4964, + "src": "1034:8:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 4949, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1034:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4952, + "name": "_baseNode", + "nodeType": "VariableDeclaration", + "scope": 4964, + "src": "1044:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4951, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1044:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1033:29:18" + }, + "returnParameters": { + "id": 4954, + "nodeType": "ParameterList", + "parameters": [], + "src": "1070:0:18" + }, + "scope": 5315, + "src": "1022:105:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4978, + "nodeType": "Block", + "src": "1147:73:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4969, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "1175:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4967, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "1165:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1165:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 4970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1165:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4972, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6968, + "src": "1196:4:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrarImplementation_$5315", + "typeString": "contract BaseRegistrarImplementation" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BaseRegistrarImplementation_$5315", + "typeString": "contract BaseRegistrarImplementation" + } + ], + "id": 4971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1188:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1188:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1165:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4966, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1157:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1157:45:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4976, + "nodeType": "ExpressionStatement", + "src": "1157:45:18" + }, + { + "id": 4977, + "nodeType": "PlaceholderStatement", + "src": "1212:1:18" + } + ] + }, + "documentation": null, + "id": 4979, + "name": "live", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4965, + "nodeType": "ParameterList", + "parameters": [], + "src": "1147:0:18" + }, + "src": "1133:87:18", + "visibility": "internal" + }, + { + "body": { + "id": 4989, + "nodeType": "Block", + "src": "1250:60:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4982, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "1268:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 4985, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4983, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "1280:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1280:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1268:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4981, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1260:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1260:32:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4987, + "nodeType": "ExpressionStatement", + "src": "1260:32:18" + }, + { + "id": 4988, + "nodeType": "PlaceholderStatement", + "src": "1302:1:18" + } + ] + }, + "documentation": null, + "id": 4990, + "name": "onlyController", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4980, + "nodeType": "ParameterList", + "parameters": [], + "src": "1250:0:18" + }, + "src": "1226:84:18", + "visibility": "internal" + }, + { + "body": { + "id": 5010, + "nodeType": "Block", + "src": "1659:88:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4998, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "1677:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5000, + "indexExpression": { + "argumentTypes": null, + "id": 4999, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4992, + "src": "1686:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1677:17:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5001, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "1697:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1677:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4997, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1669:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1669:32:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5004, + "nodeType": "ExpressionStatement", + "src": "1669:32:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5007, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4992, + "src": "1732:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5005, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6969, + "src": "1718:5:18", + "typeDescriptions": { + "typeIdentifier": "t_super$_BaseRegistrarImplementation_$5315", + "typeString": "contract super BaseRegistrarImplementation" + } + }, + "id": 5006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 6291, + "src": "1718:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1718:22:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4996, + "id": 5009, + "nodeType": "Return", + "src": "1711:29:18" + } + ] + }, + "documentation": "@dev Gets the owner of the specified token ID. Names become unowned\n when their registration expires.\n@param tokenId uint256 ID of the token to query the owner of\n@return address currently marked as the owner of the given token ID", + "id": 5011, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4992, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 5011, + "src": "1612:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1612:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1611:17:18" + }, + "returnParameters": { + "id": 4996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4995, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5011, + "src": "1650:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4994, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1650:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1649:9:18" + }, + "scope": 5315, + "src": "1595:152:18", + "stateMutability": "view", + "superFunction": 6291, + "visibility": "public" + }, + { + "body": { + "id": 5028, + "nodeType": "Block", + "src": "1883:89:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5018, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "1893:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5020, + "indexExpression": { + "argumentTypes": null, + "id": 5019, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5013, + "src": "1905:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1893:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1919:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1893:30:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5023, + "nodeType": "ExpressionStatement", + "src": "1893:30:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5025, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5013, + "src": "1954:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5024, + "name": "ControllerAdded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4791, + "src": "1938:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1938:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5027, + "nodeType": "EmitStatement", + "src": "1933:32:18" + } + ] + }, + "documentation": null, + "id": 5029, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5016, + "modifierName": { + "argumentTypes": null, + "id": 5015, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "1873:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1873:9:18" + } + ], + "name": "addController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5013, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 5029, + "src": "1844:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5012, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1844:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1843:20:18" + }, + "returnParameters": { + "id": 5017, + "nodeType": "ParameterList", + "parameters": [], + "src": "1883:0:18" + }, + "scope": 5315, + "src": "1821:151:18", + "stateMutability": "nonpayable", + "superFunction": 4830, + "visibility": "external" + }, + { + "body": { + "id": 5046, + "nodeType": "Block", + "src": "2095:92:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5036, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "2105:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5038, + "indexExpression": { + "argumentTypes": null, + "id": 5037, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5031, + "src": "2117:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2105:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2131:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2105:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5041, + "nodeType": "ExpressionStatement", + "src": "2105:31:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5043, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5031, + "src": "2169:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5042, + "name": "ControllerRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4795, + "src": "2151:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2151:29:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5045, + "nodeType": "EmitStatement", + "src": "2146:34:18" + } + ] + }, + "documentation": null, + "id": 5047, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5034, + "modifierName": { + "argumentTypes": null, + "id": 5033, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "2085:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2085:9:18" + } + ], + "name": "removeController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5032, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5031, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 5047, + "src": "2056:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5030, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2056:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2055:20:18" + }, + "returnParameters": { + "id": 5035, + "nodeType": "ParameterList", + "parameters": [], + "src": "2095:0:18" + }, + "scope": 5315, + "src": "2030:157:18", + "stateMutability": "nonpayable", + "superFunction": 4835, + "visibility": "external" + }, + { + "body": { + "id": 5061, + "nodeType": "Block", + "src": "2311:52:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5057, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "2337:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5058, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5049, + "src": "2347:8:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5054, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "2321:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "2321:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 5059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2321:35:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5060, + "nodeType": "ExpressionStatement", + "src": "2321:35:18" + } + ] + }, + "documentation": null, + "id": 5062, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5052, + "modifierName": { + "argumentTypes": null, + "id": 5051, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "2301:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2301:9:18" + } + ], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5050, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5049, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 5062, + "src": "2274:16:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5048, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2274:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2273:18:18" + }, + "returnParameters": { + "id": 5053, + "nodeType": "ParameterList", + "parameters": [], + "src": "2311:0:18" + }, + "scope": 5315, + "src": "2253:110:18", + "stateMutability": "nonpayable", + "superFunction": 4840, + "visibility": "external" + }, + { + "body": { + "id": 5073, + "nodeType": "Block", + "src": "2491:36:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5069, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "2508:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5071, + "indexExpression": { + "argumentTypes": null, + "id": 5070, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5064, + "src": "2517:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2508:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5068, + "id": 5072, + "nodeType": "Return", + "src": "2501:19:18" + } + ] + }, + "documentation": null, + "id": 5074, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "nameExpires", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5064, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5074, + "src": "2451:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5063, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2451:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2450:12:18" + }, + "returnParameters": { + "id": 5068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5067, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5074, + "src": "2485:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5066, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2485:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2484:6:18" + }, + "scope": 5315, + "src": "2430:97:18", + "stateMutability": "view", + "superFunction": 4847, + "visibility": "external" + }, + { + "body": { + "id": 5089, + "nodeType": "Block", + "src": "2664:130:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5081, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "2754:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5083, + "indexExpression": { + "argumentTypes": null, + "id": 5082, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5076, + "src": "2763:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2754:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5084, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "2769:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2754:27:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 5086, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "2784:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2754:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5080, + "id": 5088, + "nodeType": "Return", + "src": "2747:40:18" + } + ] + }, + "documentation": null, + "id": 5090, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "available", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5076, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5090, + "src": "2626:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2626:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2625:12:18" + }, + "returnParameters": { + "id": 5080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5079, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5090, + "src": "2658:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5078, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2658:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2657:6:18" + }, + "scope": 5315, + "src": "2607:187:18", + "stateMutability": "view", + "superFunction": 4854, + "visibility": "public" + }, + { + "body": { + "id": 5108, + "nodeType": "Block", + "src": "3115:58:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5102, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5092, + "src": "3140:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5103, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5094, + "src": "3144:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5104, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5096, + "src": "3151:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3161:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5101, + "name": "_register", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5211, + "src": "3130:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_bool_$returns$_t_uint256_$", + "typeString": "function (uint256,address,uint256,bool) returns (uint256)" + } + }, + "id": 5106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3130:36:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5100, + "id": 5107, + "nodeType": "Return", + "src": "3123:43:18" + } + ] + }, + "documentation": "@dev Register a name.\n@param id The token ID (keccak256 of the label).\n@param owner The address that should own the registration.\n@param duration Duration in seconds for the registration.", + "id": 5109, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5092, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5109, + "src": "3050:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5091, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3050:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5094, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5109, + "src": "3062:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5093, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3062:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5096, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5109, + "src": "3077:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5095, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3077:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3049:42:18" + }, + "returnParameters": { + "id": 5100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5099, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5109, + "src": "3109:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5098, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3109:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3108:6:18" + }, + "scope": 5315, + "src": "3032:141:18", + "stateMutability": "nonpayable", + "superFunction": 4865, + "visibility": "external" + }, + { + "body": { + "id": 5127, + "nodeType": "Block", + "src": "3530:59:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5121, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5111, + "src": "3555:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5122, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "3559:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5123, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5115, + "src": "3566:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3576:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5120, + "name": "_register", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5211, + "src": "3545:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_bool_$returns$_t_uint256_$", + "typeString": "function (uint256,address,uint256,bool) returns (uint256)" + } + }, + "id": 5125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3545:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5119, + "id": 5126, + "nodeType": "Return", + "src": "3538:44:18" + } + ] + }, + "documentation": "@dev Register a name, without modifying the registry.\n@param id The token ID (keccak256 of the label).\n@param owner The address that should own the registration.\n@param duration Duration in seconds for the registration.", + "id": 5128, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerOnly", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5111, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "3465:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5110, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3465:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5113, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "3477:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3477:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5115, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "3492:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5114, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3492:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3464:42:18" + }, + "returnParameters": { + "id": 5119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5118, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "3524:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5117, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3524:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3523:6:18" + }, + "scope": 5315, + "src": "3443:146:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 5210, + "nodeType": "Block", + "src": "3720:505:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5147, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "3748:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5146, + "name": "available", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5090 + ], + "referencedDeclaration": 5090, + "src": "3738:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3738:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5145, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3730:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3730:22:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5150, + "nodeType": "ExpressionStatement", + "src": "3730:22:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5152, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "3770:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5153, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "3776:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3770:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5155, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "3787:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3770:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5157, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "3802:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5158, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "3808:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3802:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3770:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5151, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3762:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3762:59:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5162, + "nodeType": "ExpressionStatement", + "src": "3762:59:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5163, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "3859:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5165, + "indexExpression": { + "argumentTypes": null, + "id": 5164, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "3868:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3859:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5166, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "3874:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5167, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "3880:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3874:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3859:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5170, + "nodeType": "ExpressionStatement", + "src": "3859:29:18" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5172, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "3909:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5171, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "3901:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3901:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5179, + "nodeType": "IfStatement", + "src": "3898:104:18", + "trueBody": { + "id": 5178, + "nodeType": "Block", + "src": "3914:88:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5175, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "3988:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5174, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6616, + 6629 + ], + "referencedDeclaration": 6629, + "src": "3982:5:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3982:9:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5177, + "nodeType": "ExpressionStatement", + "src": "3982:9:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5181, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5132, + "src": "4017:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5182, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "4024:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5180, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6569, + "src": "4011:5:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4011:16:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5184, + "nodeType": "ExpressionStatement", + "src": "4011:16:18" + }, + { + "condition": { + "argumentTypes": null, + "id": 5185, + "name": "updateRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "4040:14:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5197, + "nodeType": "IfStatement", + "src": "4037:93:18", + "trueBody": { + "id": 5196, + "nodeType": "Block", + "src": "4056:74:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5189, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "4090:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5191, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "4108:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4100:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 5192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4100:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5193, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5132, + "src": "4113:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5186, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "4070:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "4070:19:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 5194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4070:49:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5195, + "nodeType": "ExpressionStatement", + "src": "4070:49:18" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5199, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "4160:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5200, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5132, + "src": "4164:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5201, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4171:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5202, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "4177:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4171:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5198, + "name": "NameRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4811, + "src": "4145:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 5204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4145:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5205, + "nodeType": "EmitStatement", + "src": "4140:46:18" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5206, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4204:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5207, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "4210:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4204:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5144, + "id": 5209, + "nodeType": "Return", + "src": "4197:21:18" + } + ] + }, + "documentation": null, + "id": 5211, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5139, + "modifierName": { + "argumentTypes": null, + "id": 5138, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "3686:4:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3686:4:18" + }, + { + "arguments": null, + "id": 5141, + "modifierName": { + "argumentTypes": null, + "id": 5140, + "name": "onlyController", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4990, + "src": "3691:14:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3691:14:18" + } + ], + "name": "_register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5130, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "3614:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3614:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5132, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "3626:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3626:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5134, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "3641:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5133, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3641:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5136, + "name": "updateRegistry", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "3656:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5135, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3656:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3613:63:18" + }, + "returnParameters": { + "id": 5144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5143, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "3714:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5142, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3714:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3713:6:18" + }, + "scope": 5315, + "src": "3595:630:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5265, + "nodeType": "Block", + "src": "4316:329:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5225, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "4334:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5227, + "indexExpression": { + "argumentTypes": null, + "id": 5226, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4343:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4334:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5228, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4349:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4334:27:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 5230, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4365:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4334:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5224, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4326:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4326:43:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5233, + "nodeType": "ExpressionStatement", + "src": "4326:43:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5235, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "4438:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5237, + "indexExpression": { + "argumentTypes": null, + "id": 5236, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4447:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4438:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5238, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5215, + "src": "4453:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4438:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5240, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4464:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4438:38:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5242, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5215, + "src": "4479:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5243, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4490:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4479:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4438:64:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5234, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4430:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4430:73:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5247, + "nodeType": "ExpressionStatement", + "src": "4430:73:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5248, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "4541:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5250, + "indexExpression": { + "argumentTypes": null, + "id": 5249, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4550:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4541:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5251, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5215, + "src": "4557:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4541:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5253, + "nodeType": "ExpressionStatement", + "src": "4541:24:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5255, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4592:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5256, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "4596:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5258, + "indexExpression": { + "argumentTypes": null, + "id": 5257, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4605:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4596:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5254, + "name": "NameRenewed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4817, + "src": "4580:11:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 5259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4580:29:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5260, + "nodeType": "EmitStatement", + "src": "4575:34:18" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5261, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4895, + "src": "4626:8:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5263, + "indexExpression": { + "argumentTypes": null, + "id": 5262, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "4635:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4626:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5223, + "id": 5264, + "nodeType": "Return", + "src": "4619:19:18" + } + ] + }, + "documentation": null, + "id": 5266, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5218, + "modifierName": { + "argumentTypes": null, + "id": 5217, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "4282:4:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4282:4:18" + }, + { + "arguments": null, + "id": 5220, + "modifierName": { + "argumentTypes": null, + "id": 5219, + "name": "onlyController", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4990, + "src": "4287:14:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4287:14:18" + } + ], + "name": "renew", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5213, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5266, + "src": "4246:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5212, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4246:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5215, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5266, + "src": "4258:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5214, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4258:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4245:27:18" + }, + "returnParameters": { + "id": 5223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5222, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5266, + "src": "4310:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5221, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4310:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4309:6:18" + }, + "scope": 5315, + "src": "4231:414:18", + "stateMutability": "nonpayable", + "superFunction": 4874, + "visibility": "external" + }, + { + "body": { + "id": 5293, + "nodeType": "Block", + "src": "4805:119:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5277, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4842:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4842:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 5279, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5268, + "src": "4854:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5276, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6521, + "src": "4823:18:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 5280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4823:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5275, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4815:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4815:43:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5282, + "nodeType": "ExpressionStatement", + "src": "4815:43:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5286, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "4888:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5288, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5268, + "src": "4906:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4898:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 5289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4898:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5290, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5270, + "src": "4911:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5283, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "4868:3:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "4868:19:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 5291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4868:49:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5292, + "nodeType": "ExpressionStatement", + "src": "4868:49:18" + } + ] + }, + "documentation": "@dev Reclaim ownership of a name in ENS, if you own it in the registrar.", + "id": 5294, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5273, + "modifierName": { + "argumentTypes": null, + "id": 5272, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4979, + "src": "4800:4:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4800:4:18" + } + ], + "name": "reclaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5268, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5294, + "src": "4764:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5267, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4764:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5270, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5294, + "src": "4776:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4776:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4763:27:18" + }, + "returnParameters": { + "id": 5274, + "nodeType": "ParameterList", + "parameters": [], + "src": "4805:0:18" + }, + "scope": 5315, + "src": "4747:177:18", + "stateMutability": "nonpayable", + "superFunction": 4881, + "visibility": "external" + }, + { + "body": { + "id": 5313, + "nodeType": "Block", + "src": "5006:143:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5301, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "5023:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5302, + "name": "INTERFACE_META_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4902, + "src": "5038:17:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "5023:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5304, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "5074:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5305, + "name": "ERC721_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4941, + "src": "5089:9:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "5074:24:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5023:75:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5308, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5296, + "src": "5117:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5309, + "name": "RECLAIM_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4948, + "src": "5132:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "5117:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5023:119:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5300, + "id": 5312, + "nodeType": "Return", + "src": "5016:126:18" + } + ] + }, + "documentation": null, + "id": 5314, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5296, + "name": "interfaceID", + "nodeType": "VariableDeclaration", + "scope": 5314, + "src": "4957:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5295, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4957:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4956:20:18" + }, + "returnParameters": { + "id": 5300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5299, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5314, + "src": "5000:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5298, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5000:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4999:6:18" + }, + "scope": 5315, + "src": "4930:219:18", + "stateMutability": "view", + "superFunction": 5932, + "visibility": "external" + } + ], + "scope": 5316, + "src": "166:4985:18" + } + ], + "src": "0:5152:18" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.800Z", + "devdoc": { + "methods": { + "approve(address,uint256)": { + "details": "Approves another address to transfer the given token ID The zero address indicates there is no approved address. There can only be one approved address per token at a given time. Can only be called by the token owner or an approved operator.", + "params": { + "to": "address to be approved for the given token ID", + "tokenId": "uint256 ID of the token to be approved" + } + }, + "balanceOf(address)": { + "details": "Gets the balance of the specified address", + "params": { + "owner": "address to query the balance of" + }, + "return": "uint256 representing the amount owned by the passed address" + }, + "getApproved(uint256)": { + "details": "Gets the approved address for a token ID, or zero if no address set Reverts if the token ID does not exist.", + "params": { + "tokenId": "uint256 ID of the token to query the approval of" + }, + "return": "address currently approved for the given token ID" + }, + "isApprovedForAll(address,address)": { + "details": "Tells whether an operator is approved by a given owner", + "params": { + "operator": "operator address which you want to query the approval of", + "owner": "owner address which you want to query the approval of" + }, + "return": "bool whether the given operator is approved by the given owner" + }, + "isOwner()": { + "return": "true if `msg.sender` is the owner of the contract." + }, + "owner()": { + "return": "the address of the owner." + }, + "ownerOf(uint256)": { + "details": "Gets the owner of the specified token ID. Names become unowned when their registration expires.", + "params": { + "tokenId": "uint256 ID of the token to query the owner of" + }, + "return": "address currently marked as the owner of the given token ID" + }, + "reclaim(uint256,address)": { + "details": "Reclaim ownership of a name in ENS, if you own it in the registrar." + }, + "register(uint256,address,uint256)": { + "details": "Register a name.", + "params": { + "duration": "Duration in seconds for the registration.", + "id": "The token ID (keccak256 of the label).", + "owner": "The address that should own the registration." + } + }, + "registerOnly(uint256,address,uint256)": { + "details": "Register a name, without modifying the registry.", + "params": { + "duration": "Duration in seconds for the registration.", + "id": "The token ID (keccak256 of the label).", + "owner": "The address that should own the registration." + } + }, + "renounceOwnership()": { + "details": "Allows the current owner to relinquish control of the contract." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise, the transfer is reverted. * Requires the msg sender to be the owner, approved, or operator", + "params": { + "from": "current owner of the token", + "to": "address to receive the ownership of the given token ID", + "tokenId": "uint256 ID of the token to be transferred" + } + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise, the transfer is reverted. Requires the msg sender to be the owner, approved, or operator", + "params": { + "_data": "bytes data to send along with a safe transfer check", + "from": "current owner of the token", + "to": "address to receive the ownership of the given token ID", + "tokenId": "uint256 ID of the token to be transferred" + } + }, + "setApprovalForAll(address,bool)": { + "details": "Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf", + "params": { + "approved": "representing the status of the approval to be set", + "to": "operator address to set the approval" + } + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers the ownership of a given token ID to another address Usage of this method is discouraged, use `safeTransferFrom` whenever possible Requires the msg sender to be the owner, approved, or operator", + "params": { + "from": "current owner of the token", + "to": "address to receive the ownership of the given token ID", + "tokenId": "uint256 ID of the token to be transferred" + } + }, + "transferOwnership(address)": { + "details": "Allows the current owner to transfer control of the contract to a newOwner.", + "params": { + "newOwner": "The address to transfer ownership to." + } + } + } + }, + "userdoc": { + "methods": { + "renounceOwnership()": { + "notice": "Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore." + } + } + } +} \ No newline at end of file diff --git a/contracts/Deed.json b/contracts/Deed.json new file mode 100644 index 0000000..5fddd70 --- /dev/null +++ b/contracts/Deed.json @@ -0,0 +1,1219 @@ +{ + "contractName": "Deed", + "abi": [ + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "newOwner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newRegistrar", + "type": "address" + } + ], + "name": "setRegistrar", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newValue", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "throwOnFailure", + "type": "bool" + } + ], + "name": "setBalance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "refundRatio", + "type": "uint256" + } + ], + "name": "closeDeed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "destroyDeed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "previousOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "value", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "creationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"refundRatio\",\"type\":\"uint256\"}],\"name\":\"closeDeed\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"creationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"destroyDeed\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"previousOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"throwOnFailure\",\"type\":\"bool\"}],\"name\":\"setBalance\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newRegistrar\",\"type\":\"address\"}],\"name\":\"setRegistrar\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"value\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens/contracts/Deed.sol\":\"Deed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/Deed.sol\":{\"keccak256\":\"0x7b4abd2f65e2e093743077b899d0fb4952627ad7ff6104b840f9869f5baa5e96\",\"urls\":[\"bzz-raw://d72dc40eb83ded3cca64d6c1b9958f665f4cd61115fed4d32dfd62d0c6ded0fc\",\"dweb:/ipfs/Qmdkef7QyeJDF96ToptWRWroYYuD8XjCvrtxy46dA62iA2\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity >=0.4.24;\n\ninterface Deed {\n\n function setOwner(address payable newOwner) external;\n function setRegistrar(address newRegistrar) external;\n function setBalance(uint newValue, bool throwOnFailure) external;\n function closeDeed(uint refundRatio) external;\n function destroyDeed() external;\n\n function owner() external view returns (address);\n function previousOwner() external view returns (address);\n function value() external view returns (uint);\n function creationDate() external view returns (uint);\n\n}\n", + "sourcePath": "@ensdomains/ens/contracts/Deed.sol", + "ast": { + "absolutePath": "@ensdomains/ens/contracts/Deed.sol", + "exportedSymbols": { + "Deed": [ + 2227 + ] + }, + "id": 2228, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2181, + "literals": [ + "solidity", + ">=", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:25:10" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 2227, + "linearizedBaseContracts": [ + 2227 + ], + "name": "Deed", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 2186, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2183, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 2186, + "src": "67:24:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67:15:10", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "66:26:10" + }, + "returnParameters": { + "id": 2185, + "nodeType": "ParameterList", + "parameters": [], + "src": "101:0:10" + }, + "scope": 2227, + "src": "49:53:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2191, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setRegistrar", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2188, + "name": "newRegistrar", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "129:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2187, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "129:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "128:22:10" + }, + "returnParameters": { + "id": 2190, + "nodeType": "ParameterList", + "parameters": [], + "src": "159:0:10" + }, + "scope": 2227, + "src": "107:53:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2198, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2193, + "name": "newValue", + "nodeType": "VariableDeclaration", + "scope": 2198, + "src": "185:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2192, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "185:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2195, + "name": "throwOnFailure", + "nodeType": "VariableDeclaration", + "scope": 2198, + "src": "200:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2194, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "200:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "184:36:10" + }, + "returnParameters": { + "id": 2197, + "nodeType": "ParameterList", + "parameters": [], + "src": "229:0:10" + }, + "scope": 2227, + "src": "165:65:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2203, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "closeDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2200, + "name": "refundRatio", + "nodeType": "VariableDeclaration", + "scope": 2203, + "src": "254:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2199, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "254:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "253:18:10" + }, + "returnParameters": { + "id": 2202, + "nodeType": "ParameterList", + "parameters": [], + "src": "280:0:10" + }, + "scope": 2227, + "src": "235:46:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2206, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "destroyDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2204, + "nodeType": "ParameterList", + "parameters": [], + "src": "306:2:10" + }, + "returnParameters": { + "id": 2205, + "nodeType": "ParameterList", + "parameters": [], + "src": "317:0:10" + }, + "scope": 2227, + "src": "286:32:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2211, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2207, + "nodeType": "ParameterList", + "parameters": [], + "src": "338:2:10" + }, + "returnParameters": { + "id": 2210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2209, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2211, + "src": "364:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2208, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "364:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "363:9:10" + }, + "scope": 2227, + "src": "324:49:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2216, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "previousOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2212, + "nodeType": "ParameterList", + "parameters": [], + "src": "400:2:10" + }, + "returnParameters": { + "id": 2215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2214, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2216, + "src": "426:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "426:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "425:9:10" + }, + "scope": 2227, + "src": "378:57:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2221, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "value", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2217, + "nodeType": "ParameterList", + "parameters": [], + "src": "454:2:10" + }, + "returnParameters": { + "id": 2220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2219, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2221, + "src": "480:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2218, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "480:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "479:6:10" + }, + "scope": 2227, + "src": "440:46:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2226, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "creationDate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2222, + "nodeType": "ParameterList", + "parameters": [], + "src": "512:2:10" + }, + "returnParameters": { + "id": 2225, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2224, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2226, + "src": "538:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2223, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "538:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "537:6:10" + }, + "scope": 2227, + "src": "491:53:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 2228, + "src": "27:520:10" + } + ], + "src": "0:548:10" + }, + "legacyAST": { + "absolutePath": "@ensdomains/ens/contracts/Deed.sol", + "exportedSymbols": { + "Deed": [ + 2227 + ] + }, + "id": 2228, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2181, + "literals": [ + "solidity", + ">=", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:25:10" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 2227, + "linearizedBaseContracts": [ + 2227 + ], + "name": "Deed", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 2186, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2183, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 2186, + "src": "67:24:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67:15:10", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "66:26:10" + }, + "returnParameters": { + "id": 2185, + "nodeType": "ParameterList", + "parameters": [], + "src": "101:0:10" + }, + "scope": 2227, + "src": "49:53:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2191, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setRegistrar", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2188, + "name": "newRegistrar", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "129:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2187, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "129:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "128:22:10" + }, + "returnParameters": { + "id": 2190, + "nodeType": "ParameterList", + "parameters": [], + "src": "159:0:10" + }, + "scope": 2227, + "src": "107:53:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2198, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2193, + "name": "newValue", + "nodeType": "VariableDeclaration", + "scope": 2198, + "src": "185:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2192, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "185:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2195, + "name": "throwOnFailure", + "nodeType": "VariableDeclaration", + "scope": 2198, + "src": "200:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2194, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "200:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "184:36:10" + }, + "returnParameters": { + "id": 2197, + "nodeType": "ParameterList", + "parameters": [], + "src": "229:0:10" + }, + "scope": 2227, + "src": "165:65:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2203, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "closeDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2200, + "name": "refundRatio", + "nodeType": "VariableDeclaration", + "scope": 2203, + "src": "254:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2199, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "254:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "253:18:10" + }, + "returnParameters": { + "id": 2202, + "nodeType": "ParameterList", + "parameters": [], + "src": "280:0:10" + }, + "scope": 2227, + "src": "235:46:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2206, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "destroyDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2204, + "nodeType": "ParameterList", + "parameters": [], + "src": "306:2:10" + }, + "returnParameters": { + "id": 2205, + "nodeType": "ParameterList", + "parameters": [], + "src": "317:0:10" + }, + "scope": 2227, + "src": "286:32:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2211, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2207, + "nodeType": "ParameterList", + "parameters": [], + "src": "338:2:10" + }, + "returnParameters": { + "id": 2210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2209, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2211, + "src": "364:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2208, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "364:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "363:9:10" + }, + "scope": 2227, + "src": "324:49:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2216, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "previousOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2212, + "nodeType": "ParameterList", + "parameters": [], + "src": "400:2:10" + }, + "returnParameters": { + "id": 2215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2214, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2216, + "src": "426:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "426:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "425:9:10" + }, + "scope": 2227, + "src": "378:57:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2221, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "value", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2217, + "nodeType": "ParameterList", + "parameters": [], + "src": "454:2:10" + }, + "returnParameters": { + "id": 2220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2219, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2221, + "src": "480:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2218, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "480:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "479:6:10" + }, + "scope": 2227, + "src": "440:46:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2226, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "creationDate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2222, + "nodeType": "ParameterList", + "parameters": [], + "src": "512:2:10" + }, + "returnParameters": { + "id": 2225, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2224, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2226, + "src": "538:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2223, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "538:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "537:6:10" + }, + "scope": 2227, + "src": "491:53:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 2228, + "src": "27:520:10" + } + ], + "src": "0:548:10" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.769Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/DeedImplementation.json b/contracts/DeedImplementation.json new file mode 100644 index 0000000..fe85f4f --- /dev/null +++ b/contracts/DeedImplementation.json @@ -0,0 +1,6408 @@ +{ + "contractName": "DeedImplementation", + "abi": [ + { + "inputs": [ + { + "internalType": "address payable", + "name": "initialOwner", + "type": "address" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [], + "name": "DeedClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "newOwner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newRegistrar", + "type": "address" + } + ], + "name": "setRegistrar", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newValue", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "throwOnFailure", + "type": "bool" + } + ], + "name": "setBalance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "refundRatio", + "type": "uint256" + } + ], + "name": "closeDeed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "destroyDeed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "previousOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "value", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "creationDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DeedClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerChanged\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"refundRatio\",\"type\":\"uint256\"}],\"name\":\"closeDeed\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"creationDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"destroyDeed\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"previousOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"throwOnFailure\",\"type\":\"bool\"}],\"name\":\"setBalance\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newRegistrar\",\"type\":\"address\"}],\"name\":\"setRegistrar\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"value\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The deed can be controlled only by the registrar and can only send ether back to the owner.\",\"methods\":{\"closeDeed(uint256)\":{\"details\":\"Close a deed and refund a specified fraction of the bid value\",\"params\":{\"refundRatio\":\"The amount*1/1000 to refund\"}},\"destroyDeed()\":{\"details\":\"Close a deed and refund a specified fraction of the bid value\"}},\"title\":\"Deed to hold ether in exchange for ownership of a node\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens/contracts/DeedImplementation.sol\":\"DeedImplementation\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/Deed.sol\":{\"keccak256\":\"0x7b4abd2f65e2e093743077b899d0fb4952627ad7ff6104b840f9869f5baa5e96\",\"urls\":[\"bzz-raw://d72dc40eb83ded3cca64d6c1b9958f665f4cd61115fed4d32dfd62d0c6ded0fc\",\"dweb:/ipfs/Qmdkef7QyeJDF96ToptWRWroYYuD8XjCvrtxy46dA62iA2\"]},\"@ensdomains/ens/contracts/DeedImplementation.sol\":{\"keccak256\":\"0x91242ba8032d5e01a8a59da84afb4d0d5b1007d4257bde8e6caa20fbc700cdc7\",\"urls\":[\"bzz-raw://6810d6c6038674ba3736a199aa71d2a9bcbbb10bffc796f13e1b52de0de91854\",\"dweb:/ipfs/QmdSjH6EhvqTnqhVKkUkvs6PVT67wAxq4gwerFLZ4UsD5c\"]}},\"version\":1}", + "bytecode": "0x60806040526040516108cd3803806108cd8339818101604052602081101561002657600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426003819055506001600560006101000a81548160ff02191690831515021790555034600481905550506107dc806100f16000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063674f220f11610066578063674f220f146101225780638da5cb5b1461016c578063b0c80972146101b6578063bbe42771146101f0578063faab9d391461021e57610093565b806305b34410146100985780630b5ab3d5146100b657806313af4035146100c05780633fa4f24514610104575b600080fd5b6100a0610262565b6040518082815260200191505060405180910390f35b6100be610267565b005b610102600480360360208110156100d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610271565b005b61010c61040d565b6040518082815260200191505060405180910390f35b61012a610417565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610174610441565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ee600480360360408110156101cc57600080fd5b810190808035906020019092919080351515906020019092919050505061046a565b005b61021c6004803603602081101561020657600080fd5b8101908080359060200190929190505050610561565b005b6102606004803603602081101561023457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610677565b005b600090565b61026f610715565b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102cb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561030557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf3681604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600454905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c457600080fd5b600560009054906101000a900460ff166104dd57600080fd5b8160045410156104ec57600080fd5b816004819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8347039081150290604051600060405180830381858888f1935050505080610554575080155b61055d57600080fd5b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105bb57600080fd5b600560009054906101000a900460ff166105d457600080fd5b6000600560006101000a81548160ff02191690831515021790555061dead73ffffffffffffffffffffffffffffffffffffffff166108fc6103e847846103e803028161061c57fe5b049081150290604051600060405180830381858888f1935050505061064057600080fd5b7fbb2ce2f51803bba16bc85282b47deeea9a5c6223eabea1077be696b3f265cf1360405160405180910390a1610674610715565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106d157600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900460ff161561072f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050156107a55761dead73ffffffffffffffffffffffffffffffffffffffff16ff5b56fea265627a7a72315820fa23328cf0f35337ca53fef0d5c1bb313e3cf1900ea3cbb3af65126b3f961f9664736f6c63430005100032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063674f220f11610066578063674f220f146101225780638da5cb5b1461016c578063b0c80972146101b6578063bbe42771146101f0578063faab9d391461021e57610093565b806305b34410146100985780630b5ab3d5146100b657806313af4035146100c05780633fa4f24514610104575b600080fd5b6100a0610262565b6040518082815260200191505060405180910390f35b6100be610267565b005b610102600480360360208110156100d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610271565b005b61010c61040d565b6040518082815260200191505060405180910390f35b61012a610417565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610174610441565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ee600480360360408110156101cc57600080fd5b810190808035906020019092919080351515906020019092919050505061046a565b005b61021c6004803603602081101561020657600080fd5b8101908080359060200190929190505050610561565b005b6102606004803603602081101561023457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610677565b005b600090565b61026f610715565b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102cb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561030557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf3681604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600454905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c457600080fd5b600560009054906101000a900460ff166104dd57600080fd5b8160045410156104ec57600080fd5b816004819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8347039081150290604051600060405180830381858888f1935050505080610554575080155b61055d57600080fd5b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105bb57600080fd5b600560009054906101000a900460ff166105d457600080fd5b6000600560006101000a81548160ff02191690831515021790555061dead73ffffffffffffffffffffffffffffffffffffffff166108fc6103e847846103e803028161061c57fe5b049081150290604051600060405180830381858888f1935050505061064057600080fd5b7fbb2ce2f51803bba16bc85282b47deeea9a5c6223eabea1077be696b3f265cf1360405160405180910390a1610674610715565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106d157600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900460ff161561072f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050156107a55761dead73ffffffffffffffffffffffffffffffffffffffff16ff5b56fea265627a7a72315820fa23328cf0f35337ca53fef0d5c1bb313e3cf1900ea3cbb3af65126b3f961f9664736f6c63430005100032", + "sourceMap": "220:2768:11:-;;;724:208;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;724:208:11;;;;;;;;;;;;;;;;800:12;791:6;;:21;;;;;;;;;;;;;;;;;;835:10;822;;:23;;;;;;;;;;;;;;;;;;871:3;855:13;:19;;;;893:4;884:6;;:13;;;;;;;;;;;;;;;;;;916:9;907:6;:18;;;;724:208;220:2768;;;;;;", + "deployedSourceMap": "220:2768:11:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;220:2768:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2507:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2170:63;;;:::i;:::-;;938:277;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;938:277:11;;;;;;;;;;;;;;;;;;;:::i;:::-;;2425:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2324:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2239:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1336:347;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1336:347:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1840:234;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1840:234:11;;;;;;;;;;;;;;;;;:::i;:::-;;1221:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1221:109:11;;;;;;;;;;;;;;;;;;;:::i;:::-;;2507:83;2554:4;2507:83;:::o;2170:63::-;2212:14;:12;:14::i;:::-;2170:63::o;938:277::-;620:10;;;;;;;;;;;606:24;;:10;:24;;;598:33;;;;;;1043:3;1023:24;;:8;:24;;;;1015:33;;;;;;1075:6;;;;;;;;;;;1058:14;;:23;;;;;;;;;;;;;;;;;;1163:8;1154:6;;:17;;;;;;;;;;;;;;;;;;1186:22;1199:8;1186:22;;;;;;;;;;;;;;;;;;;;;;938:277;:::o;2425:76::-;2465:4;2488:6;;2481:13;;2425:76;:::o;2324:95::-;2372:7;2398:14;;;;;;;;;;;2391:21;;2324:95;:::o;2239:79::-;2279:7;2305:6;;;;;;;;;;;2298:13;;2239:79;:::o;1336:347::-;620:10;;;;;;;;;;;606:24;;:10;:24;;;598:33;;;;;;693:6;;;;;;;;;;;685:15;;;;;;1513:8;1503:6;;:18;;1495:27;;;;;;1541:8;1532:6;:17;;;;1611:6;;;;;;;;;;;:11;;:45;1647:8;1623:21;:32;1611:45;;;;;;;;;;;;;;;;;;;;;;;:64;;;;1661:14;1660:15;1611:64;1603:73;;;;;;1336:347;;:::o;1840:234::-;620:10;;;;;;;;;;;606:24;;:10;:24;;;598:33;;;;;;693:6;;;;;;;;;;;685:15;;;;;;1930:5;1921:6;;:14;;;;;;;;;;;;;;;;;;303:6;1953:9;;:62;2010:4;1987:21;1972:11;1965:4;:18;1964:44;1963:51;;;;;;1953:62;;;;;;;;;;;;;;;;;;;;;;;1945:71;;;;;;2031:12;;;;;;;;;;2053:14;:12;:14::i;:::-;1840:234;:::o;1221:109::-;620:10;;;;;;;;;;;606:24;;:10;:24;;;598:33;;;;;;1311:12;1298:10;;:25;;;;;;;;;;;;;;;;;;1221:109;:::o;2596:390::-;2648:6;;;;;;;;;;;2647:7;2639:16;;;;;;2901:6;;;;;;;;;;;:11;;:34;2913:21;2901:34;;;;;;;;;;;;;;;;;;;;;;;2897:83;;;303:6;2951:18;;;2897:83;2596:390::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"./Deed.sol\";\n\n/**\n * @title Deed to hold ether in exchange for ownership of a node\n * @dev The deed can be controlled only by the registrar and can only send ether back to the owner.\n */\ncontract DeedImplementation is Deed {\n\n address payable constant burn = address(0xdead);\n\n address payable private _owner;\n address private _previousOwner;\n address private _registrar;\n\n uint private _creationDate;\n uint private _value;\n\n bool active;\n\n event OwnerChanged(address newOwner);\n event DeedClosed();\n\n modifier onlyRegistrar {\n require(msg.sender == _registrar);\n _;\n }\n\n modifier onlyActive {\n require(active);\n _;\n }\n\n constructor(address payable initialOwner) public payable {\n _owner = initialOwner;\n _registrar = msg.sender;\n _creationDate = now;\n active = true;\n _value = msg.value;\n }\n\n function setOwner(address payable newOwner) external onlyRegistrar {\n require(newOwner != address(0x0));\n _previousOwner = _owner; // This allows contracts to check who sent them the ownership\n _owner = newOwner;\n emit OwnerChanged(newOwner);\n }\n\n function setRegistrar(address newRegistrar) external onlyRegistrar {\n _registrar = newRegistrar;\n }\n\n function setBalance(uint newValue, bool throwOnFailure) external onlyRegistrar onlyActive {\n // Check if it has enough balance to set the value\n require(_value >= newValue);\n _value = newValue;\n // Send the difference to the owner\n require(_owner.send(address(this).balance - newValue) || !throwOnFailure);\n }\n\n /**\n * @dev Close a deed and refund a specified fraction of the bid value\n *\n * @param refundRatio The amount*1/1000 to refund\n */\n function closeDeed(uint refundRatio) external onlyRegistrar onlyActive {\n active = false;\n require(burn.send(((1000 - refundRatio) * address(this).balance)/1000));\n emit DeedClosed();\n _destroyDeed();\n }\n\n /**\n * @dev Close a deed and refund a specified fraction of the bid value\n */\n function destroyDeed() external {\n _destroyDeed();\n }\n\n function owner() external view returns (address) {\n return _owner;\n }\n\n function previousOwner() external view returns (address) {\n return _previousOwner;\n }\n\n function value() external view returns (uint) {\n return _value;\n }\n\n function creationDate() external view returns (uint) {\n _creationDate;\n }\n\n function _destroyDeed() internal {\n require(!active);\n\n // Instead of selfdestruct(owner), invoke owner fallback function to allow\n // owner to log an event if desired; but owner should also be aware that\n // its fallback function can also be invoked by setBalance\n if (_owner.send(address(this).balance)) {\n selfdestruct(burn);\n }\n }\n}\n", + "sourcePath": "@ensdomains/ens/contracts/DeedImplementation.sol", + "ast": { + "absolutePath": "@ensdomains/ens/contracts/DeedImplementation.sol", + "exportedSymbols": { + "DeedImplementation": [ + 2479 + ] + }, + "id": 2480, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2229, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:11" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Deed.sol", + "file": "./Deed.sol", + "id": 2230, + "nodeType": "ImportDirective", + "scope": 2480, + "sourceUnit": 2228, + "src": "25:20:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2231, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "251:4:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 2232, + "nodeType": "InheritanceSpecifier", + "src": "251:4:11" + } + ], + "contractDependencies": [ + 2227 + ], + "contractKind": "contract", + "documentation": "@title Deed to hold ether in exchange for ownership of a node\n@dev The deed can be controlled only by the registrar and can only send ether back to the owner.", + "fullyImplemented": true, + "id": 2479, + "linearizedBaseContracts": [ + 2479, + 2227 + ], + "name": "DeedImplementation", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 2237, + "name": "burn", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "263:47:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2233, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "263:15:11", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307864656164", + "id": 2235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "303:6:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_57005_by_1", + "typeString": "int_const 57005" + }, + "value": "0xdead" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_57005_by_1", + "typeString": "int_const 57005" + } + ], + "id": 2234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "295:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "295:15:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2239, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "317:30:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2238, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "317:15:11", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 2241, + "name": "_previousOwner", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "353:30:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "353:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 2243, + "name": "_registrar", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "389:26:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2242, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "389:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 2245, + "name": "_creationDate", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "422:26:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2244, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "422:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 2247, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "454:19:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2246, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "454:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 2249, + "name": "active", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "480:11:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2248, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "480:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": null, + "id": 2253, + "name": "OwnerChanged", + "nodeType": "EventDefinition", + "parameters": { + "id": 2252, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2251, + "indexed": false, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 2253, + "src": "517:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2250, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "517:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "516:18:11" + }, + "src": "498:37:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 2255, + "name": "DeedClosed", + "nodeType": "EventDefinition", + "parameters": { + "id": 2254, + "nodeType": "ParameterList", + "parameters": [], + "src": "556:2:11" + }, + "src": "540:19:11" + }, + { + "body": { + "id": 2265, + "nodeType": "Block", + "src": "588:61:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2258, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "606:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "606:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2260, + "name": "_registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "620:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "606:24:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2257, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "598:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "598:33:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2263, + "nodeType": "ExpressionStatement", + "src": "598:33:11" + }, + { + "id": 2264, + "nodeType": "PlaceholderStatement", + "src": "641:1:11" + } + ] + }, + "documentation": null, + "id": 2266, + "name": "onlyRegistrar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2256, + "nodeType": "ParameterList", + "parameters": [], + "src": "588:0:11" + }, + "src": "565:84:11", + "visibility": "internal" + }, + { + "body": { + "id": 2273, + "nodeType": "Block", + "src": "675:43:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2269, + "name": "active", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2249, + "src": "693:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2268, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "685:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "685:15:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2271, + "nodeType": "ExpressionStatement", + "src": "685:15:11" + }, + { + "id": 2272, + "nodeType": "PlaceholderStatement", + "src": "710:1:11" + } + ] + }, + "documentation": null, + "id": 2274, + "name": "onlyActive", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2267, + "nodeType": "ParameterList", + "parameters": [], + "src": "675:0:11" + }, + "src": "655:63:11", + "visibility": "internal" + }, + { + "body": { + "id": 2301, + "nodeType": "Block", + "src": "781:151:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2279, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "791:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2280, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2276, + "src": "800:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "791:21:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2282, + "nodeType": "ExpressionStatement", + "src": "791:21:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2283, + "name": "_registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "822:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2284, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "835:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "835:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "822:23:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2287, + "nodeType": "ExpressionStatement", + "src": "822:23:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2288, + "name": "_creationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "855:13:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2289, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "871:3:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "855:19:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2291, + "nodeType": "ExpressionStatement", + "src": "855:19:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2292, + "name": "active", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2249, + "src": "884:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "893:4:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "884:13:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2295, + "nodeType": "ExpressionStatement", + "src": "884:13:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2296, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2247, + "src": "907:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2297, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "916:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "916:9:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "907:18:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2300, + "nodeType": "ExpressionStatement", + "src": "907:18:11" + } + ] + }, + "documentation": null, + "id": 2302, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2276, + "name": "initialOwner", + "nodeType": "VariableDeclaration", + "scope": 2302, + "src": "736:28:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "736:15:11", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "735:30:11" + }, + "returnParameters": { + "id": 2278, + "nodeType": "ParameterList", + "parameters": [], + "src": "781:0:11" + }, + "scope": 2479, + "src": "724:208:11", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2329, + "nodeType": "Block", + "src": "1005:210:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 2314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2310, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2304, + "src": "1023:8:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 2312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1043:3:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2311, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1035:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2313, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1035:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1023:24:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2309, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1015:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1015:33:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2316, + "nodeType": "ExpressionStatement", + "src": "1015:33:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2317, + "name": "_previousOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "1058:14:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2318, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1075:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1058:23:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2320, + "nodeType": "ExpressionStatement", + "src": "1058:23:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2321, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1154:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2322, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2304, + "src": "1163:8:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1154:17:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2324, + "nodeType": "ExpressionStatement", + "src": "1154:17:11" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2326, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2304, + "src": "1199:8:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 2325, + "name": "OwnerChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "1186:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1186:22:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2328, + "nodeType": "EmitStatement", + "src": "1181:27:11" + } + ] + }, + "documentation": null, + "id": 2330, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 2307, + "modifierName": { + "argumentTypes": null, + "id": 2306, + "name": "onlyRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "991:13:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "991:13:11" + } + ], + "name": "setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2304, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 2330, + "src": "956:24:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "956:15:11", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "955:26:11" + }, + "returnParameters": { + "id": 2308, + "nodeType": "ParameterList", + "parameters": [], + "src": "1005:0:11" + }, + "scope": 2479, + "src": "938:277:11", + "stateMutability": "nonpayable", + "superFunction": 2186, + "visibility": "external" + }, + { + "body": { + "id": 2341, + "nodeType": "Block", + "src": "1288:42:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2337, + "name": "_registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "1298:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2338, + "name": "newRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2332, + "src": "1311:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1298:25:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2340, + "nodeType": "ExpressionStatement", + "src": "1298:25:11" + } + ] + }, + "documentation": null, + "id": 2342, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 2335, + "modifierName": { + "argumentTypes": null, + "id": 2334, + "name": "onlyRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "1274:13:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1274:13:11" + } + ], + "name": "setRegistrar", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2332, + "name": "newRegistrar", + "nodeType": "VariableDeclaration", + "scope": 2342, + "src": "1243:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1243:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1242:22:11" + }, + "returnParameters": { + "id": 2336, + "nodeType": "ParameterList", + "parameters": [], + "src": "1288:0:11" + }, + "scope": 2479, + "src": "1221:109:11", + "stateMutability": "nonpayable", + "superFunction": 2191, + "visibility": "external" + }, + { + "body": { + "id": 2378, + "nodeType": "Block", + "src": "1426:257:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2354, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2247, + "src": "1503:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 2355, + "name": "newValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2344, + "src": "1513:8:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1503:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2353, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1495:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1495:27:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2358, + "nodeType": "ExpressionStatement", + "src": "1495:27:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2359, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2247, + "src": "1532:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2360, + "name": "newValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2344, + "src": "1541:8:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1532:17:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2362, + "nodeType": "ExpressionStatement", + "src": "1532:17:11" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2367, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6952, + "src": "1631:4:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + ], + "id": 2366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1623:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1623:13:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1623:21:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 2370, + "name": "newValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2344, + "src": "1647:8:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1623:32:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2364, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1611:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "send", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1611:11:11", + "typeDescriptions": { + "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 2372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1611:45:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "id": 2374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1660:15:11", + "subExpression": { + "argumentTypes": null, + "id": 2373, + "name": "throwOnFailure", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2346, + "src": "1661:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1611:64:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2363, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1603:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1603:73:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2377, + "nodeType": "ExpressionStatement", + "src": "1603:73:11" + } + ] + }, + "documentation": null, + "id": 2379, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 2349, + "modifierName": { + "argumentTypes": null, + "id": 2348, + "name": "onlyRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "1401:13:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1401:13:11" + }, + { + "arguments": null, + "id": 2351, + "modifierName": { + "argumentTypes": null, + "id": 2350, + "name": "onlyActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2274, + "src": "1415:10:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1415:10:11" + } + ], + "name": "setBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2344, + "name": "newValue", + "nodeType": "VariableDeclaration", + "scope": 2379, + "src": "1356:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2343, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1356:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2346, + "name": "throwOnFailure", + "nodeType": "VariableDeclaration", + "scope": 2379, + "src": "1371:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2345, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1371:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1355:36:11" + }, + "returnParameters": { + "id": 2352, + "nodeType": "ParameterList", + "parameters": [], + "src": "1426:0:11" + }, + "scope": 2479, + "src": "1336:347:11", + "stateMutability": "nonpayable", + "superFunction": 2198, + "visibility": "external" + }, + { + "body": { + "id": 2416, + "nodeType": "Block", + "src": "1911:163:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2388, + "name": "active", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2249, + "src": "1921:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1930:5:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1921:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2391, + "nodeType": "ExpressionStatement", + "src": "1921:14:11" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1965:4:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 2396, + "name": "refundRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2381, + "src": "1972:11:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1965:18:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2398, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1964:20:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2400, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6952, + "src": "1995:4:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + ], + "id": 2399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1987:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1987:13:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1987:21:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1964:44:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2404, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1963:46:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 2405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2010:4:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "src": "1963:51:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2393, + "name": "burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2237, + "src": "1953:4:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "send", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1953:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 2407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1953:62:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2392, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1945:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1945:71:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2409, + "nodeType": "ExpressionStatement", + "src": "1945:71:11" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2410, + "name": "DeedClosed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2255, + "src": "2031:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2031:12:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2412, + "nodeType": "EmitStatement", + "src": "2026:17:11" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2413, + "name": "_destroyDeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2478, + "src": "2053:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2053:14:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2415, + "nodeType": "ExpressionStatement", + "src": "2053:14:11" + } + ] + }, + "documentation": "@dev Close a deed and refund a specified fraction of the bid value\n * @param refundRatio The amount*1/1000 to refund", + "id": 2417, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 2384, + "modifierName": { + "argumentTypes": null, + "id": 2383, + "name": "onlyRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "1886:13:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1886:13:11" + }, + { + "arguments": null, + "id": 2386, + "modifierName": { + "argumentTypes": null, + "id": 2385, + "name": "onlyActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2274, + "src": "1900:10:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1900:10:11" + } + ], + "name": "closeDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2382, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2381, + "name": "refundRatio", + "nodeType": "VariableDeclaration", + "scope": 2417, + "src": "1859:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2380, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1859:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1858:18:11" + }, + "returnParameters": { + "id": 2387, + "nodeType": "ParameterList", + "parameters": [], + "src": "1911:0:11" + }, + "scope": 2479, + "src": "1840:234:11", + "stateMutability": "nonpayable", + "superFunction": 2203, + "visibility": "external" + }, + { + "body": { + "id": 2423, + "nodeType": "Block", + "src": "2202:31:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2420, + "name": "_destroyDeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2478, + "src": "2212:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2212:14:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2422, + "nodeType": "ExpressionStatement", + "src": "2212:14:11" + } + ] + }, + "documentation": "@dev Close a deed and refund a specified fraction of the bid value", + "id": 2424, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "destroyDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2418, + "nodeType": "ParameterList", + "parameters": [], + "src": "2190:2:11" + }, + "returnParameters": { + "id": 2419, + "nodeType": "ParameterList", + "parameters": [], + "src": "2202:0:11" + }, + "scope": 2479, + "src": "2170:63:11", + "stateMutability": "nonpayable", + "superFunction": 2206, + "visibility": "external" + }, + { + "body": { + "id": 2431, + "nodeType": "Block", + "src": "2288:30:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2429, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "2305:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 2428, + "id": 2430, + "nodeType": "Return", + "src": "2298:13:11" + } + ] + }, + "documentation": null, + "id": 2432, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2425, + "nodeType": "ParameterList", + "parameters": [], + "src": "2253:2:11" + }, + "returnParameters": { + "id": 2428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2427, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2432, + "src": "2279:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2426, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2279:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2278:9:11" + }, + "scope": 2479, + "src": "2239:79:11", + "stateMutability": "view", + "superFunction": 2211, + "visibility": "external" + }, + { + "body": { + "id": 2439, + "nodeType": "Block", + "src": "2381:38:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2437, + "name": "_previousOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "2398:14:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2436, + "id": 2438, + "nodeType": "Return", + "src": "2391:21:11" + } + ] + }, + "documentation": null, + "id": 2440, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "previousOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2433, + "nodeType": "ParameterList", + "parameters": [], + "src": "2346:2:11" + }, + "returnParameters": { + "id": 2436, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2435, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2440, + "src": "2372:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2372:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2371:9:11" + }, + "scope": 2479, + "src": "2324:95:11", + "stateMutability": "view", + "superFunction": 2216, + "visibility": "external" + }, + { + "body": { + "id": 2447, + "nodeType": "Block", + "src": "2471:30:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2445, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2247, + "src": "2488:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2444, + "id": 2446, + "nodeType": "Return", + "src": "2481:13:11" + } + ] + }, + "documentation": null, + "id": 2448, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "value", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2441, + "nodeType": "ParameterList", + "parameters": [], + "src": "2439:2:11" + }, + "returnParameters": { + "id": 2444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2443, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2448, + "src": "2465:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2442, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2465:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2464:6:11" + }, + "scope": 2479, + "src": "2425:76:11", + "stateMutability": "view", + "superFunction": 2221, + "visibility": "external" + }, + { + "body": { + "id": 2455, + "nodeType": "Block", + "src": "2560:30:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2453, + "name": "_creationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "2570:13:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2454, + "nodeType": "ExpressionStatement", + "src": "2570:13:11" + } + ] + }, + "documentation": null, + "id": 2456, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "creationDate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2449, + "nodeType": "ParameterList", + "parameters": [], + "src": "2528:2:11" + }, + "returnParameters": { + "id": 2452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2451, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2456, + "src": "2554:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2450, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2554:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2553:6:11" + }, + "scope": 2479, + "src": "2507:83:11", + "stateMutability": "view", + "superFunction": 2226, + "visibility": "external" + }, + { + "body": { + "id": 2477, + "nodeType": "Block", + "src": "2629:357:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2647:7:11", + "subExpression": { + "argumentTypes": null, + "id": 2460, + "name": "active", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2249, + "src": "2648:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "2639:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2639:16:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2463, + "nodeType": "ExpressionStatement", + "src": "2639:16:11" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2467, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6952, + "src": "2921:4:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + ], + "id": 2466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2913:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2913:13:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2913:21:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2464, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "2901:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "send", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2901:11:11", + "typeDescriptions": { + "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2901:34:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2476, + "nodeType": "IfStatement", + "src": "2897:83:11", + "trueBody": { + "id": 2475, + "nodeType": "Block", + "src": "2937:43:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2472, + "name": "burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2237, + "src": "2964:4:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 2471, + "name": "selfdestruct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6918, + "src": "2951:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable)" + } + }, + "id": 2473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2951:18:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2474, + "nodeType": "ExpressionStatement", + "src": "2951:18:11" + } + ] + } + } + ] + }, + "documentation": null, + "id": 2478, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_destroyDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2457, + "nodeType": "ParameterList", + "parameters": [], + "src": "2617:2:11" + }, + "returnParameters": { + "id": 2458, + "nodeType": "ParameterList", + "parameters": [], + "src": "2629:0:11" + }, + "scope": 2479, + "src": "2596:390:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2480, + "src": "220:2768:11" + } + ], + "src": "0:2989:11" + }, + "legacyAST": { + "absolutePath": "@ensdomains/ens/contracts/DeedImplementation.sol", + "exportedSymbols": { + "DeedImplementation": [ + 2479 + ] + }, + "id": 2480, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2229, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:11" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Deed.sol", + "file": "./Deed.sol", + "id": 2230, + "nodeType": "ImportDirective", + "scope": 2480, + "sourceUnit": 2228, + "src": "25:20:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2231, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "251:4:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 2232, + "nodeType": "InheritanceSpecifier", + "src": "251:4:11" + } + ], + "contractDependencies": [ + 2227 + ], + "contractKind": "contract", + "documentation": "@title Deed to hold ether in exchange for ownership of a node\n@dev The deed can be controlled only by the registrar and can only send ether back to the owner.", + "fullyImplemented": true, + "id": 2479, + "linearizedBaseContracts": [ + 2479, + 2227 + ], + "name": "DeedImplementation", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 2237, + "name": "burn", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "263:47:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2233, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "263:15:11", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307864656164", + "id": 2235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "303:6:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_57005_by_1", + "typeString": "int_const 57005" + }, + "value": "0xdead" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_57005_by_1", + "typeString": "int_const 57005" + } + ], + "id": 2234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "295:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "295:15:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2239, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "317:30:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2238, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "317:15:11", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 2241, + "name": "_previousOwner", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "353:30:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "353:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 2243, + "name": "_registrar", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "389:26:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2242, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "389:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 2245, + "name": "_creationDate", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "422:26:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2244, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "422:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 2247, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "454:19:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2246, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "454:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 2249, + "name": "active", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "480:11:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2248, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "480:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": null, + "id": 2253, + "name": "OwnerChanged", + "nodeType": "EventDefinition", + "parameters": { + "id": 2252, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2251, + "indexed": false, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 2253, + "src": "517:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2250, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "517:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "516:18:11" + }, + "src": "498:37:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 2255, + "name": "DeedClosed", + "nodeType": "EventDefinition", + "parameters": { + "id": 2254, + "nodeType": "ParameterList", + "parameters": [], + "src": "556:2:11" + }, + "src": "540:19:11" + }, + { + "body": { + "id": 2265, + "nodeType": "Block", + "src": "588:61:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2258, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "606:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "606:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2260, + "name": "_registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "620:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "606:24:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2257, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "598:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "598:33:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2263, + "nodeType": "ExpressionStatement", + "src": "598:33:11" + }, + { + "id": 2264, + "nodeType": "PlaceholderStatement", + "src": "641:1:11" + } + ] + }, + "documentation": null, + "id": 2266, + "name": "onlyRegistrar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2256, + "nodeType": "ParameterList", + "parameters": [], + "src": "588:0:11" + }, + "src": "565:84:11", + "visibility": "internal" + }, + { + "body": { + "id": 2273, + "nodeType": "Block", + "src": "675:43:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2269, + "name": "active", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2249, + "src": "693:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2268, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "685:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "685:15:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2271, + "nodeType": "ExpressionStatement", + "src": "685:15:11" + }, + { + "id": 2272, + "nodeType": "PlaceholderStatement", + "src": "710:1:11" + } + ] + }, + "documentation": null, + "id": 2274, + "name": "onlyActive", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2267, + "nodeType": "ParameterList", + "parameters": [], + "src": "675:0:11" + }, + "src": "655:63:11", + "visibility": "internal" + }, + { + "body": { + "id": 2301, + "nodeType": "Block", + "src": "781:151:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2279, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "791:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2280, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2276, + "src": "800:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "791:21:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2282, + "nodeType": "ExpressionStatement", + "src": "791:21:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2283, + "name": "_registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "822:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2284, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "835:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "835:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "822:23:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2287, + "nodeType": "ExpressionStatement", + "src": "822:23:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2288, + "name": "_creationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "855:13:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2289, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "871:3:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "855:19:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2291, + "nodeType": "ExpressionStatement", + "src": "855:19:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2292, + "name": "active", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2249, + "src": "884:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "893:4:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "884:13:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2295, + "nodeType": "ExpressionStatement", + "src": "884:13:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2296, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2247, + "src": "907:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2297, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "916:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "916:9:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "907:18:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2300, + "nodeType": "ExpressionStatement", + "src": "907:18:11" + } + ] + }, + "documentation": null, + "id": 2302, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2276, + "name": "initialOwner", + "nodeType": "VariableDeclaration", + "scope": 2302, + "src": "736:28:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "736:15:11", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "735:30:11" + }, + "returnParameters": { + "id": 2278, + "nodeType": "ParameterList", + "parameters": [], + "src": "781:0:11" + }, + "scope": 2479, + "src": "724:208:11", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2329, + "nodeType": "Block", + "src": "1005:210:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 2314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2310, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2304, + "src": "1023:8:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 2312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1043:3:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2311, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1035:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2313, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1035:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1023:24:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2309, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1015:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1015:33:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2316, + "nodeType": "ExpressionStatement", + "src": "1015:33:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2317, + "name": "_previousOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "1058:14:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2318, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1075:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1058:23:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2320, + "nodeType": "ExpressionStatement", + "src": "1058:23:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2321, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1154:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2322, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2304, + "src": "1163:8:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1154:17:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2324, + "nodeType": "ExpressionStatement", + "src": "1154:17:11" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2326, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2304, + "src": "1199:8:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 2325, + "name": "OwnerChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "1186:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1186:22:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2328, + "nodeType": "EmitStatement", + "src": "1181:27:11" + } + ] + }, + "documentation": null, + "id": 2330, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 2307, + "modifierName": { + "argumentTypes": null, + "id": 2306, + "name": "onlyRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "991:13:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "991:13:11" + } + ], + "name": "setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2304, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 2330, + "src": "956:24:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "956:15:11", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "955:26:11" + }, + "returnParameters": { + "id": 2308, + "nodeType": "ParameterList", + "parameters": [], + "src": "1005:0:11" + }, + "scope": 2479, + "src": "938:277:11", + "stateMutability": "nonpayable", + "superFunction": 2186, + "visibility": "external" + }, + { + "body": { + "id": 2341, + "nodeType": "Block", + "src": "1288:42:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2337, + "name": "_registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "1298:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2338, + "name": "newRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2332, + "src": "1311:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1298:25:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2340, + "nodeType": "ExpressionStatement", + "src": "1298:25:11" + } + ] + }, + "documentation": null, + "id": 2342, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 2335, + "modifierName": { + "argumentTypes": null, + "id": 2334, + "name": "onlyRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "1274:13:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1274:13:11" + } + ], + "name": "setRegistrar", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2332, + "name": "newRegistrar", + "nodeType": "VariableDeclaration", + "scope": 2342, + "src": "1243:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1243:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1242:22:11" + }, + "returnParameters": { + "id": 2336, + "nodeType": "ParameterList", + "parameters": [], + "src": "1288:0:11" + }, + "scope": 2479, + "src": "1221:109:11", + "stateMutability": "nonpayable", + "superFunction": 2191, + "visibility": "external" + }, + { + "body": { + "id": 2378, + "nodeType": "Block", + "src": "1426:257:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2354, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2247, + "src": "1503:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 2355, + "name": "newValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2344, + "src": "1513:8:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1503:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2353, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1495:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1495:27:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2358, + "nodeType": "ExpressionStatement", + "src": "1495:27:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2359, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2247, + "src": "1532:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2360, + "name": "newValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2344, + "src": "1541:8:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1532:17:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2362, + "nodeType": "ExpressionStatement", + "src": "1532:17:11" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2367, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6952, + "src": "1631:4:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + ], + "id": 2366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1623:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1623:13:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1623:21:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 2370, + "name": "newValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2344, + "src": "1647:8:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1623:32:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2364, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "1611:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "send", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1611:11:11", + "typeDescriptions": { + "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 2372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1611:45:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "id": 2374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1660:15:11", + "subExpression": { + "argumentTypes": null, + "id": 2373, + "name": "throwOnFailure", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2346, + "src": "1661:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1611:64:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2363, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1603:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1603:73:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2377, + "nodeType": "ExpressionStatement", + "src": "1603:73:11" + } + ] + }, + "documentation": null, + "id": 2379, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 2349, + "modifierName": { + "argumentTypes": null, + "id": 2348, + "name": "onlyRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "1401:13:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1401:13:11" + }, + { + "arguments": null, + "id": 2351, + "modifierName": { + "argumentTypes": null, + "id": 2350, + "name": "onlyActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2274, + "src": "1415:10:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1415:10:11" + } + ], + "name": "setBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2344, + "name": "newValue", + "nodeType": "VariableDeclaration", + "scope": 2379, + "src": "1356:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2343, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1356:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2346, + "name": "throwOnFailure", + "nodeType": "VariableDeclaration", + "scope": 2379, + "src": "1371:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2345, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1371:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1355:36:11" + }, + "returnParameters": { + "id": 2352, + "nodeType": "ParameterList", + "parameters": [], + "src": "1426:0:11" + }, + "scope": 2479, + "src": "1336:347:11", + "stateMutability": "nonpayable", + "superFunction": 2198, + "visibility": "external" + }, + { + "body": { + "id": 2416, + "nodeType": "Block", + "src": "1911:163:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2388, + "name": "active", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2249, + "src": "1921:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1930:5:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1921:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2391, + "nodeType": "ExpressionStatement", + "src": "1921:14:11" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1965:4:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 2396, + "name": "refundRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2381, + "src": "1972:11:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1965:18:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2398, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1964:20:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2400, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6952, + "src": "1995:4:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + ], + "id": 2399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1987:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1987:13:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1987:21:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1964:44:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2404, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1963:46:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 2405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2010:4:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "src": "1963:51:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2393, + "name": "burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2237, + "src": "1953:4:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "send", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1953:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 2407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1953:62:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2392, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1945:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1945:71:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2409, + "nodeType": "ExpressionStatement", + "src": "1945:71:11" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2410, + "name": "DeedClosed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2255, + "src": "2031:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2031:12:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2412, + "nodeType": "EmitStatement", + "src": "2026:17:11" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2413, + "name": "_destroyDeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2478, + "src": "2053:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2053:14:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2415, + "nodeType": "ExpressionStatement", + "src": "2053:14:11" + } + ] + }, + "documentation": "@dev Close a deed and refund a specified fraction of the bid value\n * @param refundRatio The amount*1/1000 to refund", + "id": 2417, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 2384, + "modifierName": { + "argumentTypes": null, + "id": 2383, + "name": "onlyRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "1886:13:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1886:13:11" + }, + { + "arguments": null, + "id": 2386, + "modifierName": { + "argumentTypes": null, + "id": 2385, + "name": "onlyActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2274, + "src": "1900:10:11", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1900:10:11" + } + ], + "name": "closeDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2382, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2381, + "name": "refundRatio", + "nodeType": "VariableDeclaration", + "scope": 2417, + "src": "1859:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2380, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1859:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1858:18:11" + }, + "returnParameters": { + "id": 2387, + "nodeType": "ParameterList", + "parameters": [], + "src": "1911:0:11" + }, + "scope": 2479, + "src": "1840:234:11", + "stateMutability": "nonpayable", + "superFunction": 2203, + "visibility": "external" + }, + { + "body": { + "id": 2423, + "nodeType": "Block", + "src": "2202:31:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2420, + "name": "_destroyDeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2478, + "src": "2212:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2212:14:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2422, + "nodeType": "ExpressionStatement", + "src": "2212:14:11" + } + ] + }, + "documentation": "@dev Close a deed and refund a specified fraction of the bid value", + "id": 2424, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "destroyDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2418, + "nodeType": "ParameterList", + "parameters": [], + "src": "2190:2:11" + }, + "returnParameters": { + "id": 2419, + "nodeType": "ParameterList", + "parameters": [], + "src": "2202:0:11" + }, + "scope": 2479, + "src": "2170:63:11", + "stateMutability": "nonpayable", + "superFunction": 2206, + "visibility": "external" + }, + { + "body": { + "id": 2431, + "nodeType": "Block", + "src": "2288:30:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2429, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "2305:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 2428, + "id": 2430, + "nodeType": "Return", + "src": "2298:13:11" + } + ] + }, + "documentation": null, + "id": 2432, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2425, + "nodeType": "ParameterList", + "parameters": [], + "src": "2253:2:11" + }, + "returnParameters": { + "id": 2428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2427, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2432, + "src": "2279:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2426, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2279:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2278:9:11" + }, + "scope": 2479, + "src": "2239:79:11", + "stateMutability": "view", + "superFunction": 2211, + "visibility": "external" + }, + { + "body": { + "id": 2439, + "nodeType": "Block", + "src": "2381:38:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2437, + "name": "_previousOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "2398:14:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2436, + "id": 2438, + "nodeType": "Return", + "src": "2391:21:11" + } + ] + }, + "documentation": null, + "id": 2440, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "previousOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2433, + "nodeType": "ParameterList", + "parameters": [], + "src": "2346:2:11" + }, + "returnParameters": { + "id": 2436, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2435, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2440, + "src": "2372:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2372:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2371:9:11" + }, + "scope": 2479, + "src": "2324:95:11", + "stateMutability": "view", + "superFunction": 2216, + "visibility": "external" + }, + { + "body": { + "id": 2447, + "nodeType": "Block", + "src": "2471:30:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2445, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2247, + "src": "2488:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2444, + "id": 2446, + "nodeType": "Return", + "src": "2481:13:11" + } + ] + }, + "documentation": null, + "id": 2448, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "value", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2441, + "nodeType": "ParameterList", + "parameters": [], + "src": "2439:2:11" + }, + "returnParameters": { + "id": 2444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2443, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2448, + "src": "2465:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2442, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2465:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2464:6:11" + }, + "scope": 2479, + "src": "2425:76:11", + "stateMutability": "view", + "superFunction": 2221, + "visibility": "external" + }, + { + "body": { + "id": 2455, + "nodeType": "Block", + "src": "2560:30:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2453, + "name": "_creationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "2570:13:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2454, + "nodeType": "ExpressionStatement", + "src": "2570:13:11" + } + ] + }, + "documentation": null, + "id": 2456, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "creationDate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2449, + "nodeType": "ParameterList", + "parameters": [], + "src": "2528:2:11" + }, + "returnParameters": { + "id": 2452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2451, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2456, + "src": "2554:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2450, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2554:4:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2553:6:11" + }, + "scope": 2479, + "src": "2507:83:11", + "stateMutability": "view", + "superFunction": 2226, + "visibility": "external" + }, + { + "body": { + "id": 2477, + "nodeType": "Block", + "src": "2629:357:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2647:7:11", + "subExpression": { + "argumentTypes": null, + "id": 2460, + "name": "active", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2249, + "src": "2648:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "2639:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2639:16:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2463, + "nodeType": "ExpressionStatement", + "src": "2639:16:11" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2467, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6952, + "src": "2921:4:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + ], + "id": 2466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2913:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2913:13:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2913:21:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2464, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "2901:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "send", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2901:11:11", + "typeDescriptions": { + "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2901:34:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2476, + "nodeType": "IfStatement", + "src": "2897:83:11", + "trueBody": { + "id": 2475, + "nodeType": "Block", + "src": "2937:43:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2472, + "name": "burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2237, + "src": "2964:4:11", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 2471, + "name": "selfdestruct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6918, + "src": "2951:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable)" + } + }, + "id": 2473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2951:18:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2474, + "nodeType": "ExpressionStatement", + "src": "2951:18:11" + } + ] + } + } + ] + }, + "documentation": null, + "id": 2478, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_destroyDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2457, + "nodeType": "ParameterList", + "parameters": [], + "src": "2617:2:11" + }, + "returnParameters": { + "id": 2458, + "nodeType": "ParameterList", + "parameters": [], + "src": "2629:0:11" + }, + "scope": 2479, + "src": "2596:390:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2480, + "src": "220:2768:11" + } + ], + "src": "0:2989:11" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.769Z", + "devdoc": { + "details": "The deed can be controlled only by the registrar and can only send ether back to the owner.", + "methods": { + "closeDeed(uint256)": { + "details": "Close a deed and refund a specified fraction of the bid value", + "params": { + "refundRatio": "The amount*1/1000 to refund" + } + }, + "destroyDeed()": { + "details": "Close a deed and refund a specified fraction of the bid value" + } + }, + "title": "Deed to hold ether in exchange for ownership of a node" + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/ENS.json b/contracts/ENS.json new file mode 100644 index 0000000..c3a66b9 --- /dev/null +++ b/contracts/ENS.json @@ -0,0 +1,3680 @@ +{ + "contractName": "ENS", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NewOwner", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "NewResolver", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "NewTTL", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setRecord", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setSubnodeRecord", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "setSubnodeOwner", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setTTL", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "resolver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "ttl", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "recordExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"NewResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"NewTTL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"recordExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setRecord\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setSubnodeRecord\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"ttl\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens/contracts/ENS.sol\":\"ENS\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity >=0.4.24;\n\ninterface ENS {\n\n // Logged when the owner of a node assigns a new owner to a subnode.\n event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\n\n // Logged when the owner of a node transfers ownership to a new account.\n event Transfer(bytes32 indexed node, address owner);\n\n // Logged when the resolver for a node changes.\n event NewResolver(bytes32 indexed node, address resolver);\n\n // Logged when the TTL of a node changes\n event NewTTL(bytes32 indexed node, uint64 ttl);\n\n // Logged when an operator is added or removed.\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n function setRecord(bytes32 node, address owner, address resolver, uint64 ttl) external;\n function setSubnodeRecord(bytes32 node, bytes32 label, address owner, address resolver, uint64 ttl) external;\n function setSubnodeOwner(bytes32 node, bytes32 label, address owner) external returns(bytes32);\n function setResolver(bytes32 node, address resolver) external;\n function setOwner(bytes32 node, address owner) external;\n function setTTL(bytes32 node, uint64 ttl) external;\n function setApprovalForAll(address operator, bool approved) external;\n function owner(bytes32 node) external view returns (address);\n function resolver(bytes32 node) external view returns (address);\n function ttl(bytes32 node) external view returns (uint64);\n function recordExists(bytes32 node) external view returns (bool);\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n", + "sourcePath": "@ensdomains/ens/contracts/ENS.sol", + "ast": { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "exportedSymbols": { + "ENS": [ + 2616 + ] + }, + "id": 2617, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2481, + "literals": [ + "solidity", + ">=", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:25:12" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 2616, + "linearizedBaseContracts": [ + 2616 + ], + "name": "ENS", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 2489, + "name": "NewOwner", + "nodeType": "EventDefinition", + "parameters": { + "id": 2488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2483, + "indexed": true, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2489, + "src": "136:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2482, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "136:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2485, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2489, + "src": "158:21:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2484, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "158:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2487, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2489, + "src": "181:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2486, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "181:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "135:60:12" + }, + "src": "121:75:12" + }, + { + "anonymous": false, + "documentation": null, + "id": 2495, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 2494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2491, + "indexed": true, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2495, + "src": "294:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2490, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "294:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2493, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2495, + "src": "316:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2492, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "316:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "293:37:12" + }, + "src": "279:52:12" + }, + { + "anonymous": false, + "documentation": null, + "id": 2501, + "name": "NewResolver", + "nodeType": "EventDefinition", + "parameters": { + "id": 2500, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2497, + "indexed": true, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2501, + "src": "407:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2496, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "407:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2499, + "indexed": false, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2501, + "src": "429:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "429:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "406:40:12" + }, + "src": "389:58:12" + }, + { + "anonymous": false, + "documentation": null, + "id": 2507, + "name": "NewTTL", + "nodeType": "EventDefinition", + "parameters": { + "id": 2506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2503, + "indexed": true, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "511:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2502, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "511:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2505, + "indexed": false, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "533:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2504, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "533:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "510:34:12" + }, + "src": "498:47:12" + }, + { + "anonymous": false, + "documentation": null, + "id": 2515, + "name": "ApprovalForAll", + "nodeType": "EventDefinition", + "parameters": { + "id": 2514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2509, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2515, + "src": "624:21:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2508, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "624:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2511, + "indexed": true, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 2515, + "src": "647:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2510, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "647:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2513, + "indexed": false, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 2515, + "src": "673:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2512, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "673:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "623:64:12" + }, + "src": "603:85:12" + }, + { + "body": null, + "documentation": null, + "id": 2526, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setRecord", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2517, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2526, + "src": "713:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2516, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "713:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2519, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2526, + "src": "727:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "727:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2521, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2526, + "src": "742:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2520, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "742:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2523, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2526, + "src": "760:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2522, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "760:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "712:59:12" + }, + "returnParameters": { + "id": 2525, + "nodeType": "ParameterList", + "parameters": [], + "src": "780:0:12" + }, + "scope": 2616, + "src": "694:87:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2539, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeRecord", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2528, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2539, + "src": "812:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2527, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "812:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2530, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2539, + "src": "826:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2529, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "826:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2532, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2539, + "src": "841:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2531, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "841:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2534, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2539, + "src": "856:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2533, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "856:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2536, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2539, + "src": "874:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2535, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "874:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "811:74:12" + }, + "returnParameters": { + "id": 2538, + "nodeType": "ParameterList", + "parameters": [], + "src": "894:0:12" + }, + "scope": 2616, + "src": "786:109:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2550, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2541, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "925:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2540, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "925:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2543, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "939:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2542, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "939:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2545, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "954:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "954:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "924:44:12" + }, + "returnParameters": { + "id": 2549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2548, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "986:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2547, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "986:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "985:9:12" + }, + "scope": 2616, + "src": "900:95:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2557, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2552, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2557, + "src": "1021:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2551, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1021:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2554, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2557, + "src": "1035:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2553, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1035:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1020:32:12" + }, + "returnParameters": { + "id": 2556, + "nodeType": "ParameterList", + "parameters": [], + "src": "1061:0:12" + }, + "scope": 2616, + "src": "1000:62:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2564, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2559, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2564, + "src": "1085:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2558, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1085:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2561, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2564, + "src": "1099:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2560, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1099:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1084:29:12" + }, + "returnParameters": { + "id": 2563, + "nodeType": "ParameterList", + "parameters": [], + "src": "1122:0:12" + }, + "scope": 2616, + "src": "1067:56:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2571, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setTTL", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2569, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2566, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2571, + "src": "1144:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2565, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1144:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2568, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2571, + "src": "1158:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2567, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1158:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1143:26:12" + }, + "returnParameters": { + "id": 2570, + "nodeType": "ParameterList", + "parameters": [], + "src": "1178:0:12" + }, + "scope": 2616, + "src": "1128:51:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2578, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2576, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2573, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 2578, + "src": "1211:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2572, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1211:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2575, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 2578, + "src": "1229:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2574, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1229:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1210:33:12" + }, + "returnParameters": { + "id": 2577, + "nodeType": "ParameterList", + "parameters": [], + "src": "1252:0:12" + }, + "scope": 2616, + "src": "1184:69:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2585, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2580, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "1273:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2579, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1273:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1272:14:12" + }, + "returnParameters": { + "id": 2584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2583, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "1310:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1310:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1309:9:12" + }, + "scope": 2616, + "src": "1258:61:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2592, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2587, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2592, + "src": "1342:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2586, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1342:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1341:14:12" + }, + "returnParameters": { + "id": 2591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2590, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2592, + "src": "1379:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1379:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1378:9:12" + }, + "scope": 2616, + "src": "1324:64:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2599, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ttl", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2594, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2599, + "src": "1406:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2593, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1406:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1405:14:12" + }, + "returnParameters": { + "id": 2598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2597, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2599, + "src": "1443:6:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2596, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1443:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1442:8:12" + }, + "scope": 2616, + "src": "1393:58:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2606, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "recordExists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2601, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2606, + "src": "1478:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1478:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1477:14:12" + }, + "returnParameters": { + "id": 2605, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2604, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2606, + "src": "1515:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2603, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1515:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1514:6:12" + }, + "scope": 2616, + "src": "1456:65:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2615, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2611, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2608, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2615, + "src": "1552:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2607, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1552:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2610, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 2615, + "src": "1567:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2609, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1567:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1551:33:12" + }, + "returnParameters": { + "id": 2614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2613, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2615, + "src": "1608:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2612, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1608:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1607:6:12" + }, + "scope": 2616, + "src": "1526:88:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 2617, + "src": "27:1589:12" + } + ], + "src": "0:1617:12" + }, + "legacyAST": { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "exportedSymbols": { + "ENS": [ + 2616 + ] + }, + "id": 2617, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2481, + "literals": [ + "solidity", + ">=", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:25:12" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 2616, + "linearizedBaseContracts": [ + 2616 + ], + "name": "ENS", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 2489, + "name": "NewOwner", + "nodeType": "EventDefinition", + "parameters": { + "id": 2488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2483, + "indexed": true, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2489, + "src": "136:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2482, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "136:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2485, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2489, + "src": "158:21:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2484, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "158:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2487, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2489, + "src": "181:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2486, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "181:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "135:60:12" + }, + "src": "121:75:12" + }, + { + "anonymous": false, + "documentation": null, + "id": 2495, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 2494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2491, + "indexed": true, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2495, + "src": "294:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2490, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "294:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2493, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2495, + "src": "316:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2492, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "316:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "293:37:12" + }, + "src": "279:52:12" + }, + { + "anonymous": false, + "documentation": null, + "id": 2501, + "name": "NewResolver", + "nodeType": "EventDefinition", + "parameters": { + "id": 2500, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2497, + "indexed": true, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2501, + "src": "407:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2496, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "407:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2499, + "indexed": false, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2501, + "src": "429:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "429:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "406:40:12" + }, + "src": "389:58:12" + }, + { + "anonymous": false, + "documentation": null, + "id": 2507, + "name": "NewTTL", + "nodeType": "EventDefinition", + "parameters": { + "id": 2506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2503, + "indexed": true, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "511:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2502, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "511:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2505, + "indexed": false, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2507, + "src": "533:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2504, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "533:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "510:34:12" + }, + "src": "498:47:12" + }, + { + "anonymous": false, + "documentation": null, + "id": 2515, + "name": "ApprovalForAll", + "nodeType": "EventDefinition", + "parameters": { + "id": 2514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2509, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2515, + "src": "624:21:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2508, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "624:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2511, + "indexed": true, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 2515, + "src": "647:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2510, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "647:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2513, + "indexed": false, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 2515, + "src": "673:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2512, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "673:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "623:64:12" + }, + "src": "603:85:12" + }, + { + "body": null, + "documentation": null, + "id": 2526, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setRecord", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2517, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2526, + "src": "713:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2516, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "713:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2519, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2526, + "src": "727:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "727:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2521, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2526, + "src": "742:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2520, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "742:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2523, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2526, + "src": "760:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2522, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "760:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "712:59:12" + }, + "returnParameters": { + "id": 2525, + "nodeType": "ParameterList", + "parameters": [], + "src": "780:0:12" + }, + "scope": 2616, + "src": "694:87:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2539, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeRecord", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2528, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2539, + "src": "812:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2527, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "812:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2530, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2539, + "src": "826:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2529, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "826:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2532, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2539, + "src": "841:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2531, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "841:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2534, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2539, + "src": "856:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2533, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "856:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2536, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2539, + "src": "874:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2535, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "874:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "811:74:12" + }, + "returnParameters": { + "id": 2538, + "nodeType": "ParameterList", + "parameters": [], + "src": "894:0:12" + }, + "scope": 2616, + "src": "786:109:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2550, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2541, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "925:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2540, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "925:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2543, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "939:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2542, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "939:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2545, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "954:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "954:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "924:44:12" + }, + "returnParameters": { + "id": 2549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2548, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "986:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2547, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "986:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "985:9:12" + }, + "scope": 2616, + "src": "900:95:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2557, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2552, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2557, + "src": "1021:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2551, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1021:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2554, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2557, + "src": "1035:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2553, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1035:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1020:32:12" + }, + "returnParameters": { + "id": 2556, + "nodeType": "ParameterList", + "parameters": [], + "src": "1061:0:12" + }, + "scope": 2616, + "src": "1000:62:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2564, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2559, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2564, + "src": "1085:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2558, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1085:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2561, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2564, + "src": "1099:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2560, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1099:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1084:29:12" + }, + "returnParameters": { + "id": 2563, + "nodeType": "ParameterList", + "parameters": [], + "src": "1122:0:12" + }, + "scope": 2616, + "src": "1067:56:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2571, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setTTL", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2569, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2566, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2571, + "src": "1144:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2565, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1144:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2568, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2571, + "src": "1158:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2567, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1158:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1143:26:12" + }, + "returnParameters": { + "id": 2570, + "nodeType": "ParameterList", + "parameters": [], + "src": "1178:0:12" + }, + "scope": 2616, + "src": "1128:51:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2578, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2576, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2573, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 2578, + "src": "1211:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2572, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1211:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2575, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 2578, + "src": "1229:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2574, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1229:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1210:33:12" + }, + "returnParameters": { + "id": 2577, + "nodeType": "ParameterList", + "parameters": [], + "src": "1252:0:12" + }, + "scope": 2616, + "src": "1184:69:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2585, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2580, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "1273:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2579, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1273:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1272:14:12" + }, + "returnParameters": { + "id": 2584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2583, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2585, + "src": "1310:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1310:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1309:9:12" + }, + "scope": 2616, + "src": "1258:61:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2592, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2587, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2592, + "src": "1342:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2586, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1342:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1341:14:12" + }, + "returnParameters": { + "id": 2591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2590, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2592, + "src": "1379:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1379:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1378:9:12" + }, + "scope": 2616, + "src": "1324:64:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2599, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ttl", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2594, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2599, + "src": "1406:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2593, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1406:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1405:14:12" + }, + "returnParameters": { + "id": 2598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2597, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2599, + "src": "1443:6:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2596, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1443:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1442:8:12" + }, + "scope": 2616, + "src": "1393:58:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2606, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "recordExists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2601, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2606, + "src": "1478:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1478:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1477:14:12" + }, + "returnParameters": { + "id": 2605, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2604, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2606, + "src": "1515:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2603, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1515:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1514:6:12" + }, + "scope": 2616, + "src": "1456:65:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2615, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2611, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2608, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2615, + "src": "1552:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2607, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1552:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2610, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 2615, + "src": "1567:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2609, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1567:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1551:33:12" + }, + "returnParameters": { + "id": 2614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2613, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2615, + "src": "1608:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2612, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1608:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1607:6:12" + }, + "scope": 2616, + "src": "1526:88:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 2617, + "src": "27:1589:12" + } + ], + "src": "0:1617:12" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.771Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/ENSMigrationSubdomainRegistrar.json b/contracts/ENSMigrationSubdomainRegistrar.json new file mode 100644 index 0000000..b2442c4 --- /dev/null +++ b/contracts/ENSMigrationSubdomainRegistrar.json @@ -0,0 +1,3025 @@ +{ + "contractName": "ENSMigrationSubdomainRegistrar", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ENS", + "name": "ens", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "DomainConfigured", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "DomainTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "DomainUnlisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "NewRegistration", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "RentPaid", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "TLD_NODE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + } + ], + "name": "configureDomain", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_transfer", + "type": "address" + } + ], + "name": "configureDomainFor", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "migrate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "migration", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "payRent", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "query", + "outputs": [ + { + "internalType": "string", + "name": "domain", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rent", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "internalType": "address", + "name": "_subdomainOwner", + "type": "address" + }, + { + "internalType": "address payable", + "name": "referrer", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "register", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "registrar", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "registrarOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "rentDue", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_migration", + "type": "address" + } + ], + "name": "setMigrationAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "stop", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "stopped", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address payable", + "name": "newOwner", + "type": "address" + } + ], + "name": "transfer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "unlistDomain", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "migrateSubdomain", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ENS\",\"name\":\"ens\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"DomainConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"DomainTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"DomainUnlisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"NewRegistration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"RentPaid\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"TLD_NODE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"}],\"name\":\"configureDomain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transfer\",\"type\":\"address\"}],\"name\":\"configureDomainFor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"migrate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"migrateSubdomain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"migration\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"payRent\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_subdomainOwner\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"register\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registrar\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registrarOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"rentDue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_migration\",\"type\":\"address\"}],\"name\":\"setMigrationAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stop\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"stopped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address payable\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"unlistDomain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implements an ENS registrar that sells subdomains on behalf of their owners. * Users may register a subdomain by calling `register` with the name of the domain they wish to register under, and the label hash of the subdomain they want to register. They must also specify the new owner of the domain, and the referrer, who is paid an optional finder's fee. The registrar then configures a simple default resolver, which resolves `addr` lookups to the new owner, and sets the `owner` account as the owner of the subdomain in ENS. * New domains may be added by calling `configureDomain`, then transferring ownership in the ENS registry to this contract. Ownership in the contract may be transferred using `transfer`, and a domain may be unlisted for sale using `unlistDomain`. There is (deliberately) no way to recover ownership in ENS once the name is transferred to this registrar. * Critically, this contract does not check one key property of a listed domain: * - Is the name UTS46 normalised? * User applications MUST check these two elements for each domain before offering them to users for registration. * Applications should additionally check that the domains they are offering to register are controlled by this registrar, since calls to `register` will fail if this is not the case.\",\"methods\":{\"configureDomain(string,uint256,uint256)\":{\"details\":\"Configures a domain for sale.\",\"params\":{\"name\":\"The name to configure.\",\"price\":\"The price in wei to charge for subdomain registrations\",\"referralFeePPM\":\"The referral fee to offer, in parts per million\"}},\"configureDomainFor(string,uint256,uint256,address,address)\":{\"details\":\"Configures a domain, optionally transferring it to a new owner.\",\"params\":{\"_owner\":\"The address to assign ownership of this domain to.\",\"_transfer\":\"The address to set as the transfer address for the name when the permanent registrar is replaced. Can only be set to a non-zero value once.\",\"name\":\"The name to configure.\",\"price\":\"The price in wei to charge for subdomain registrations.\",\"referralFeePPM\":\"The referral fee to offer, in parts per million.\"}},\"migrate(string)\":{\"details\":\"Migrates the domain to a new registrar.\",\"params\":{\"name\":\"The name of the domain to migrate.\"}},\"owner(bytes32)\":{\"details\":\"owner returns the address of the account that controls a domain. Initially this is a null address. If the name has been transferred to this contract, then the internal mapping is consulted to determine who controls it. If the owner is not set, the owner of the domain in the Registrar is returned.\",\"params\":{\"label\":\"The label hash of the deed to check.\"},\"return\":\"The address owning the deed.\"},\"query(bytes32,string)\":{\"details\":\"Returns information about a subdomain.\",\"params\":{\"label\":\"The label hash for the domain.\",\"subdomain\":\"The label for the subdomain.\"},\"return\":\"domain The name of the domain, or an empty string if the subdomain is unavailable.price The price to register a subdomain, in wei.rent The rent to retain a subdomain, in wei per second.referralFeePPM The referral fee for the dapp, in ppm.\"},\"register(bytes32,string,address,address,address)\":{\"details\":\"Registers a subdomain.\",\"params\":{\"_subdomainOwner\":\"The account that should own the newly configured subdomain.\",\"label\":\"The label hash of the domain to register a subdomain of.\",\"referrer\":\"The address of the account to receive the referral fee.\",\"subdomain\":\"The desired subdomain label.\"}},\"setMigrationAddress(address)\":{\"details\":\"Sets the address where domains are migrated to.\",\"params\":{\"_migration\":\"Address of the new registrar.\"}},\"setResolver(string,address)\":{\"details\":\"Sets the resolver record for a name in ENS.\",\"params\":{\"name\":\"The name to set the resolver for.\",\"resolver\":\"The address of the resolver\"}},\"stop()\":{\"details\":\"Stops the registrar, disabling configuring of new domains.\"},\"transfer(string,address)\":{\"details\":\"Transfers internal control of a name to a new account. Does not update ENS.\",\"params\":{\"name\":\"The name to transfer.\",\"newOwner\":\"The address of the new owner.\"}},\"unlistDomain(string)\":{\"details\":\"Unlists a domain May only be called by the owner.\",\"params\":{\"name\":\"The name of the domain to unlist.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/ENSMigrationSubdomainRegistrar.sol\":\"ENSMigrationSubdomainRegistrar\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol\":{\"keccak256\":\"0x956a877538a83f7f4479a3e98d0918cfd1834440329780f67f0cd9ed399fb488\",\"urls\":[\"bzz-raw://47a2599288ae69dc111e7d32170e1aebb73e12747d85bd577e766772aed88577\",\"dweb:/ipfs/QmPXVqDeZXnYr9DW63YH4yDJVwMi7F38uEMTAnX5BTKH2A\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/ENSMigrationSubdomainRegistrar.sol\":{\"keccak256\":\"0x26e066371d73e0895286fd4a62c156c88508e1df2b5fe81fed6c1908931eeb17\",\"urls\":[\"bzz-raw://68f33745a83069856d23810a62f7b3492e278f8f32760b5a051973b8fd4e94ba\",\"dweb:/ipfs/QmX6V9vQU3kuv7UjwvAxxBht9cUV7orUf5L9XWgFeKCDQZ\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/EthRegistrarSubdomainRegistrar.sol\":{\"keccak256\":\"0x7438e23612da3a7c3cdba5636d0e5d6c70703af4d22ae3cc90ec6a5a26612fa1\",\"urls\":[\"bzz-raw://70e5a4824e7f0b2a74cbccda94c4fb33a79065794a41becc404e57d4d2127b48\",\"dweb:/ipfs/Qma9QGGr3chYJ7FXHWMni29wvnXbok9eNJEzQMU9XgjTar\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol\":{\"keccak256\":\"0x32eb0addc992b12a37b1fa94a5666bd540037419a3c02d2ba7537b556503d810\",\"urls\":[\"bzz-raw://c7da50663daa8678c844584ca7cf45edc0cf8139686051e1aab079c94027bb10\",\"dweb:/ipfs/Qmd8s5aQg98KyXXn4tEqyFDnTozwRQEBChZxWvwEGu5QJi\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol\":{\"keccak256\":\"0x4da4417de1daf1d66ee092b3cae0aeee2b5c591bfe881b006f80d2c4e582b790\",\"urls\":[\"bzz-raw://8b0c70eef6d5b9d2d6cda5b0849e2d6336ad395616e90673e61c5a73be66c29c\",\"dweb:/ipfs/QmYZWJDsgw284zSRztKu8jT5yPLPU7ySh9i3agWsnRd9Zw\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\":{\"keccak256\":\"0x8f8f496603d868fdf3ddf31c54fb6eed6a865f2adbf568fe0b3d999d4fa667f4\",\"urls\":[\"bzz-raw://40c16e89553e4af1dad651bdb63208f5e20429e0e5dbd716eb0cad14eafb96be\",\"dweb:/ipfs/QmYdCBZHRwRgKPRmCvghw7hbdvqqcJJCKg5JTtzWWwoSQP\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzz-raw://f07a2c393caa85f62f0aaa461e3edd50aa59371d4209778ba0558d7f8b4b856c\",\"dweb:/ipfs/QmeN3ZiYGSjCnQFeYaJNgoXjF9eDue1g3e9pqManRkeBtV\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x1f059ee943273719130df645fa38069b792988e8b732585528d5b1265f5aa046\",\"urls\":[\"bzz-raw://31e4d99091a83a42a6ea14d74ceae2ec3ffb2905c7ee07358875af72ea188333\",\"dweb:/ipfs/Qmf7nHc6BwhbyawapCVRZHzhBHNoA8ftpQWmGSyToVKVzN\"]}},\"version\":1}", + "bytecode": "0x608060405260008060006101000a81548160ff0219169083151502179055503480156200002b57600080fd5b506040516200308138038062003081833981810160405260208110156200005157600080fd5b8101908080519060200190929190505050808080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be37f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200013c57600080fd5b505afa15801562000151573d6000803e3d6000fd5b505050506040513d60208110156200016857600080fd5b8101908080519060200190929190505050600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050612e74806200020d6000396000f3fe6080604052600436106101355760003560e01c8063660b7ad5116100ab578063cb01a9bf1161006f578063cb01a9bf146108df578063cf77525514610962578063da1fe7d514610a7e578063e34e788914610b5a578063f2fde38b14610c22578063fbf58b3e14610c7357610135565b8063660b7ad514610631578063733ccaba146106d557806375f12b21146107bd57806396df3540146107ec578063c9c5b5b41461081757610135565b80631cb82d79116100fd5780631cb82d79146102da5780632b20e397146103315780632eef3d65146103885780633f15457f146104a65780634254b155146104fd5780634732a7dc146105e057610135565b806301ffc9a71461013a57806302571be3146101ac57806307da68f51461022757806311fb13351461023e5780631705a3bd14610283575b600080fd5b34801561014657600080fd5b506101926004803603602081101561015d57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d5b565b604051808215151515815260200191505060405180910390f35b3480156101b857600080fd5b506101e5600480360360208110156101cf57600080fd5b8101908080359060200190929190505050610dbd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023357600080fd5b5061023c610f1f565b005b34801561024a57600080fd5b506102816004803603604081101561026157600080fd5b810190808035906020019092919080359060200190929190505050610fae565b005b34801561028f57600080fd5b50610298611355565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e657600080fd5b506102ef61137b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033d57600080fd5b506103466113a1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561039457600080fd5b50610416600480360360408110156103ab57600080fd5b8101908080359060200190929190803590602001906401000000008111156103d257600080fd5b8201836020820111156103e457600080fd5b8035906020019184600183028401116401000000008311171561040657600080fd5b90919293919293905050506113c7565b6040518080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561046857808201518184015260208101905061044d565b50505050905090810190601f1680156104955780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156104b257600080fd5b506104bb611660565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105de600480360360a081101561051357600080fd5b81019080803590602001909291908035906020019064010000000081111561053a57600080fd5b82018360208201111561054c57600080fd5b8035906020019184600183028401116401000000008311171561056e57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611686565b005b3480156105ec57600080fd5b5061062f6004803603602081101561060357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba3565b005b34801561063d57600080fd5b506106bf6004803603604081101561065457600080fd5b81019080803590602001909291908035906020019064010000000081111561067b57600080fd5b82018360208201111561068d57600080fd5b803590602001918460018302840111640100000000831117156106af57600080fd5b9091929391929390505050611c59565b6040518082815260200191505060405180910390f35b3480156106e157600080fd5b506107bb600480360360408110156106f857600080fd5b810190808035906020019064010000000081111561071557600080fd5b82018360208201111561072757600080fd5b8035906020019184600183028401116401000000008311171561074957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c85565b005b3480156107c957600080fd5b506107d2611df7565b604051808215151515815260200191505060405180910390f35b3480156107f857600080fd5b50610801611e09565b6040518082815260200191505060405180910390f35b34801561082357600080fd5b506108dd6004803603602081101561083a57600080fd5b810190808035906020019064010000000081111561085757600080fd5b82018360208201111561086957600080fd5b8035906020019184600183028401116401000000008311171561088b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611e30565b005b610960600480360360408110156108f557600080fd5b81019080803590602001909291908035906020019064010000000081111561091c57600080fd5b82018360208201111561092e57600080fd5b8035906020019184600183028401116401000000008311171561095057600080fd5b90919293919293905050506122ac565b005b34801561096e57600080fd5b50610a7c600480360360a081101561098557600080fd5b81019080803590602001906401000000008111156109a257600080fd5b8201836020820111156109b457600080fd5b803590602001918460018302840111640100000000831117156109d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122b1565b005b348015610a8a57600080fd5b50610b5860048036036060811015610aa157600080fd5b8101908080359060200190640100000000811115610abe57600080fd5b820183602082011115610ad057600080fd5b80359060200191846001830284011164010000000083111715610af257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291908035906020019092919050505061272c565b005b348015610b6657600080fd5b50610c2060048036036020811015610b7d57600080fd5b8101908080359060200190640100000000811115610b9a57600080fd5b820183602082011115610bac57600080fd5b80359060200191846001830284011164010000000083111715610bce57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061273f565b005b348015610c2e57600080fd5b50610c7160048036036020811015610c4557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612819565b005b348015610c7f57600080fd5b50610d5960048036036040811015610c9657600080fd5b8101908080359060200190640100000000811115610cb357600080fd5b820183602082011115610cc557600080fd5b80359060200191846001830284011164010000000083111715610ce757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128b7565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610db6575063c1b15f5a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e66576004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610f1a565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8360001c6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610edc57600080fd5b505afa158015610ef0573d6000803e3d6000fd5b505050506040513d6020811015610f0657600080fd5b810190808051906020019092919050505090505b919050565b6000809054906101000a900460ff1615610f3857600080fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f9257600080fd5b60016000806101000a81548160ff021916908315150217905550565b6000828260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561105657600080fd5b505afa15801561106a573d6000803e3d6000fd5b505050506040513d602081101561108057600080fd5b8101908080519060200190929190505050905061109c816129f7565b15806110d357508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6110dc57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ef2c7f0858584600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561119057600080fd5b505afa1580156111a4573d6000803e3d6000fd5b505050506040513d60208110156111ba57600080fd5b8101908080519060200190929190505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316a25cbd896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561123e57600080fd5b505afa158015611252573d6000803e3d6000fd5b505050506040513d602081101561126857600080fd5b81019080805190602001909291905050506040518663ffffffff1660e01b8152600401808681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff16815260200195505050505050600060405180830381600087803b15801561133757600080fd5b505af115801561134b573d6000803e3d6000fd5b5050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000806000807f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b886040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600081888860405180838380828437808301925050509250505060405180910390206040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156114ff57600080fd5b505afa158015611513573d6000803e3d6000fd5b505050506040513d602081101561152957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146115855760008060006040518060200160405280600081525092919082925081915080905095509550955095505050611657565b6000600460008b8152602001908152602001600020905080600001816002015460008360030154838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116415780601f1061161657610100808354040283529160200191611641565b820191906000526020600020905b81548152906001019060200180831161162457829003601f168201915b5050505050935081915096509650965096505050505b93509350935093565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900460ff161561169f57600080fd5b600083905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b8860405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000878760405180838380828437808301925050509250505060405180910390209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be384846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156117d657600080fd5b505afa1580156117ea573d6000803e3d6000fd5b505050506040513d602081101561180057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461183157600080fd5b6000600460008b81526020019081526020016000209050898160000160405180828054600181600116156101000203166002900480156118a85780601f106118865761010080835404028352918201916118a8565b820191906000526020600020905b815481529060010190602001808311611894575b50509150506040518091039020146118bf57600080fd5b80600201543410156118d057600080fd5b806002015434111561192a573373ffffffffffffffffffffffffffffffffffffffff166108fc826002015434039081150290604051600060405180830381858888f19350505050158015611928573d6000803e3d6000fd5b505b600081600201549050600082600301541180156119745750600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b80156119d057508160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15611a3e576000620f42408360030154846002015402816119ed57fe5b0490508773ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a36573d6000803e3d6000fd5b508082039150505b6000811115611ab3578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ab1573d6000803e3d6000fd5b505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611aec573394505b611af884848789612a0a565b8673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168c7ffa38f9920801763ca6e4ee19135fb26a4fa11c0a34f7117455064991a1a3e6588d8d876002015460405180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a45050505050505050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bfd57600080fd5b6000809054906101000a900460ff16611c1557600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90509392505050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff16611cad82610dbd565b73ffffffffffffffffffffffffffffffffffffffff1614611ccd57600080fd5b60008380519060200120905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82866040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015611dd857600080fd5b505af1158015611dec573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900460ff1681565b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b81565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff16611e5882610dbd565b73ffffffffffffffffffffffffffffffffffffffff1614611e7857600080fd5b6000809054906101000a900460ff16611e9057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eec57600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460001c6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611fdd57600080fd5b505af1158015611ff1573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf77525582600001836002015484600301548560010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006040518663ffffffff1660e01b815260040180806020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121705780601f1061214557610100808354040283529160200191612170565b820191906000526020600020905b81548152906001019060200180831161215357829003601f168201915b50509650505050505050600060405180830381600087803b15801561219457600080fd5b505af11580156121a8573d6000803e3d6000fd5b5050505060046000838152602001908152602001600020600080820160006121d09190612d52565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905560038201600090555050817f8c0dd32279c25300d82425bebe31a5c703918d83d2bb57a1155dfa6cbba61cf8856040518080602001828103825283818151815260200191508051906020019080838360005b8381101561226c578082015181840152602081019050612251565b50505050905090810190601f1680156122995780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050565b600080fd5b84805190602001203373ffffffffffffffffffffffffffffffffffffffff166122d982610dbd565b73ffffffffffffffffffffffffffffffffffffffff16146122f957600080fd5b60008680519060200120905060006004600083815260200190815260200160002090503073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156123a957600080fd5b505afa1580156123bd573d6000803e3d6000fd5b505050506040513d60208110156123d357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146125bc57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33308560001c6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156124df57600080fd5b505af11580156124f3573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166328ed4f6c8360001c306040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156125a357600080fd5b505af11580156125b7573d6000803e3d6000fd5b505050505b8473ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461265757848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b818160000160405180828054600181600116156101000203166002900480156126b75780601f106126955761010080835404028352918201916126b7565b820191906000526020600020905b8154815290600101906020018083116126a3575b50509150506040518091039020146126e357878160000190805190602001906126e1929190612d9a565b505b868160020181905550858160030181905550817f1427993bb6b6c16d8953c450c37078c8f41196e2e2db1619cda06620143e2d9160405160405180910390a25050505050505050565b61273a8383833360006122b1565b505050565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff1661276782610dbd565b73ffffffffffffffffffffffffffffffffffffffff161461278757600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050817f77f7b610de5055c8f704e6a3b12874468f5785f3a7d1007b67a8a4b4c7ed88fc60405160405180910390a2604051806020016040528060008152508160000190805190602001906127fe929190612d9a565b50600081600201819055506000816003018190555050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461287357600080fd5b80600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff166128df82610dbd565b73ffffffffffffffffffffffffffffffffffffffff16146128ff57600080fd5b6000838051906020012090508273ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16827f06e9c07310f63759634ddbb7257dbb19ca404f90bd6bdef1d3386fab033cebce60405160405180910390a4826004600083815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600080823b905060008111915050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59238585306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015612abb57600080fd5b505af1158015612acf573d6000803e3d6000fd5b505050506040513d6020811015612ae557600080fd5b810190808051906020019092919050505050600084846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82846040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612bd357600080fd5b505af1158015612be7573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663d5fa2b0082856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612c7257600080fd5b505af1158015612c86573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612d3357600080fd5b505af1158015612d47573d6000803e3d6000fd5b505050505050505050565b50805460018160011615610100020316600290046000825580601f10612d785750612d97565b601f016020900490600052602060002090810190612d969190612e1a565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612ddb57805160ff1916838001178555612e09565b82800160010185558215612e09579182015b82811115612e08578251825591602001919060010190612ded565b5b509050612e169190612e1a565b5090565b612e3c91905b80821115612e38576000816000905550600101612e20565b5090565b9056fea265627a7a723158204331c20faa697e922d872bbb69858559ed9571ac01c9ab5ec2e98c6993f1b2d964736f6c63430005100032", + "deployedBytecode": "0x6080604052600436106101355760003560e01c8063660b7ad5116100ab578063cb01a9bf1161006f578063cb01a9bf146108df578063cf77525514610962578063da1fe7d514610a7e578063e34e788914610b5a578063f2fde38b14610c22578063fbf58b3e14610c7357610135565b8063660b7ad514610631578063733ccaba146106d557806375f12b21146107bd57806396df3540146107ec578063c9c5b5b41461081757610135565b80631cb82d79116100fd5780631cb82d79146102da5780632b20e397146103315780632eef3d65146103885780633f15457f146104a65780634254b155146104fd5780634732a7dc146105e057610135565b806301ffc9a71461013a57806302571be3146101ac57806307da68f51461022757806311fb13351461023e5780631705a3bd14610283575b600080fd5b34801561014657600080fd5b506101926004803603602081101561015d57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d5b565b604051808215151515815260200191505060405180910390f35b3480156101b857600080fd5b506101e5600480360360208110156101cf57600080fd5b8101908080359060200190929190505050610dbd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023357600080fd5b5061023c610f1f565b005b34801561024a57600080fd5b506102816004803603604081101561026157600080fd5b810190808035906020019092919080359060200190929190505050610fae565b005b34801561028f57600080fd5b50610298611355565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e657600080fd5b506102ef61137b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033d57600080fd5b506103466113a1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561039457600080fd5b50610416600480360360408110156103ab57600080fd5b8101908080359060200190929190803590602001906401000000008111156103d257600080fd5b8201836020820111156103e457600080fd5b8035906020019184600183028401116401000000008311171561040657600080fd5b90919293919293905050506113c7565b6040518080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561046857808201518184015260208101905061044d565b50505050905090810190601f1680156104955780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156104b257600080fd5b506104bb611660565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105de600480360360a081101561051357600080fd5b81019080803590602001909291908035906020019064010000000081111561053a57600080fd5b82018360208201111561054c57600080fd5b8035906020019184600183028401116401000000008311171561056e57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611686565b005b3480156105ec57600080fd5b5061062f6004803603602081101561060357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba3565b005b34801561063d57600080fd5b506106bf6004803603604081101561065457600080fd5b81019080803590602001909291908035906020019064010000000081111561067b57600080fd5b82018360208201111561068d57600080fd5b803590602001918460018302840111640100000000831117156106af57600080fd5b9091929391929390505050611c59565b6040518082815260200191505060405180910390f35b3480156106e157600080fd5b506107bb600480360360408110156106f857600080fd5b810190808035906020019064010000000081111561071557600080fd5b82018360208201111561072757600080fd5b8035906020019184600183028401116401000000008311171561074957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c85565b005b3480156107c957600080fd5b506107d2611df7565b604051808215151515815260200191505060405180910390f35b3480156107f857600080fd5b50610801611e09565b6040518082815260200191505060405180910390f35b34801561082357600080fd5b506108dd6004803603602081101561083a57600080fd5b810190808035906020019064010000000081111561085757600080fd5b82018360208201111561086957600080fd5b8035906020019184600183028401116401000000008311171561088b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611e30565b005b610960600480360360408110156108f557600080fd5b81019080803590602001909291908035906020019064010000000081111561091c57600080fd5b82018360208201111561092e57600080fd5b8035906020019184600183028401116401000000008311171561095057600080fd5b90919293919293905050506122ac565b005b34801561096e57600080fd5b50610a7c600480360360a081101561098557600080fd5b81019080803590602001906401000000008111156109a257600080fd5b8201836020820111156109b457600080fd5b803590602001918460018302840111640100000000831117156109d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122b1565b005b348015610a8a57600080fd5b50610b5860048036036060811015610aa157600080fd5b8101908080359060200190640100000000811115610abe57600080fd5b820183602082011115610ad057600080fd5b80359060200191846001830284011164010000000083111715610af257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291908035906020019092919050505061272c565b005b348015610b6657600080fd5b50610c2060048036036020811015610b7d57600080fd5b8101908080359060200190640100000000811115610b9a57600080fd5b820183602082011115610bac57600080fd5b80359060200191846001830284011164010000000083111715610bce57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061273f565b005b348015610c2e57600080fd5b50610c7160048036036020811015610c4557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612819565b005b348015610c7f57600080fd5b50610d5960048036036040811015610c9657600080fd5b8101908080359060200190640100000000811115610cb357600080fd5b820183602082011115610cc557600080fd5b80359060200191846001830284011164010000000083111715610ce757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128b7565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610db6575063c1b15f5a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e66576004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610f1a565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8360001c6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610edc57600080fd5b505afa158015610ef0573d6000803e3d6000fd5b505050506040513d6020811015610f0657600080fd5b810190808051906020019092919050505090505b919050565b6000809054906101000a900460ff1615610f3857600080fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f9257600080fd5b60016000806101000a81548160ff021916908315150217905550565b6000828260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561105657600080fd5b505afa15801561106a573d6000803e3d6000fd5b505050506040513d602081101561108057600080fd5b8101908080519060200190929190505050905061109c816129f7565b15806110d357508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6110dc57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ef2c7f0858584600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561119057600080fd5b505afa1580156111a4573d6000803e3d6000fd5b505050506040513d60208110156111ba57600080fd5b8101908080519060200190929190505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316a25cbd896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561123e57600080fd5b505afa158015611252573d6000803e3d6000fd5b505050506040513d602081101561126857600080fd5b81019080805190602001909291905050506040518663ffffffff1660e01b8152600401808681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff16815260200195505050505050600060405180830381600087803b15801561133757600080fd5b505af115801561134b573d6000803e3d6000fd5b5050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000806000807f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b886040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600081888860405180838380828437808301925050509250505060405180910390206040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156114ff57600080fd5b505afa158015611513573d6000803e3d6000fd5b505050506040513d602081101561152957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146115855760008060006040518060200160405280600081525092919082925081915080905095509550955095505050611657565b6000600460008b8152602001908152602001600020905080600001816002015460008360030154838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116415780601f1061161657610100808354040283529160200191611641565b820191906000526020600020905b81548152906001019060200180831161162457829003601f168201915b5050505050935081915096509650965096505050505b93509350935093565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900460ff161561169f57600080fd5b600083905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b8860405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000878760405180838380828437808301925050509250505060405180910390209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be384846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156117d657600080fd5b505afa1580156117ea573d6000803e3d6000fd5b505050506040513d602081101561180057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461183157600080fd5b6000600460008b81526020019081526020016000209050898160000160405180828054600181600116156101000203166002900480156118a85780601f106118865761010080835404028352918201916118a8565b820191906000526020600020905b815481529060010190602001808311611894575b50509150506040518091039020146118bf57600080fd5b80600201543410156118d057600080fd5b806002015434111561192a573373ffffffffffffffffffffffffffffffffffffffff166108fc826002015434039081150290604051600060405180830381858888f19350505050158015611928573d6000803e3d6000fd5b505b600081600201549050600082600301541180156119745750600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b80156119d057508160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15611a3e576000620f42408360030154846002015402816119ed57fe5b0490508773ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a36573d6000803e3d6000fd5b508082039150505b6000811115611ab3578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ab1573d6000803e3d6000fd5b505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611aec573394505b611af884848789612a0a565b8673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168c7ffa38f9920801763ca6e4ee19135fb26a4fa11c0a34f7117455064991a1a3e6588d8d876002015460405180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a45050505050505050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bfd57600080fd5b6000809054906101000a900460ff16611c1557600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90509392505050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff16611cad82610dbd565b73ffffffffffffffffffffffffffffffffffffffff1614611ccd57600080fd5b60008380519060200120905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82866040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015611dd857600080fd5b505af1158015611dec573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900460ff1681565b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b81565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff16611e5882610dbd565b73ffffffffffffffffffffffffffffffffffffffff1614611e7857600080fd5b6000809054906101000a900460ff16611e9057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eec57600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460001c6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611fdd57600080fd5b505af1158015611ff1573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf77525582600001836002015484600301548560010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006040518663ffffffff1660e01b815260040180806020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121705780601f1061214557610100808354040283529160200191612170565b820191906000526020600020905b81548152906001019060200180831161215357829003601f168201915b50509650505050505050600060405180830381600087803b15801561219457600080fd5b505af11580156121a8573d6000803e3d6000fd5b5050505060046000838152602001908152602001600020600080820160006121d09190612d52565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905560038201600090555050817f8c0dd32279c25300d82425bebe31a5c703918d83d2bb57a1155dfa6cbba61cf8856040518080602001828103825283818151815260200191508051906020019080838360005b8381101561226c578082015181840152602081019050612251565b50505050905090810190601f1680156122995780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050565b600080fd5b84805190602001203373ffffffffffffffffffffffffffffffffffffffff166122d982610dbd565b73ffffffffffffffffffffffffffffffffffffffff16146122f957600080fd5b60008680519060200120905060006004600083815260200190815260200160002090503073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156123a957600080fd5b505afa1580156123bd573d6000803e3d6000fd5b505050506040513d60208110156123d357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146125bc57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33308560001c6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156124df57600080fd5b505af11580156124f3573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166328ed4f6c8360001c306040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156125a357600080fd5b505af11580156125b7573d6000803e3d6000fd5b505050505b8473ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461265757848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b818160000160405180828054600181600116156101000203166002900480156126b75780601f106126955761010080835404028352918201916126b7565b820191906000526020600020905b8154815290600101906020018083116126a3575b50509150506040518091039020146126e357878160000190805190602001906126e1929190612d9a565b505b868160020181905550858160030181905550817f1427993bb6b6c16d8953c450c37078c8f41196e2e2db1619cda06620143e2d9160405160405180910390a25050505050505050565b61273a8383833360006122b1565b505050565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff1661276782610dbd565b73ffffffffffffffffffffffffffffffffffffffff161461278757600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050817f77f7b610de5055c8f704e6a3b12874468f5785f3a7d1007b67a8a4b4c7ed88fc60405160405180910390a2604051806020016040528060008152508160000190805190602001906127fe929190612d9a565b50600081600201819055506000816003018190555050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461287357600080fd5b80600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff166128df82610dbd565b73ffffffffffffffffffffffffffffffffffffffff16146128ff57600080fd5b6000838051906020012090508273ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16827f06e9c07310f63759634ddbb7257dbb19ca404f90bd6bdef1d3386fab033cebce60405160405180910390a4826004600083815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600080823b905060008111915050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59238585306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015612abb57600080fd5b505af1158015612acf573d6000803e3d6000fd5b505050506040513d6020811015612ae557600080fd5b810190808051906020019092919050505050600084846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82846040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612bd357600080fd5b505af1158015612be7573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663d5fa2b0082856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612c7257600080fd5b505af1158015612c86573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612d3357600080fd5b505af1158015612d47573d6000803e3d6000fd5b505050505050505050565b50805460018160011615610100020316600290046000825580601f10612d785750612d97565b601f016020900490600052602060002090810190612d969190612e1a565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612ddb57805160ff1916838001178555612e09565b82800160010185558215612e09579182015b82811115612e08578251825591602001919060010190612ded565b5b509050612e169190612e1a565b5090565b612e3c91905b80821115612e38576000816000905550600101612e20565b5090565b9056fea265627a7a723158204331c20faa697e922d872bbb69858559ed9571ac01c9ab5ec2e98c6993f1b2d964736f6c63430005100032", + "sourceMap": "1504:725:1:-;;;348:5:0;326:27;;;;;;;;;;;;;;;;;;;;1585:67:1;8:9:-1;5:2;;;30:1;27;20:12;5:2;1585:67:1;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1585:67:1;;;;;;;;;;;;;;;;1637:3;1795::2;869:4:0;863:3;;:10;;;;;;;;;;;;;;;;;;895:3;;;;;;;;;;;:9;;;253:66;905:8;;895:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;895:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;895:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;895:19:0;;;;;;;;;;;;;;;;883:9;;:31;;;;;;;;;;;;;;;;;;941:10;924:14;;:27;;;;;;;;;;;;;;;;;;824:134;1747:63:2;1585:67:1;1504:725;;;;;;", + "deployedSourceMap": "1504:725:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1568:243:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1568:243:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1568:243:0;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2291:236:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2291:236:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2291:236:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2979:87:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2979:87:0;;;:::i;:::-;;1658:408:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:408:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:408:1;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;394:24:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;394:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;359:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;359:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;425:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;425:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5383:518:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5383:518:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5383:518:2;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5383:518:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5383:518:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5383:518:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5383:518:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;456:14:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;456:14:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6257:1651:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6257:1651:2;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6257:1651:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6257:1651:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6257:1651:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3203:142:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3203:142:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3203:142:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7914:188:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7914:188:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7914:188:2;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7914:188:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7914:188:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7914:188:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2187:266:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2187:266:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2187:266:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2187:266:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2187:266:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2187:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2187:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;326:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;326:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;218:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;218:101:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8230:620:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8230:620:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8230:620:2;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8230:620:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8230:620:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8230:620:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;8230:620:2;;;;;;;;;;;;;;;:::i;:::-;;8856:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8856:101:2;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8856:101:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8856:101:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8856:101:2;;;;;;;;;;;;:::i;:::-;;3569:858;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3569:858:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3569:858:2;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3569:858:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3569:858:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3569:858:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3569:858:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2711:175:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2711:175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2711:175:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2711:175:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2711:175:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2711:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2711:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4571:311:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4571:311:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4571:311:2;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4571:311:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4571:311:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4571:311:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4571:311:2;;;;;;;;;;;;;;;:::i;:::-;;3351:115:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3351:115:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3351:115:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2743:268:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2743:268:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2743:268:2;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2743:268:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2743:268:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2743:268:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2743:268:2;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1568:243:0;1636:4;1689:10;1674:25;;:11;:25;;;;1673:99;;;;1761:10;1746:25;;:11;:25;;;;1673:99;1652:152;;1568:243;;;:::o;2291:236:2:-;2342:7;2397:3;2365:36;;:7;:14;2373:5;2365:14;;;;;;;;;;;:20;;;;;;;;;;;;:36;;;2361:94;;2424:7;:14;2432:5;2424:14;;;;;;;;;;;:20;;;;;;;;;;;;2417:27;;;;2361:94;2486:9;;;;;;;;;;;2472:32;;;2513:5;2505:14;;2472:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2472:48:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2472:48:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2472:48:2;;;;;;;;;;;;;;;;2465:55;;2291:236;;;;:::o;2979:87:0:-;623:7;;;;;;;;;;;622:8;614:17;;;;;;719:14;;;;;;;;;;;705:28;;:10;:28;;;697:37;;;;;;3055:4;3045:7;;:14;;;;;;;;;;;;;;;;;;2979:87::o;1658:408:1:-;1732:15;1777:4;1783:5;1760:29;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1760:29:1;;;1750:40;;;;;;1732:58;;1800:16;1819:3;;;;;;;;;;;:9;;;1829:7;1819:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1819:18:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1819:18:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1819:18:1;;;;;;;;;;;;;;;;1800:37;;1917:20;1928:8;1917:10;:20::i;:::-;1916:21;:47;;;;1955:8;1941:22;;:10;:22;;;1916:47;1908:56;;;;;;1975:3;;;;;;;;;;;:20;;;1996:4;2002:5;2009:8;2019:3;;;;;;;;;;;:12;;;2032:7;2019:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2019:21:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2019:21:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2019:21:1;;;;;;;;;;;;;;;;2042:3;;;;;;;;;;;:7;;;2050;2042:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2042:16:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2042:16:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2042:16:1;;;;;;;;;;;;;;;;1975:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1975:84:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1975:84:1;;;;1658:408;;;;:::o;394:24:0:-;;;;;;;;;;;;;:::o;359:29::-;;;;;;;;;;;;;:::o;425:24::-;;;;;;;;;;;;;:::o;5383:518:2:-;5463:20;5485:10;5497:9;5508:19;5539:12;253:66:0;5581:8:2;;5591:5;5564:33;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5564:33:2;;;5554:44;;;;;;5539:59;;5608:15;5653:4;5675:9;;5659:27;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;5659:27:2;;;;;;;;;;;;;5636:51;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5636:51:2;;;5626:62;;;;;;5608:80;;5733:3;5703:34;;:3;;;;;;;;;;;:9;;;5713:7;5703:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5703:18:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5703:18:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5703:18:2;;;;;;;;;;;;;;;;:34;;;5699:85;;5765:1;5768;5771;5753:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5699:85;5794:19;5816:7;:14;5824:5;5816:14;;;;;;;;;;;5794:36;;5848:4;:9;;5859:4;:10;;;5871:1;5874:4;:19;;;5840:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5383:518;;;;;;;;:::o;456:14:0:-;;;;;;;;;;;;;:::o;6257:1651:2:-;623:7:0;;;;;;;;;;;622:8;614:17;;;;;;6425:22:2;6450:15;6425:40;;6475:18;253:66:0;6523:8:2;;6533:5;6506:33;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6506:33:2;;;6496:44;;;;;;6475:65;;6550:22;6591:9;;6575:27;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;6575:27:2;;;;;;;;;;;;;6550:52;;6752:1;6674:80;;:3;;;;;;;;;;;:9;;;6711:10;6723:14;6694:44;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6694:44:2;;;6684:55;;;;;;6674:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6674:66:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6674:66:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6674:66:2;;;;;;;;;;;;;;;;:80;;;6666:89;;;;;;6766:21;6790:7;:14;6798:5;6790:14;;;;;;;;;;;6766:38;;6909:5;6892:6;:11;;6876:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:38;6868:47;;;;;;6985:6;:12;;;6972:9;:25;;6964:34;;;;;;7056:6;:12;;;7044:9;:24;7040:100;;;7084:10;:19;;:45;7116:6;:12;;;7104:9;:24;7084:45;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7084:45:2;7040:100;7183:13;7199:6;:12;;;7183:28;;7249:1;7225:6;:21;;;:25;:53;;;;;7274:3;7254:24;;:8;:24;;;;7225:53;:81;;;;;7294:6;:12;;;;;;;;;;;;7282:24;;:8;:24;;;;7225:81;7221:260;;;7322:19;7385:7;7360:6;:21;;;7345:6;:12;;;:36;7344:48;;;;;;7322:70;;7406:8;:17;;:30;7424:11;7406:30;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7406:30:2;7459:11;7450:20;;;;7221:260;;7540:1;7532:5;:9;7528:68;;;7557:6;:12;;;;;;;;;;;;:21;;:28;7579:5;7557:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7557:28:2;7528:68;7667:3;7641:30;;:14;:30;;;7637:88;;;7704:10;7687:27;;7637:88;7734:78;7749:10;7761:14;7777;7802:8;7734:14;:78::i;:::-;7878:8;7828:73;;7862:14;7828:73;;7844:5;7828:73;7851:9;;7888:6;:12;;;7828:73;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7828:73:2;;;;;;;;;;;;;;;641:1:0;;;;;6257:1651:2;;;;;;:::o;3203:142:0:-;719:14;;;;;;;;;;;705:28;;:10;:28;;;697:37;;;;;;3298:7;;;;;;;;;;;3290:16;;;;;;3328:10;3316:9;;:22;;;;;;;;;;;;;;;;;;3203:142;:::o;7914:188:2:-;7996:14;8029:66;8022:73;;7914:188;;;;;:::o;2187:266:0:-;2280:4;2264:22;;;;;;546:10;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;2298:13;2330:4;2314:22;;;;;;2298:38;;2346:12;253:66;2388:8;;2398:5;2371:33;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2371:33:0;;;2361:44;;;;;;2346:59;;2415:3;;;;;;;;;;;:15;;;2431:4;2437:8;2415:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2415:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2415:31:0;;;;567:1;;2187:266;;;:::o;326:27::-;;;;;;;;;;;;;:::o;218:101::-;253:66;218:101;;;:::o;8230:620:2:-;8301:4;8285:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;8327:7:2;;;;;;;;;;;8319:16;;;;;;8374:3;8353:25;;:9;;;;;;;;;;;:25;;;;8345:34;;;;;;8390:13;8422:4;8406:22;;;;;;8390:38;;8438:21;8462:7;:14;8470:5;8462:14;;;;;;;;;;;8438:38;;8501:9;;;;;;;;;;;8487:32;;;8520:9;;;;;;;;;;;8539:5;8531:14;;8487:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8487:59:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8487:59:2;;;;8588:9;;;;;;;;;;;8557:60;;;8631:6;:11;;8656:6;:12;;;8682:6;:21;;;8717:6;:12;;;;;;;;;;;;8751:3;8557:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8557:208:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8557:208:2;;;;8783:7;:14;8791:5;8783:14;;;;;;;;;;;;8776:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8831:5;8813:30;8838:4;8813:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8813:30:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;567:1:0;;8230:620:2;;:::o;8856:101::-;8942:8;;;3569:858;3727:4;3711:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;3745:13:2;3777:4;3761:22;;;;;;3745:38;;3793:21;3817:7;:14;3825:5;3817:14;;;;;;;;;;;3793:38;;3906:4;3846:65;;3860:9;;;;;;;;;;;3846:32;;;3887:5;3879:14;;3846:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3846:48:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3846:48:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3846:48:2;;;;;;;;;;;;;;;;:65;;;3842:253;;3941:9;;;;;;;;;;;3927:37;;;3965:10;3985:4;4000:5;3992:14;;3927:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3927:80:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3927:80:2;;;;4035:9;;;;;;;;;;;4021:32;;;4062:5;4054:14;;4078:4;4021:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4021:63:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4021:63:2;;;;3842:253;4125:6;4109:22;;:6;:12;;;;;;;;;;;;:22;;;4105:74;;4162:6;4147;:12;;;:21;;;;;;;;;;;;;;;;;;4105:74;4226:5;4209:6;:11;;4193:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:38;4189:114;;4288:4;4274:6;:11;;:18;;;;;;;;;;;;:::i;:::-;;4189:114;4328:5;4313:6;:12;;:20;;;;4367:14;4343:6;:21;;:38;;;;4414:5;4397:23;;;;;;;;;;567:1:0;;3569:858:2;;;;;;:::o;2711:175:0:-;2806:73;2825:4;2831:5;2838:14;2854:10;2874:3;2806:18;:73::i;:::-;2711:175;;;:::o;4571:311:2:-;4647:4;4631:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;4665:13:2;4697:4;4681:22;;;;;;4665:38;;4713:21;4737:7;:14;4745:5;4737:14;;;;;;;;;;;4713:38;;4781:5;4766:21;;;;;;;;;;4798:16;;;;;;;;;;;;:6;:11;;:16;;;;;;;;;;;;:::i;:::-;;4839:1;4824:6;:12;;:16;;;;4874:1;4850:6;:21;;:25;;;;567:1:0;;4571:311:2;;:::o;3351:115:0:-;719:14;;;;;;;;;;;705:28;;:10;:28;;;697:37;;;;;;3451:8;3434:14;;:25;;;;;;;;;;;;;;;;;;3351:115;:::o;2743:268:2:-;2841:4;2825:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;2859:13:2;2891:4;2875:22;;;;;;2859:38;;2954:8;2912:51;;2932:7;:14;2940:5;2932:14;;;;;;;;;;;:20;;;;;;;;;;;;2912:51;;2925:5;2912:51;;;;;;;;;;2996:8;2973:7;:14;2981:5;2973:14;;;;;;;;;;;:20;;;:31;;;;;;;;;;;;;;;;;;567:1:0;2743:268:2;;;:::o;2072:155:1:-;2123:4;2139:9;2189:4;2177:17;2169:25;;2219:1;2212:4;:8;2205:15;;;2072:155;;;:::o;964:598:0:-;1131:3;;;;;;;;;;;:19;;;1151:4;1157:5;1172:4;1131:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1131:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1131:47:0;;;;;;;;;;;;;;;;;1189:15;1234:4;1240:5;1217:29;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1217:29:0;;;1207:40;;;;;;1189:58;;1297:3;;;;;;;;;;;:15;;;1313:7;1330:8;1297:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1297:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1297:43:0;;;;1401:8;:16;;;1418:7;1427:14;1401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1401:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1401:41:0;;;;1518:3;;;;;;;;;;;:12;;;1531:7;1540:14;1518:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1518:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1518:37:0;;;;964:598;;;;;:::o;1504:725:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\";\nimport \"./EthRegistrarSubdomainRegistrar.sol\";\n\n/**\n * @dev Implements an ENS registrar that sells subdomains on behalf of their owners.\n *\n * Users may register a subdomain by calling `register` with the name of the domain\n * they wish to register under, and the label hash of the subdomain they want to\n * register. They must also specify the new owner of the domain, and the referrer,\n * who is paid an optional finder's fee. The registrar then configures a simple\n * default resolver, which resolves `addr` lookups to the new owner, and sets\n * the `owner` account as the owner of the subdomain in ENS.\n *\n * New domains may be added by calling `configureDomain`, then transferring\n * ownership in the ENS registry to this contract. Ownership in the contract\n * may be transferred using `transfer`, and a domain may be unlisted for sale\n * using `unlistDomain`. There is (deliberately) no way to recover ownership\n * in ENS once the name is transferred to this registrar.\n *\n * Critically, this contract does not check one key property of a listed domain:\n *\n * - Is the name UTS46 normalised?\n *\n * User applications MUST check these two elements for each domain before\n * offering them to users for registration.\n *\n * Applications should additionally check that the domains they are offering to\n * register are controlled by this registrar, since calls to `register` will\n * fail if this is not the case.\n */\ncontract ENSMigrationSubdomainRegistrar is EthRegistrarSubdomainRegistrar {\n\n constructor(ENS ens) EthRegistrarSubdomainRegistrar(ens) public { }\n\n function migrateSubdomain(bytes32 node, bytes32 label) external {\n bytes32 subnode = keccak256(abi.encodePacked(node, label));\n address previous = ens.owner(subnode);\n\n // only allow a contract to run their own migration\n require(!isContract(previous) || msg.sender == previous);\n\n ens.setSubnodeRecord(node, label, previous, ens.resolver(subnode), ens.ttl(subnode));\n }\n\n function isContract(address addr) private returns (bool) {\n uint size;\n assembly { size := extcodesize(addr) }\n return size > 0;\n }\n}\n", + "sourcePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/ENSMigrationSubdomainRegistrar.sol", + "ast": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/ENSMigrationSubdomainRegistrar.sol", + "exportedSymbols": { + "ENSMigrationSubdomainRegistrar": [ + 391 + ] + }, + "id": 392, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 308, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:1" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "file": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "id": 309, + "nodeType": "ImportDirective", + "scope": 392, + "sourceUnit": 4883, + "src": "25:62:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/EthRegistrarSubdomainRegistrar.sol", + "file": "./EthRegistrarSubdomainRegistrar.sol", + "id": 310, + "nodeType": "ImportDirective", + "scope": 392, + "sourceUnit": 1015, + "src": "88:46:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 311, + "name": "EthRegistrarSubdomainRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1014, + "src": "1547:30:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + }, + "id": 312, + "nodeType": "InheritanceSpecifier", + "src": "1547:30:1" + } + ], + "contractDependencies": [ + 306, + 1014, + 1159 + ], + "contractKind": "contract", + "documentation": "@dev Implements an ENS registrar that sells subdomains on behalf of their owners.\n * Users may register a subdomain by calling `register` with the name of the domain\nthey wish to register under, and the label hash of the subdomain they want to\nregister. They must also specify the new owner of the domain, and the referrer,\nwho is paid an optional finder's fee. The registrar then configures a simple\ndefault resolver, which resolves `addr` lookups to the new owner, and sets\nthe `owner` account as the owner of the subdomain in ENS.\n * New domains may be added by calling `configureDomain`, then transferring\nownership in the ENS registry to this contract. Ownership in the contract\nmay be transferred using `transfer`, and a domain may be unlisted for sale\nusing `unlistDomain`. There is (deliberately) no way to recover ownership\nin ENS once the name is transferred to this registrar.\n * Critically, this contract does not check one key property of a listed domain:\n * - Is the name UTS46 normalised?\n * User applications MUST check these two elements for each domain before\noffering them to users for registration.\n * Applications should additionally check that the domains they are offering to\nregister are controlled by this registrar, since calls to `register` will\nfail if this is not the case.", + "fullyImplemented": true, + "id": 391, + "linearizedBaseContracts": [ + 391, + 1014, + 306, + 1159 + ], + "name": "ENSMigrationSubdomainRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 320, + "nodeType": "Block", + "src": "1649:3:1", + "statements": [] + }, + "documentation": null, + "id": 321, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 317, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "1637:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + } + ], + "id": 318, + "modifierName": { + "argumentTypes": null, + "id": 316, + "name": "EthRegistrarSubdomainRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1014, + "src": "1606:30:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_EthRegistrarSubdomainRegistrar_$1014_$", + "typeString": "type(contract EthRegistrarSubdomainRegistrar)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1606:35:1" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 314, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 321, + "src": "1597:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 313, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1597:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1596:9:1" + }, + "returnParameters": { + "id": 319, + "nodeType": "ParameterList", + "parameters": [], + "src": "1649:0:1" + }, + "scope": 391, + "src": "1585:67:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 373, + "nodeType": "Block", + "src": "1722:344:1", + "statements": [ + { + "assignments": [ + 329 + ], + "declarations": [ + { + "constant": false, + "id": 329, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 373, + "src": "1732:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 328, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1732:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 337, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 333, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 323, + "src": "1777:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 334, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 325, + "src": "1783:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 331, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "1760:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1760:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1760:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 330, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1750:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1750:40:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1732:58:1" + }, + { + "assignments": [ + 339 + ], + "declarations": [ + { + "constant": false, + "id": 339, + "name": "previous", + "nodeType": "VariableDeclaration", + "scope": 373, + "src": "1800:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 338, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1800:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 344, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 342, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "1829:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 340, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1819:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1819:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1819:18:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1800:37:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1916:21:1", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 347, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "1928:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 346, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 390, + "src": "1917:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1917:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 350, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "1941:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1941:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 352, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "1955:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1941:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1916:47:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 345, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1908:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1908:56:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 356, + "nodeType": "ExpressionStatement", + "src": "1908:56:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 360, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 323, + "src": "1996:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 361, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 325, + "src": "2002:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 362, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "2009:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 365, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "2032:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 363, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "2019:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2592, + "src": "2019:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2019:21:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 369, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "2050:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 367, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "2042:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "2042:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint64_$", + "typeString": "function (bytes32) view external returns (uint64)" + } + }, + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2042:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "expression": { + "argumentTypes": null, + "id": 357, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1975:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeRecord", + "nodeType": "MemberAccess", + "referencedDeclaration": 2539, + "src": "1975:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_address_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,bytes32,address,address,uint64) external" + } + }, + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1975:84:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 372, + "nodeType": "ExpressionStatement", + "src": "1975:84:1" + } + ] + }, + "documentation": null, + "id": 374, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "migrateSubdomain", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 323, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 374, + "src": "1684:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 322, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1684:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 325, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 374, + "src": "1698:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 324, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1698:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1683:29:1" + }, + "returnParameters": { + "id": 327, + "nodeType": "ParameterList", + "parameters": [], + "src": "1722:0:1" + }, + "scope": 391, + "src": "1658:408:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 389, + "nodeType": "Block", + "src": "2129:98:1", + "statements": [ + { + "assignments": [ + 382 + ], + "declarations": [ + { + "constant": false, + "id": 382, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 389, + "src": "2139:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 381, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2139:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 383, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2139:9:1" + }, + { + "externalReferences": [ + { + "size": { + "declaration": 382, + "isOffset": false, + "isSlot": false, + "src": "2169:4:1", + "valueSize": 1 + } + }, + { + "addr": { + "declaration": 376, + "isOffset": false, + "isSlot": false, + "src": "2189:4:1", + "valueSize": 1 + } + } + ], + "id": 384, + "nodeType": "InlineAssembly", + "operations": "{ size := extcodesize(addr) }", + "src": "2158:38:1" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 385, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 382, + "src": "2212:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2219:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2212:8:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 380, + "id": 388, + "nodeType": "Return", + "src": "2205:15:1" + } + ] + }, + "documentation": null, + "id": 390, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 376, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "2092:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 375, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2092:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2091:14:1" + }, + "returnParameters": { + "id": 380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 379, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "2123:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 378, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2123:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2122:6:1" + }, + "scope": 391, + "src": "2072:155:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 392, + "src": "1504:725:1" + } + ], + "src": "0:2230:1" + }, + "legacyAST": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/ENSMigrationSubdomainRegistrar.sol", + "exportedSymbols": { + "ENSMigrationSubdomainRegistrar": [ + 391 + ] + }, + "id": 392, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 308, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:1" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "file": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "id": 309, + "nodeType": "ImportDirective", + "scope": 392, + "sourceUnit": 4883, + "src": "25:62:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/EthRegistrarSubdomainRegistrar.sol", + "file": "./EthRegistrarSubdomainRegistrar.sol", + "id": 310, + "nodeType": "ImportDirective", + "scope": 392, + "sourceUnit": 1015, + "src": "88:46:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 311, + "name": "EthRegistrarSubdomainRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1014, + "src": "1547:30:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + }, + "id": 312, + "nodeType": "InheritanceSpecifier", + "src": "1547:30:1" + } + ], + "contractDependencies": [ + 306, + 1014, + 1159 + ], + "contractKind": "contract", + "documentation": "@dev Implements an ENS registrar that sells subdomains on behalf of their owners.\n * Users may register a subdomain by calling `register` with the name of the domain\nthey wish to register under, and the label hash of the subdomain they want to\nregister. They must also specify the new owner of the domain, and the referrer,\nwho is paid an optional finder's fee. The registrar then configures a simple\ndefault resolver, which resolves `addr` lookups to the new owner, and sets\nthe `owner` account as the owner of the subdomain in ENS.\n * New domains may be added by calling `configureDomain`, then transferring\nownership in the ENS registry to this contract. Ownership in the contract\nmay be transferred using `transfer`, and a domain may be unlisted for sale\nusing `unlistDomain`. There is (deliberately) no way to recover ownership\nin ENS once the name is transferred to this registrar.\n * Critically, this contract does not check one key property of a listed domain:\n * - Is the name UTS46 normalised?\n * User applications MUST check these two elements for each domain before\noffering them to users for registration.\n * Applications should additionally check that the domains they are offering to\nregister are controlled by this registrar, since calls to `register` will\nfail if this is not the case.", + "fullyImplemented": true, + "id": 391, + "linearizedBaseContracts": [ + 391, + 1014, + 306, + 1159 + ], + "name": "ENSMigrationSubdomainRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 320, + "nodeType": "Block", + "src": "1649:3:1", + "statements": [] + }, + "documentation": null, + "id": 321, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 317, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "1637:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + } + ], + "id": 318, + "modifierName": { + "argumentTypes": null, + "id": 316, + "name": "EthRegistrarSubdomainRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1014, + "src": "1606:30:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_EthRegistrarSubdomainRegistrar_$1014_$", + "typeString": "type(contract EthRegistrarSubdomainRegistrar)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1606:35:1" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 314, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 321, + "src": "1597:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 313, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1597:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1596:9:1" + }, + "returnParameters": { + "id": 319, + "nodeType": "ParameterList", + "parameters": [], + "src": "1649:0:1" + }, + "scope": 391, + "src": "1585:67:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 373, + "nodeType": "Block", + "src": "1722:344:1", + "statements": [ + { + "assignments": [ + 329 + ], + "declarations": [ + { + "constant": false, + "id": 329, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 373, + "src": "1732:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 328, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1732:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 337, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 333, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 323, + "src": "1777:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 334, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 325, + "src": "1783:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 331, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "1760:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1760:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1760:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 330, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1750:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1750:40:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1732:58:1" + }, + { + "assignments": [ + 339 + ], + "declarations": [ + { + "constant": false, + "id": 339, + "name": "previous", + "nodeType": "VariableDeclaration", + "scope": 373, + "src": "1800:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 338, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1800:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 344, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 342, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "1829:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 340, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1819:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1819:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1819:18:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1800:37:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1916:21:1", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 347, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "1928:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 346, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 390, + "src": "1917:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1917:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 350, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "1941:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1941:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 352, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "1955:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1941:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1916:47:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 345, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1908:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1908:56:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 356, + "nodeType": "ExpressionStatement", + "src": "1908:56:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 360, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 323, + "src": "1996:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 361, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 325, + "src": "2002:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 362, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "2009:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 365, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "2032:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 363, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "2019:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2592, + "src": "2019:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2019:21:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 369, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "2050:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 367, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "2042:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "2042:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint64_$", + "typeString": "function (bytes32) view external returns (uint64)" + } + }, + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2042:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "expression": { + "argumentTypes": null, + "id": 357, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1975:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeRecord", + "nodeType": "MemberAccess", + "referencedDeclaration": 2539, + "src": "1975:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_address_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,bytes32,address,address,uint64) external" + } + }, + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1975:84:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 372, + "nodeType": "ExpressionStatement", + "src": "1975:84:1" + } + ] + }, + "documentation": null, + "id": 374, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "migrateSubdomain", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 323, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 374, + "src": "1684:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 322, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1684:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 325, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 374, + "src": "1698:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 324, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1698:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1683:29:1" + }, + "returnParameters": { + "id": 327, + "nodeType": "ParameterList", + "parameters": [], + "src": "1722:0:1" + }, + "scope": 391, + "src": "1658:408:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 389, + "nodeType": "Block", + "src": "2129:98:1", + "statements": [ + { + "assignments": [ + 382 + ], + "declarations": [ + { + "constant": false, + "id": 382, + "name": "size", + "nodeType": "VariableDeclaration", + "scope": 389, + "src": "2139:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 381, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2139:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 383, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2139:9:1" + }, + { + "externalReferences": [ + { + "size": { + "declaration": 382, + "isOffset": false, + "isSlot": false, + "src": "2169:4:1", + "valueSize": 1 + } + }, + { + "addr": { + "declaration": 376, + "isOffset": false, + "isSlot": false, + "src": "2189:4:1", + "valueSize": 1 + } + } + ], + "id": 384, + "nodeType": "InlineAssembly", + "operations": "{ size := extcodesize(addr) }", + "src": "2158:38:1" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 385, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 382, + "src": "2212:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2219:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2212:8:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 380, + "id": 388, + "nodeType": "Return", + "src": "2205:15:1" + } + ] + }, + "documentation": null, + "id": 390, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 376, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "2092:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 375, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2092:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2091:14:1" + }, + "returnParameters": { + "id": 380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 379, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "2123:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 378, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2123:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2122:6:1" + }, + "scope": 391, + "src": "2072:155:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 392, + "src": "1504:725:1" + } + ], + "src": "0:2230:1" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.735Z", + "devdoc": { + "details": "Implements an ENS registrar that sells subdomains on behalf of their owners. * Users may register a subdomain by calling `register` with the name of the domain they wish to register under, and the label hash of the subdomain they want to register. They must also specify the new owner of the domain, and the referrer, who is paid an optional finder's fee. The registrar then configures a simple default resolver, which resolves `addr` lookups to the new owner, and sets the `owner` account as the owner of the subdomain in ENS. * New domains may be added by calling `configureDomain`, then transferring ownership in the ENS registry to this contract. Ownership in the contract may be transferred using `transfer`, and a domain may be unlisted for sale using `unlistDomain`. There is (deliberately) no way to recover ownership in ENS once the name is transferred to this registrar. * Critically, this contract does not check one key property of a listed domain: * - Is the name UTS46 normalised? * User applications MUST check these two elements for each domain before offering them to users for registration. * Applications should additionally check that the domains they are offering to register are controlled by this registrar, since calls to `register` will fail if this is not the case.", + "methods": { + "configureDomain(string,uint256,uint256)": { + "details": "Configures a domain for sale.", + "params": { + "name": "The name to configure.", + "price": "The price in wei to charge for subdomain registrations", + "referralFeePPM": "The referral fee to offer, in parts per million" + } + }, + "configureDomainFor(string,uint256,uint256,address,address)": { + "details": "Configures a domain, optionally transferring it to a new owner.", + "params": { + "_owner": "The address to assign ownership of this domain to.", + "_transfer": "The address to set as the transfer address for the name when the permanent registrar is replaced. Can only be set to a non-zero value once.", + "name": "The name to configure.", + "price": "The price in wei to charge for subdomain registrations.", + "referralFeePPM": "The referral fee to offer, in parts per million." + } + }, + "migrate(string)": { + "details": "Migrates the domain to a new registrar.", + "params": { + "name": "The name of the domain to migrate." + } + }, + "owner(bytes32)": { + "details": "owner returns the address of the account that controls a domain. Initially this is a null address. If the name has been transferred to this contract, then the internal mapping is consulted to determine who controls it. If the owner is not set, the owner of the domain in the Registrar is returned.", + "params": { + "label": "The label hash of the deed to check." + }, + "return": "The address owning the deed." + }, + "query(bytes32,string)": { + "details": "Returns information about a subdomain.", + "params": { + "label": "The label hash for the domain.", + "subdomain": "The label for the subdomain." + }, + "return": "domain The name of the domain, or an empty string if the subdomain is unavailable.price The price to register a subdomain, in wei.rent The rent to retain a subdomain, in wei per second.referralFeePPM The referral fee for the dapp, in ppm." + }, + "register(bytes32,string,address,address,address)": { + "details": "Registers a subdomain.", + "params": { + "_subdomainOwner": "The account that should own the newly configured subdomain.", + "label": "The label hash of the domain to register a subdomain of.", + "referrer": "The address of the account to receive the referral fee.", + "subdomain": "The desired subdomain label." + } + }, + "setMigrationAddress(address)": { + "details": "Sets the address where domains are migrated to.", + "params": { + "_migration": "Address of the new registrar." + } + }, + "setResolver(string,address)": { + "details": "Sets the resolver record for a name in ENS.", + "params": { + "name": "The name to set the resolver for.", + "resolver": "The address of the resolver" + } + }, + "stop()": { + "details": "Stops the registrar, disabling configuring of new domains." + }, + "transfer(string,address)": { + "details": "Transfers internal control of a name to a new account. Does not update ENS.", + "params": { + "name": "The name to transfer.", + "newOwner": "The address of the new owner." + } + }, + "unlistDomain(string)": { + "details": "Unlists a domain May only be called by the owner.", + "params": { + "name": "The name of the domain to unlist." + } + } + } + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/ENSMigrationSubdomainRegistrar.sol b/contracts/ENSMigrationSubdomainRegistrar.sol deleted file mode 100644 index f5e17cb..0000000 --- a/contracts/ENSMigrationSubdomainRegistrar.sol +++ /dev/null @@ -1,52 +0,0 @@ -pragma solidity ^0.5.0; - -import "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol"; -import "./EthRegistrarSubdomainRegistrar.sol"; - -/** - * @dev Implements an ENS registrar that sells subdomains on behalf of their owners. - * - * Users may register a subdomain by calling `register` with the name of the domain - * they wish to register under, and the label hash of the subdomain they want to - * register. They must also specify the new owner of the domain, and the referrer, - * who is paid an optional finder's fee. The registrar then configures a simple - * default resolver, which resolves `addr` lookups to the new owner, and sets - * the `owner` account as the owner of the subdomain in ENS. - * - * New domains may be added by calling `configureDomain`, then transferring - * ownership in the ENS registry to this contract. Ownership in the contract - * may be transferred using `transfer`, and a domain may be unlisted for sale - * using `unlistDomain`. There is (deliberately) no way to recover ownership - * in ENS once the name is transferred to this registrar. - * - * Critically, this contract does not check one key property of a listed domain: - * - * - Is the name UTS46 normalised? - * - * User applications MUST check these two elements for each domain before - * offering them to users for registration. - * - * Applications should additionally check that the domains they are offering to - * register are controlled by this registrar, since calls to `register` will - * fail if this is not the case. - */ -contract ENSMigrationSubdomainRegistrar is EthRegistrarSubdomainRegistrar { - - constructor(ENS ens) EthRegistrarSubdomainRegistrar(ens) public { } - - function migrateSubdomain(bytes32 node, bytes32 label) external { - bytes32 subnode = keccak256(abi.encodePacked(node, label)); - address previous = ens.owner(subnode); - - // only allow a contract to run their own migration - require(!isContract(previous) || msg.sender == previous); - - ens.setSubnodeRecord(node, label, previous, ens.resolver(subnode), ens.ttl(subnode)); - } - - function isContract(address addr) private returns (bool) { - uint size; - assembly { size := extcodesize(addr) } - return size > 0; - } -} diff --git a/contracts/ENSRegistry.json b/contracts/ENSRegistry.json new file mode 100644 index 0000000..9096567 --- /dev/null +++ b/contracts/ENSRegistry.json @@ -0,0 +1,10442 @@ +{ + "contractName": "ENSRegistry", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NewOwner", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "NewResolver", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "NewTTL", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setRecord", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setSubnodeRecord", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "setSubnodeOwner", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setTTL", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "resolver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "ttl", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "recordExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"NewResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"NewTTL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"recordExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setRecord\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setSubnodeRecord\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"ttl\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"constructor\":{\"details\":\"Constructs a new ENS registrar.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Query if an address is an authorized operator for another address.\",\"params\":{\"operator\":\"The address that acts on behalf of the owner.\",\"owner\":\"The address that owns the records.\"},\"return\":\"True if `operator` is an approved operator for `owner`, false otherwise.\"},\"owner(bytes32)\":{\"details\":\"Returns the address that owns the specified node.\",\"params\":{\"node\":\"The specified node.\"},\"return\":\"address of the owner.\"},\"recordExists(bytes32)\":{\"details\":\"Returns whether a record has been imported to the registry.\",\"params\":{\"node\":\"The specified node.\"},\"return\":\"Bool if record exists\"},\"resolver(bytes32)\":{\"details\":\"Returns the address of the resolver for the specified node.\",\"params\":{\"node\":\"The specified node.\"},\"return\":\"address of the resolver.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of `msg.sender`'s ENS records. Emits the ApprovalForAll event.\",\"params\":{\"approved\":\"True if the operator is approved, false to revoke approval.\",\"operator\":\"Address to add to the set of authorized operators.\"}},\"setOwner(bytes32,address)\":{\"details\":\"Transfers ownership of a node to a new address. May only be called by the current owner of the node.\",\"params\":{\"node\":\"The node to transfer ownership of.\",\"owner\":\"The address of the new owner.\"}},\"setRecord(bytes32,address,address,uint64)\":{\"details\":\"Sets the record for a node.\",\"params\":{\"node\":\"The node to update.\",\"owner\":\"The address of the new owner.\",\"resolver\":\"The address of the resolver.\",\"ttl\":\"The TTL in seconds.\"}},\"setResolver(bytes32,address)\":{\"details\":\"Sets the resolver address for the specified node.\",\"params\":{\"node\":\"The node to update.\",\"resolver\":\"The address of the resolver.\"}},\"setSubnodeOwner(bytes32,bytes32,address)\":{\"details\":\"Transfers ownership of a subnode keccak256(node, label) to a new address. May only be called by the owner of the parent node.\",\"params\":{\"label\":\"The hash of the label specifying the subnode.\",\"node\":\"The parent node.\",\"owner\":\"The address of the new owner.\"}},\"setSubnodeRecord(bytes32,bytes32,address,address,uint64)\":{\"details\":\"Sets the record for a subnode.\",\"params\":{\"label\":\"The hash of the label specifying the subnode.\",\"node\":\"The parent node.\",\"owner\":\"The address of the new owner.\",\"resolver\":\"The address of the resolver.\",\"ttl\":\"The TTL in seconds.\"}},\"setTTL(bytes32,uint64)\":{\"details\":\"Sets the TTL for the specified node.\",\"params\":{\"node\":\"The node to update.\",\"ttl\":\"The TTL in seconds.\"}},\"ttl(bytes32)\":{\"details\":\"Returns the TTL of a node, and any records associated with it.\",\"params\":{\"node\":\"The specified node.\"},\"return\":\"ttl of the node.\"}}},\"userdoc\":{\"methods\":{},\"notice\":\"The ENS registry contract.\"}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens/contracts/ENSRegistry.sol\":\"ENSRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ens/contracts/ENSRegistry.sol\":{\"keccak256\":\"0xa40b635d209272928968c804b0a8ee390d599e84100b491c9ad38e86b841fed8\",\"urls\":[\"bzz-raw://8bb61b4f5773f6ddd5e4abde74f08127b86a6bc07466cbfba119760bcfb9aa59\",\"dweb:/ipfs/QmRckNAmD2gqVSocvBbLPNDhMrFgHdRaErR7MnY7TLr7Yx\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50336000808060001b815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061118b806100776000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80635b0fc9c3116100715780635b0fc9c3146102e75780635ef2c7f014610335578063a22cb465146103c1578063cf40882314610411578063e985e9c514610493578063f79fe5381461050f576100b4565b80630178b8bf146100b957806302571be31461012757806306ab59231461019557806314ab90381461020157806316a25cbd146102435780631896f70a14610299575b600080fd5b6100e5600480360360208110156100cf57600080fd5b8101908080359060200190929190505050610555565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101536004803603602081101561013d57600080fd5b8101908080359060200190929190505050610594565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101eb600480360360608110156101ab57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610617565b6040518082815260200191505060405180910390f35b6102416004803603604081101561021757600080fd5b8101908080359060200190929190803567ffffffffffffffff1690602001909291905050506107cc565b005b61026f6004803603602081101561025957600080fd5b810190808035906020019092919050505061095e565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b6102e5600480360360408110156102af57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610991565b005b610333600480360360408110156102fd57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b53565b005b6103bf600480360360a081101561034b57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610ccb565b005b61040f600480360360408110156103d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610ced565b005b6104916004803603608081101561042757600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610dee565b005b6104f5600480360360408110156104a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e09565b604051808215151515815260200191505060405180910390f35b61053b6004803603602081101561052557600080fd5b8101908080359060200190929190505050610e9d565b604051808215151515815260200191505060405180910390f35b600080600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561060d576000915050610612565b809150505b919050565b600083600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806107145750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61071d57600080fd5b60008686604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120905061075a8186610f0b565b85877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38093505050509392505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806108c75750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6108d057600080fd5b837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505050565b600080600083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610a8c5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610a9557600080fd5b837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610c4e5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610c5757600080fd5b610c618484610f0b565b837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b6000610cd8868686610617565b9050610ce5818484610f63565b505050505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b610df88484610b53565b610e03848383610f63565b50505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b8060008084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611084578160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611151578060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a25b50505056fea265627a7a72315820e20ab4eb26d7fc810713ca45c11647f752a2cb6f3e5405c24d12c70e440ca6bf64736f6c63430005100032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80635b0fc9c3116100715780635b0fc9c3146102e75780635ef2c7f014610335578063a22cb465146103c1578063cf40882314610411578063e985e9c514610493578063f79fe5381461050f576100b4565b80630178b8bf146100b957806302571be31461012757806306ab59231461019557806314ab90381461020157806316a25cbd146102435780631896f70a14610299575b600080fd5b6100e5600480360360208110156100cf57600080fd5b8101908080359060200190929190505050610555565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101536004803603602081101561013d57600080fd5b8101908080359060200190929190505050610594565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101eb600480360360608110156101ab57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610617565b6040518082815260200191505060405180910390f35b6102416004803603604081101561021757600080fd5b8101908080359060200190929190803567ffffffffffffffff1690602001909291905050506107cc565b005b61026f6004803603602081101561025957600080fd5b810190808035906020019092919050505061095e565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b6102e5600480360360408110156102af57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610991565b005b610333600480360360408110156102fd57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b53565b005b6103bf600480360360a081101561034b57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610ccb565b005b61040f600480360360408110156103d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610ced565b005b6104916004803603608081101561042757600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610dee565b005b6104f5600480360360408110156104a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e09565b604051808215151515815260200191505060405180910390f35b61053b6004803603602081101561052557600080fd5b8101908080359060200190929190505050610e9d565b604051808215151515815260200191505060405180910390f35b600080600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561060d576000915050610612565b809150505b919050565b600083600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806107145750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61071d57600080fd5b60008686604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120905061075a8186610f0b565b85877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38093505050509392505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806108c75750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6108d057600080fd5b837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505050565b600080600083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610a8c5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610a9557600080fd5b837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610c4e5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610c5757600080fd5b610c618484610f0b565b837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b6000610cd8868686610617565b9050610ce5818484610f63565b505050505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b610df88484610b53565b610e03848383610f63565b50505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b8060008084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611084578160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611151578060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a25b50505056fea265627a7a72315820e20ab4eb26d7fc810713ca45c11647f752a2cb6f3e5405c24d12c70e440ca6bf64736f6c63430005100032", + "sourceMap": "84:5835:13:-;;;621:69;8:9:-1;5:2;;;30:1;27;20:12;5:2;621:69:13;673:10;652:7;:12;660:3;652:12;;;;;;;;;;;;;:18;;;:31;;;;;;;;;;;;;;;;;;84:5835;;;;;;", + "deployedSourceMap": "84:5835:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;84:5835:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4325:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4325:108:13;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3940:212;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3940:212:13;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2340:287;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2340:287:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3119:138;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3119:138:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4601:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4601:97:13;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2802:169;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2802:169:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1882:146;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1882:146:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1412:231;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1412:231:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3591:189;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3591:189:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;931:174;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;931:174:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5303:138;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5303:138:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4868:122;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4868:122:13;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4325:108;4378:7;4404;:13;4412:4;4404:13;;;;;;;;;;;:22;;;;;;;;;;;;4397:29;;4325:108;;;:::o;3940:212::-;3990:7;4009:12;4024:7;:13;4032:4;4024:13;;;;;;;;;;;:19;;;;;;;;;;;;4009:34;;4073:4;4057:21;;:4;:21;;;4053:71;;;4109:3;4094:19;;;;;4053:71;4141:4;4134:11;;;3940:212;;;;:::o;2340:287::-;2441:7;2427:4;432:13;448:7;:13;456:4;448:13;;;;;;;;;;;:19;;;;;;;;;;;;432:35;;494:10;485:19;;:5;:19;;;:51;;;;508:9;:16;518:5;508:16;;;;;;;;;;;;;;;:28;525:10;508:28;;;;;;;;;;;;;;;;;;;;;;;;;485:51;477:60;;;;;;2460:15;2505:4;2511:5;2488:29;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2488:29:13;;;2478:40;;;;;;2460:58;;2528:25;2538:7;2547:5;2528:9;:25::i;:::-;2583:5;2577:4;2568:28;2590:5;2568:28;;;;;;;;;;;;;;;;;;;;;;2613:7;2606:14;;;2340:287;;;;;;;:::o;3119:138::-;3179:4;432:13;448:7;:13;456:4;448:13;;;;;;;;;;;:19;;;;;;;;;;;;432:35;;494:10;485:19;;:5;:19;;;:51;;;;508:9;:16;518:5;508:16;;;;;;;;;;;;;;;:28;525:10;508:28;;;;;;;;;;;;;;;;;;;;;;;;;485:51;477:60;;;;;;3207:4;3200:17;3213:3;3200:17;;;;;;;;;;;;;;;;;;;;;;3247:3;3227:7;:13;3235:4;3227:13;;;;;;;;;;;:17;;;:23;;;;;;;;;;;;;;;;;;3119:138;;;;:::o;4601:97::-;4649:6;4674:7;:13;4682:4;4674:13;;;;;;;;;;;:17;;;;;;;;;;;;4667:24;;4601:97;;;:::o;2802:169::-;2873:4;432:13;448:7;:13;456:4;448:13;;;;;;;;;;;:19;;;;;;;;;;;;432:35;;494:10;485:19;;:5;:19;;;:51;;;;508:9;:16;518:5;508:16;;;;;;;;;;;;;;;:28;525:10;508:28;;;;;;;;;;;;;;;;;;;;;;;;;485:51;477:60;;;;;;2906:4;2894:27;2912:8;2894:27;;;;;;;;;;;;;;;;;;;;;;2956:8;2931:7;:13;2939:4;2931:13;;;;;;;;;;;:22;;;:33;;;;;;;;;;;;;;;;;;2802:169;;;;:::o;1882:146::-;1947:4;432:13;448:7;:13;456:4;448:13;;;;;;;;;;;:19;;;;;;;;;;;;432:35;;494:10;485:19;;:5;:19;;;:51;;;;508:9;:16;518:5;508:16;;;;;;;;;;;;;;;:28;525:10;508:28;;;;;;;;;;;;;;;;;;;;;;;;;485:51;477:60;;;;;;1963:22;1973:4;1979:5;1963:9;:22::i;:::-;2009:4;2000:21;2015:5;2000:21;;;;;;;;;;;;;;;;;;;;;;1882:146;;;;:::o;1412:231::-;1531:15;1549:35;1565:4;1571:5;1578;1549:15;:35::i;:::-;1531:53;;1594:42;1613:7;1622:8;1632:3;1594:18;:42::i;:::-;1412:231;;;;;;:::o;3591:189::-;3704:8;3670:9;:21;3680:10;3670:21;;;;;;;;;;;;;;;:31;3692:8;3670:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;3754:8;3727:46;;3742:10;3727:46;;;3764:8;3727:46;;;;;;;;;;;;;;;;;;;;;;3591:189;;:::o;931:174::-;1028:21;1037:4;1043:5;1028:8;:21::i;:::-;1059:39;1078:4;1084:8;1094:3;1059:18;:39::i;:::-;931:174;;;;:::o;5303:138::-;5385:4;5408:9;:16;5418:5;5408:16;;;;;;;;;;;;;;;:26;5425:8;5408:26;;;;;;;;;;;;;;;;;;;;;;;;;5401:33;;5303:138;;;;:::o;4868:122::-;4925:4;4979:3;4948:35;;:7;:13;4956:4;4948:13;;;;;;;;;;;:19;;;;;;;;;;;;:35;;;;4941:42;;4868:122;;;:::o;5447:101::-;5536:5;5514:7;:13;5522:4;5514:13;;;;;;;;;;;:19;;;:27;;;;;;;;;;;;;;;;;;5447:101;;:::o;5554:363::-;5660:7;:13;5668:4;5660:13;;;;;;;;;;;:22;;;;;;;;;;;;5648:34;;:8;:34;;;5645:143;;5723:8;5698:7;:13;5706:4;5698:13;;;;;;;;;;;:22;;;:33;;;;;;;;;;;;;;;;;;5762:4;5750:27;5768:8;5750:27;;;;;;;;;;;;;;;;;;;;;;5645:143;5808:7;:13;5816:4;5808:13;;;;;;;;;;;:17;;;;;;;;;;;;5801:24;;:3;:24;;;5798:113;;5861:3;5841:7;:13;5849:4;5841:13;;;;;;;;;;;:17;;;:23;;;;;;;;;;;;;;;;;;5890:4;5883:17;5896:3;5883:17;;;;;;;;;;;;;;;;;;;;;;5798:113;5554:363;;;:::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"./ENS.sol\";\n\n/**\n * The ENS registry contract.\n */\ncontract ENSRegistry is ENS {\n\n struct Record {\n address owner;\n address resolver;\n uint64 ttl;\n }\n\n mapping (bytes32 => Record) records;\n mapping (address => mapping(address => bool)) operators;\n\n // Permits modifications only by the owner of the specified node.\n modifier authorised(bytes32 node) {\n address owner = records[node].owner;\n require(owner == msg.sender || operators[owner][msg.sender]);\n _;\n }\n\n /**\n * @dev Constructs a new ENS registrar.\n */\n constructor() public {\n records[0x0].owner = msg.sender;\n }\n\n /**\n * @dev Sets the record for a node.\n * @param node The node to update.\n * @param owner The address of the new owner.\n * @param resolver The address of the resolver.\n * @param ttl The TTL in seconds.\n */\n function setRecord(bytes32 node, address owner, address resolver, uint64 ttl) external {\n setOwner(node, owner);\n _setResolverAndTTL(node, resolver, ttl);\n }\n\n /**\n * @dev Sets the record for a subnode.\n * @param node The parent node.\n * @param label The hash of the label specifying the subnode.\n * @param owner The address of the new owner.\n * @param resolver The address of the resolver.\n * @param ttl The TTL in seconds.\n */\n function setSubnodeRecord(bytes32 node, bytes32 label, address owner, address resolver, uint64 ttl) external {\n bytes32 subnode = setSubnodeOwner(node, label, owner);\n _setResolverAndTTL(subnode, resolver, ttl);\n }\n\n /**\n * @dev Transfers ownership of a node to a new address. May only be called by the current owner of the node.\n * @param node The node to transfer ownership of.\n * @param owner The address of the new owner.\n */\n function setOwner(bytes32 node, address owner) public authorised(node) {\n _setOwner(node, owner);\n emit Transfer(node, owner);\n }\n\n /**\n * @dev Transfers ownership of a subnode keccak256(node, label) to a new address. May only be called by the owner of the parent node.\n * @param node The parent node.\n * @param label The hash of the label specifying the subnode.\n * @param owner The address of the new owner.\n */\n function setSubnodeOwner(bytes32 node, bytes32 label, address owner) public authorised(node) returns(bytes32) {\n bytes32 subnode = keccak256(abi.encodePacked(node, label));\n _setOwner(subnode, owner);\n emit NewOwner(node, label, owner);\n return subnode;\n }\n\n /**\n * @dev Sets the resolver address for the specified node.\n * @param node The node to update.\n * @param resolver The address of the resolver.\n */\n function setResolver(bytes32 node, address resolver) public authorised(node) {\n emit NewResolver(node, resolver);\n records[node].resolver = resolver;\n }\n\n /**\n * @dev Sets the TTL for the specified node.\n * @param node The node to update.\n * @param ttl The TTL in seconds.\n */\n function setTTL(bytes32 node, uint64 ttl) public authorised(node) {\n emit NewTTL(node, ttl);\n records[node].ttl = ttl;\n }\n\n /**\n * @dev Enable or disable approval for a third party (\"operator\") to manage\n * all of `msg.sender`'s ENS records. Emits the ApprovalForAll event.\n * @param operator Address to add to the set of authorized operators.\n * @param approved True if the operator is approved, false to revoke approval.\n */\n function setApprovalForAll(address operator, bool approved) external {\n operators[msg.sender][operator] = approved;\n emit ApprovalForAll(msg.sender, operator, approved);\n }\n\n /**\n * @dev Returns the address that owns the specified node.\n * @param node The specified node.\n * @return address of the owner.\n */\n function owner(bytes32 node) public view returns (address) {\n address addr = records[node].owner;\n if (addr == address(this)) {\n return address(0x0);\n }\n\n return addr;\n }\n\n /**\n * @dev Returns the address of the resolver for the specified node.\n * @param node The specified node.\n * @return address of the resolver.\n */\n function resolver(bytes32 node) public view returns (address) {\n return records[node].resolver;\n }\n\n /**\n * @dev Returns the TTL of a node, and any records associated with it.\n * @param node The specified node.\n * @return ttl of the node.\n */\n function ttl(bytes32 node) public view returns (uint64) {\n return records[node].ttl;\n }\n\n /**\n * @dev Returns whether a record has been imported to the registry.\n * @param node The specified node.\n * @return Bool if record exists\n */\n function recordExists(bytes32 node) public view returns (bool) {\n return records[node].owner != address(0x0);\n }\n\n /**\n * @dev Query if an address is an authorized operator for another address.\n * @param owner The address that owns the records.\n * @param operator The address that acts on behalf of the owner.\n * @return True if `operator` is an approved operator for `owner`, false otherwise.\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool) {\n return operators[owner][operator];\n }\n\n function _setOwner(bytes32 node, address owner) internal {\n records[node].owner = owner;\n }\n\n function _setResolverAndTTL(bytes32 node, address resolver, uint64 ttl) internal {\n if(resolver != records[node].resolver) {\n records[node].resolver = resolver;\n emit NewResolver(node, resolver);\n }\n\n if(ttl != records[node].ttl) {\n records[node].ttl = ttl;\n emit NewTTL(node, ttl);\n }\n }\n}\n", + "sourcePath": "@ensdomains/ens/contracts/ENSRegistry.sol", + "ast": { + "absolutePath": "@ensdomains/ens/contracts/ENSRegistry.sol", + "exportedSymbols": { + "ENSRegistry": [ + 3010 + ] + }, + "id": 3011, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2618, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:13" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "./ENS.sol", + "id": 2619, + "nodeType": "ImportDirective", + "scope": 3011, + "sourceUnit": 2617, + "src": "25:19:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2620, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "108:3:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 2621, + "nodeType": "InheritanceSpecifier", + "src": "108:3:13" + } + ], + "contractDependencies": [ + 2616 + ], + "contractKind": "contract", + "documentation": "The ENS registry contract.", + "fullyImplemented": true, + "id": 3010, + "linearizedBaseContracts": [ + 3010, + 2616 + ], + "name": "ENSRegistry", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "ENSRegistry.Record", + "id": 2628, + "members": [ + { + "constant": false, + "id": 2623, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2628, + "src": "143:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2622, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "143:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2625, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2628, + "src": "166:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "166:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2627, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2628, + "src": "192:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2626, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "192:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Record", + "nodeType": "StructDefinition", + "scope": 3010, + "src": "119:90:13", + "visibility": "public" + }, + { + "constant": false, + "id": 2632, + "name": "records", + "nodeType": "VariableDeclaration", + "scope": 3010, + "src": "215:35:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record)" + }, + "typeName": { + "id": 2631, + "keyType": { + "id": 2629, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "224:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "215:27:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record)" + }, + "valueType": { + "contractScope": null, + "id": 2630, + "name": "Record", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2628, + "src": "235:6:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage_ptr", + "typeString": "struct ENSRegistry.Record" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2638, + "name": "operators", + "nodeType": "VariableDeclaration", + "scope": 3010, + "src": "256:55:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "typeName": { + "id": 2637, + "keyType": { + "id": 2633, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "265:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "256:45:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "valueType": { + "id": 2636, + "keyType": { + "id": 2634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "284:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "276:24:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 2635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "295:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 2664, + "nodeType": "Block", + "src": "422:133:13", + "statements": [ + { + "assignments": [ + 2643 + ], + "declarations": [ + { + "constant": false, + "id": 2643, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2664, + "src": "432:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2642, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "432:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2648, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2644, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "448:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2646, + "indexExpression": { + "argumentTypes": null, + "id": 2645, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2640, + "src": "456:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "448:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2647, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "448:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "432:35:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2650, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2643, + "src": "485:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2651, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "494:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "494:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "485:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2654, + "name": "operators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2638, + "src": "508:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 2656, + "indexExpression": { + "argumentTypes": null, + "id": 2655, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2643, + "src": "518:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "508:16:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2659, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2657, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "525:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "525:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "508:28:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "485:51:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2649, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "477:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "477:60:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2662, + "nodeType": "ExpressionStatement", + "src": "477:60:13" + }, + { + "id": 2663, + "nodeType": "PlaceholderStatement", + "src": "547:1:13" + } + ] + }, + "documentation": null, + "id": 2665, + "name": "authorised", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2640, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2665, + "src": "408:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2639, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "408:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "407:14:13" + }, + "src": "388:167:13", + "visibility": "internal" + }, + { + "body": { + "id": 2676, + "nodeType": "Block", + "src": "642:48:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2668, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "652:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2670, + "indexExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 2669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "660:3:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "652:12:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2671, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "652:18:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2672, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "673:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "673:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "652:31:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2675, + "nodeType": "ExpressionStatement", + "src": "652:31:13" + } + ] + }, + "documentation": "@dev Constructs a new ENS registrar.", + "id": 2677, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2666, + "nodeType": "ParameterList", + "parameters": [], + "src": "632:2:13" + }, + "returnParameters": { + "id": 2667, + "nodeType": "ParameterList", + "parameters": [], + "src": "642:0:13" + }, + "scope": 3010, + "src": "621:69:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2699, + "nodeType": "Block", + "src": "1018:87:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2689, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2679, + "src": "1037:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2690, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2681, + "src": "1043:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2688, + "name": "setOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2749, + "src": "1028:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1028:21:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2692, + "nodeType": "ExpressionStatement", + "src": "1028:21:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2694, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2679, + "src": "1078:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2695, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2683, + "src": "1084:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2696, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2685, + "src": "1094:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 2693, + "name": "_setResolverAndTTL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3009, + "src": "1059:18:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,address,uint64)" + } + }, + "id": 2697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1059:39:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2698, + "nodeType": "ExpressionStatement", + "src": "1059:39:13" + } + ] + }, + "documentation": "@dev Sets the record for a node.\n@param node The node to update.\n@param owner The address of the new owner.\n@param resolver The address of the resolver.\n@param ttl The TTL in seconds.", + "id": 2700, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setRecord", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2679, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "950:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2678, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "950:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2681, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "964:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "964:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2683, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "979:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2682, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "979:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2685, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "997:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2684, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "997:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "949:59:13" + }, + "returnParameters": { + "id": 2687, + "nodeType": "ParameterList", + "parameters": [], + "src": "1018:0:13" + }, + "scope": 3010, + "src": "931:174:13", + "stateMutability": "nonpayable", + "superFunction": 2526, + "visibility": "external" + }, + { + "body": { + "id": 2727, + "nodeType": "Block", + "src": "1521:122:13", + "statements": [ + { + "assignments": [ + 2714 + ], + "declarations": [ + { + "constant": false, + "id": 2714, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "1531:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1531:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2720, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2716, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "1565:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2717, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2704, + "src": "1571:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2718, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "1578:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2715, + "name": "setSubnodeOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2787, + "src": "1549:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) returns (bytes32)" + } + }, + "id": 2719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1549:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1531:53:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2722, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "1613:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2723, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2708, + "src": "1622:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2724, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2710, + "src": "1632:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 2721, + "name": "_setResolverAndTTL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3009, + "src": "1594:18:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,address,uint64)" + } + }, + "id": 2725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1594:42:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2726, + "nodeType": "ExpressionStatement", + "src": "1594:42:13" + } + ] + }, + "documentation": "@dev Sets the record for a subnode.\n@param node The parent node.\n@param label The hash of the label specifying the subnode.\n@param owner The address of the new owner.\n@param resolver The address of the resolver.\n@param ttl The TTL in seconds.", + "id": 2728, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setSubnodeRecord", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2702, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "1438:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2701, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1438:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2704, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "1452:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2703, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1452:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2706, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "1467:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2705, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1467:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2708, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "1482:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2707, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1482:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2710, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "1500:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2709, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1500:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1437:74:13" + }, + "returnParameters": { + "id": 2712, + "nodeType": "ParameterList", + "parameters": [], + "src": "1521:0:13" + }, + "scope": 3010, + "src": "1412:231:13", + "stateMutability": "nonpayable", + "superFunction": 2539, + "visibility": "external" + }, + { + "body": { + "id": 2748, + "nodeType": "Block", + "src": "1953:75:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2739, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "1973:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2740, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2732, + "src": "1979:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2738, + "name": "_setOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2959, + "src": "1963:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1963:22:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2742, + "nodeType": "ExpressionStatement", + "src": "1963:22:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2744, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "2009:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2745, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2732, + "src": "2015:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2743, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2495, + "src": "2000:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2000:21:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2747, + "nodeType": "EmitStatement", + "src": "1995:26:13" + } + ] + }, + "documentation": "@dev Transfers ownership of a node to a new address. May only be called by the current owner of the node.\n@param node The node to transfer ownership of.\n@param owner The address of the new owner.", + "id": 2749, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2735, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "1947:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2736, + "modifierName": { + "argumentTypes": null, + "id": 2734, + "name": "authorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2665, + "src": "1936:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1936:16:13" + } + ], + "name": "setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2730, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2749, + "src": "1900:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2729, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1900:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2732, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2749, + "src": "1914:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2731, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1914:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1899:29:13" + }, + "returnParameters": { + "id": 2737, + "nodeType": "ParameterList", + "parameters": [], + "src": "1953:0:13" + }, + "scope": 3010, + "src": "1882:146:13", + "stateMutability": "nonpayable", + "superFunction": 2564, + "visibility": "public" + }, + { + "body": { + "id": 2786, + "nodeType": "Block", + "src": "2450:177:13", + "statements": [ + { + "assignments": [ + 2764 + ], + "declarations": [ + { + "constant": false, + "id": 2764, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 2786, + "src": "2460:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2763, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2460:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2772, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2768, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "2505:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2769, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2753, + "src": "2511:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 2766, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "2488:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2488:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2488:29:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2765, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2478:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2478:40:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2460:58:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2774, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2764, + "src": "2538:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2775, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2755, + "src": "2547:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2773, + "name": "_setOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2959, + "src": "2528:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2528:25:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2777, + "nodeType": "ExpressionStatement", + "src": "2528:25:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2779, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "2577:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2780, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2753, + "src": "2583:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2781, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2755, + "src": "2590:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2778, + "name": "NewOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "2568:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,bytes32,address)" + } + }, + "id": 2782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2568:28:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2783, + "nodeType": "EmitStatement", + "src": "2563:33:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 2784, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2764, + "src": "2613:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2762, + "id": 2785, + "nodeType": "Return", + "src": "2606:14:13" + } + ] + }, + "documentation": "@dev Transfers ownership of a subnode keccak256(node, label) to a new address. May only be called by the owner of the parent node.\n@param node The parent node.\n@param label The hash of the label specifying the subnode.\n@param owner The address of the new owner.", + "id": 2787, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2758, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "2427:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2759, + "modifierName": { + "argumentTypes": null, + "id": 2757, + "name": "authorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2665, + "src": "2416:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2416:16:13" + } + ], + "name": "setSubnodeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2751, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2787, + "src": "2365:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2750, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2365:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2753, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2787, + "src": "2379:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2752, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2379:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2755, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2787, + "src": "2394:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2754, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2394:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2364:44:13" + }, + "returnParameters": { + "id": 2762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2761, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2787, + "src": "2441:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2760, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2441:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2440:9:13" + }, + "scope": 3010, + "src": "2340:287:13", + "stateMutability": "nonpayable", + "superFunction": 2550, + "visibility": "public" + }, + { + "body": { + "id": 2809, + "nodeType": "Block", + "src": "2879:92:13", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2798, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2789, + "src": "2906:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2799, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2791, + "src": "2912:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2797, + "name": "NewResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2501, + "src": "2894:11:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2894:27:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2801, + "nodeType": "EmitStatement", + "src": "2889:32:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 2807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2802, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "2931:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2804, + "indexExpression": { + "argumentTypes": null, + "id": 2803, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2789, + "src": "2939:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2931:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2805, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2625, + "src": "2931:22:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2806, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2791, + "src": "2956:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2931:33:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2808, + "nodeType": "ExpressionStatement", + "src": "2931:33:13" + } + ] + }, + "documentation": "@dev Sets the resolver address for the specified node.\n@param node The node to update.\n@param resolver The address of the resolver.", + "id": 2810, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2794, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2789, + "src": "2873:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2795, + "modifierName": { + "argumentTypes": null, + "id": 2793, + "name": "authorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2665, + "src": "2862:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2862:16:13" + } + ], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2789, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2810, + "src": "2823:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2823:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2791, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2810, + "src": "2837:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2837:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2822:32:13" + }, + "returnParameters": { + "id": 2796, + "nodeType": "ParameterList", + "parameters": [], + "src": "2879:0:13" + }, + "scope": 3010, + "src": "2802:169:13", + "stateMutability": "nonpayable", + "superFunction": 2557, + "visibility": "public" + }, + { + "body": { + "id": 2832, + "nodeType": "Block", + "src": "3185:72:13", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2821, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "3207:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2822, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2814, + "src": "3213:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 2820, + "name": "NewTTL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2507, + "src": "3200:6:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,uint64)" + } + }, + "id": 2823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3200:17:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2824, + "nodeType": "EmitStatement", + "src": "3195:22:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 2830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2825, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "3227:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2827, + "indexExpression": { + "argumentTypes": null, + "id": 2826, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "3235:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3227:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2828, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2627, + "src": "3227:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2829, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2814, + "src": "3247:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "3227:23:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2831, + "nodeType": "ExpressionStatement", + "src": "3227:23:13" + } + ] + }, + "documentation": "@dev Sets the TTL for the specified node.\n@param node The node to update.\n@param ttl The TTL in seconds.", + "id": 2833, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2817, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "3179:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2818, + "modifierName": { + "argumentTypes": null, + "id": 2816, + "name": "authorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2665, + "src": "3168:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3168:16:13" + } + ], + "name": "setTTL", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2815, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2812, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2833, + "src": "3135:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3135:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2814, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2833, + "src": "3149:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2813, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3149:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3134:26:13" + }, + "returnParameters": { + "id": 2819, + "nodeType": "ParameterList", + "parameters": [], + "src": "3185:0:13" + }, + "scope": 3010, + "src": "3119:138:13", + "stateMutability": "nonpayable", + "superFunction": 2571, + "visibility": "public" + }, + { + "body": { + "id": 2856, + "nodeType": "Block", + "src": "3660:120:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2840, + "name": "operators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2638, + "src": "3670:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 2844, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2841, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "3680:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3680:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3670:21:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2845, + "indexExpression": { + "argumentTypes": null, + "id": 2843, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2835, + "src": "3692:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3670:31:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2846, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2837, + "src": "3704:8:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3670:42:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2848, + "nodeType": "ExpressionStatement", + "src": "3670:42:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2850, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "3742:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3742:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 2852, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2835, + "src": "3754:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2853, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2837, + "src": "3764:8:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2849, + "name": "ApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2515, + "src": "3727:14:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,address,bool)" + } + }, + "id": 2854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3727:46:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2855, + "nodeType": "EmitStatement", + "src": "3722:51:13" + } + ] + }, + "documentation": "@dev Enable or disable approval for a third party (\"operator\") to manage\n all of `msg.sender`'s ENS records. Emits the ApprovalForAll event.\n@param operator Address to add to the set of authorized operators.\n@param approved True if the operator is approved, false to revoke approval.", + "id": 2857, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2835, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "3618:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2834, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3618:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2837, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "3636:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2836, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3636:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3617:33:13" + }, + "returnParameters": { + "id": 2839, + "nodeType": "ParameterList", + "parameters": [], + "src": "3660:0:13" + }, + "scope": 3010, + "src": "3591:189:13", + "stateMutability": "nonpayable", + "superFunction": 2578, + "visibility": "external" + }, + { + "body": { + "id": 2884, + "nodeType": "Block", + "src": "3999:153:13", + "statements": [ + { + "assignments": [ + 2865 + ], + "declarations": [ + { + "constant": false, + "id": 2865, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 2884, + "src": "4009:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4009:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2870, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2866, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "4024:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2868, + "indexExpression": { + "argumentTypes": null, + "id": 2867, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2859, + "src": "4032:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4024:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "4024:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4009:34:13" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2871, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2865, + "src": "4057:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2873, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6944, + "src": "4073:4:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENSRegistry_$3010", + "typeString": "contract ENSRegistry" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ENSRegistry_$3010", + "typeString": "contract ENSRegistry" + } + ], + "id": 2872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4065:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4065:13:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4057:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2881, + "nodeType": "IfStatement", + "src": "4053:71:13", + "trueBody": { + "id": 2880, + "nodeType": "Block", + "src": "4080:44:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 2877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4109:3:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4101:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4101:12:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 2863, + "id": 2879, + "nodeType": "Return", + "src": "4094:19:13" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 2882, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2865, + "src": "4141:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2863, + "id": 2883, + "nodeType": "Return", + "src": "4134:11:13" + } + ] + }, + "documentation": "@dev Returns the address that owns the specified node.\n@param node The specified node.\n@return address of the owner.", + "id": 2885, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2859, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2885, + "src": "3955:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2858, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3955:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3954:14:13" + }, + "returnParameters": { + "id": 2863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2862, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2885, + "src": "3990:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3990:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3989:9:13" + }, + "scope": 3010, + "src": "3940:212:13", + "stateMutability": "view", + "superFunction": 2585, + "visibility": "public" + }, + { + "body": { + "id": 2897, + "nodeType": "Block", + "src": "4387:46:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2892, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "4404:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2894, + "indexExpression": { + "argumentTypes": null, + "id": 2893, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2887, + "src": "4412:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4404:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2625, + "src": "4404:22:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2891, + "id": 2896, + "nodeType": "Return", + "src": "4397:29:13" + } + ] + }, + "documentation": "@dev Returns the address of the resolver for the specified node.\n@param node The specified node.\n@return address of the resolver.", + "id": 2898, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "resolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2887, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2898, + "src": "4343:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2886, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4343:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4342:14:13" + }, + "returnParameters": { + "id": 2891, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2890, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2898, + "src": "4378:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2889, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4378:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4377:9:13" + }, + "scope": 3010, + "src": "4325:108:13", + "stateMutability": "view", + "superFunction": 2592, + "visibility": "public" + }, + { + "body": { + "id": 2910, + "nodeType": "Block", + "src": "4657:41:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2905, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "4674:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2907, + "indexExpression": { + "argumentTypes": null, + "id": 2906, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2900, + "src": "4682:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4674:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2908, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2627, + "src": "4674:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 2904, + "id": 2909, + "nodeType": "Return", + "src": "4667:24:13" + } + ] + }, + "documentation": "@dev Returns the TTL of a node, and any records associated with it.\n@param node The specified node.\n@return ttl of the node.", + "id": 2911, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ttl", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2900, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2911, + "src": "4614:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2899, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4614:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4613:14:13" + }, + "returnParameters": { + "id": 2904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2903, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2911, + "src": "4649:6:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2902, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "4649:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4648:8:13" + }, + "scope": 3010, + "src": "4601:97:13", + "stateMutability": "view", + "superFunction": 2599, + "visibility": "public" + }, + { + "body": { + "id": 2927, + "nodeType": "Block", + "src": "4931:59:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2918, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "4948:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2920, + "indexExpression": { + "argumentTypes": null, + "id": 2919, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2913, + "src": "4956:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4948:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2921, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "4948:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 2923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4979:3:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4971:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4971:12:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4948:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2917, + "id": 2926, + "nodeType": "Return", + "src": "4941:42:13" + } + ] + }, + "documentation": "@dev Returns whether a record has been imported to the registry.\n@param node The specified node.\n@return Bool if record exists", + "id": 2928, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recordExists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2914, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2913, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2928, + "src": "4890:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2912, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4890:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4889:14:13" + }, + "returnParameters": { + "id": 2917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2916, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2928, + "src": "4925:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2915, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4925:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4924:6:13" + }, + "scope": 3010, + "src": "4868:122:13", + "stateMutability": "view", + "superFunction": 2606, + "visibility": "public" + }, + { + "body": { + "id": 2943, + "nodeType": "Block", + "src": "5391:50:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2937, + "name": "operators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2638, + "src": "5408:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 2939, + "indexExpression": { + "argumentTypes": null, + "id": 2938, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2930, + "src": "5418:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5408:16:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2941, + "indexExpression": { + "argumentTypes": null, + "id": 2940, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2932, + "src": "5425:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5408:26:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2936, + "id": 2942, + "nodeType": "Return", + "src": "5401:33:13" + } + ] + }, + "documentation": "@dev Query if an address is an authorized operator for another address.\n@param owner The address that owns the records.\n@param operator The address that acts on behalf of the owner.\n@return True if `operator` is an approved operator for `owner`, false otherwise.", + "id": 2944, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2933, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2930, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2944, + "src": "5329:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2929, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5329:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2932, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 2944, + "src": "5344:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2931, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5344:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5328:33:13" + }, + "returnParameters": { + "id": 2936, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2935, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2944, + "src": "5385:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2934, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5385:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5384:6:13" + }, + "scope": 3010, + "src": "5303:138:13", + "stateMutability": "view", + "superFunction": 2615, + "visibility": "external" + }, + { + "body": { + "id": 2958, + "nodeType": "Block", + "src": "5504:44:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2951, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5514:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2953, + "indexExpression": { + "argumentTypes": null, + "id": 2952, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2946, + "src": "5522:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5514:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2954, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "5514:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2955, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2948, + "src": "5536:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5514:27:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2957, + "nodeType": "ExpressionStatement", + "src": "5514:27:13" + } + ] + }, + "documentation": null, + "id": 2959, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2946, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2959, + "src": "5466:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2945, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5466:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2948, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2959, + "src": "5480:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5480:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5465:29:13" + }, + "returnParameters": { + "id": 2950, + "nodeType": "ParameterList", + "parameters": [], + "src": "5504:0:13" + }, + "scope": 3010, + "src": "5447:101:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3008, + "nodeType": "Block", + "src": "5635:282:13", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2968, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2963, + "src": "5648:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2969, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5660:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2971, + "indexExpression": { + "argumentTypes": null, + "id": 2970, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5668:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5660:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2972, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2625, + "src": "5660:22:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5648:34:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2987, + "nodeType": "IfStatement", + "src": "5645:143:13", + "trueBody": { + "id": 2986, + "nodeType": "Block", + "src": "5684:104:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2974, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5698:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2976, + "indexExpression": { + "argumentTypes": null, + "id": 2975, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5706:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5698:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2977, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2625, + "src": "5698:22:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2978, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2963, + "src": "5723:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5698:33:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2980, + "nodeType": "ExpressionStatement", + "src": "5698:33:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2982, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5762:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2983, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2963, + "src": "5768:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2981, + "name": "NewResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2501, + "src": "5750:11:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5750:27:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2985, + "nodeType": "EmitStatement", + "src": "5745:32:13" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 2993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2988, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2965, + "src": "5801:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2989, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5808:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2991, + "indexExpression": { + "argumentTypes": null, + "id": 2990, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5816:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5808:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2992, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2627, + "src": "5808:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5801:24:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3007, + "nodeType": "IfStatement", + "src": "5798:113:13", + "trueBody": { + "id": 3006, + "nodeType": "Block", + "src": "5827:84:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2994, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5841:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2996, + "indexExpression": { + "argumentTypes": null, + "id": 2995, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5849:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5841:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2997, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2627, + "src": "5841:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2998, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2965, + "src": "5861:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5841:23:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 3000, + "nodeType": "ExpressionStatement", + "src": "5841:23:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3002, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5890:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3003, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2965, + "src": "5896:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 3001, + "name": "NewTTL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2507, + "src": "5883:6:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,uint64)" + } + }, + "id": 3004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5883:17:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3005, + "nodeType": "EmitStatement", + "src": "5878:22:13" + } + ] + } + } + ] + }, + "documentation": null, + "id": 3009, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setResolverAndTTL", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2961, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 3009, + "src": "5582:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2960, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5582:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2963, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 3009, + "src": "5596:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2962, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5596:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2965, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 3009, + "src": "5614:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2964, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "5614:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5581:44:13" + }, + "returnParameters": { + "id": 2967, + "nodeType": "ParameterList", + "parameters": [], + "src": "5635:0:13" + }, + "scope": 3010, + "src": "5554:363:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 3011, + "src": "84:5835:13" + } + ], + "src": "0:5920:13" + }, + "legacyAST": { + "absolutePath": "@ensdomains/ens/contracts/ENSRegistry.sol", + "exportedSymbols": { + "ENSRegistry": [ + 3010 + ] + }, + "id": 3011, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2618, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:13" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "./ENS.sol", + "id": 2619, + "nodeType": "ImportDirective", + "scope": 3011, + "sourceUnit": 2617, + "src": "25:19:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2620, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "108:3:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 2621, + "nodeType": "InheritanceSpecifier", + "src": "108:3:13" + } + ], + "contractDependencies": [ + 2616 + ], + "contractKind": "contract", + "documentation": "The ENS registry contract.", + "fullyImplemented": true, + "id": 3010, + "linearizedBaseContracts": [ + 3010, + 2616 + ], + "name": "ENSRegistry", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "ENSRegistry.Record", + "id": 2628, + "members": [ + { + "constant": false, + "id": 2623, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2628, + "src": "143:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2622, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "143:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2625, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2628, + "src": "166:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "166:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2627, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2628, + "src": "192:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2626, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "192:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Record", + "nodeType": "StructDefinition", + "scope": 3010, + "src": "119:90:13", + "visibility": "public" + }, + { + "constant": false, + "id": 2632, + "name": "records", + "nodeType": "VariableDeclaration", + "scope": 3010, + "src": "215:35:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record)" + }, + "typeName": { + "id": 2631, + "keyType": { + "id": 2629, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "224:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "215:27:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record)" + }, + "valueType": { + "contractScope": null, + "id": 2630, + "name": "Record", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2628, + "src": "235:6:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage_ptr", + "typeString": "struct ENSRegistry.Record" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2638, + "name": "operators", + "nodeType": "VariableDeclaration", + "scope": 3010, + "src": "256:55:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "typeName": { + "id": 2637, + "keyType": { + "id": 2633, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "265:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "256:45:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "valueType": { + "id": 2636, + "keyType": { + "id": 2634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "284:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "276:24:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 2635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "295:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 2664, + "nodeType": "Block", + "src": "422:133:13", + "statements": [ + { + "assignments": [ + 2643 + ], + "declarations": [ + { + "constant": false, + "id": 2643, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2664, + "src": "432:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2642, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "432:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2648, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2644, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "448:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2646, + "indexExpression": { + "argumentTypes": null, + "id": 2645, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2640, + "src": "456:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "448:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2647, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "448:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "432:35:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2650, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2643, + "src": "485:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2651, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "494:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "494:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "485:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2654, + "name": "operators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2638, + "src": "508:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 2656, + "indexExpression": { + "argumentTypes": null, + "id": 2655, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2643, + "src": "518:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "508:16:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2659, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2657, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "525:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "525:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "508:28:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "485:51:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2649, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "477:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "477:60:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2662, + "nodeType": "ExpressionStatement", + "src": "477:60:13" + }, + { + "id": 2663, + "nodeType": "PlaceholderStatement", + "src": "547:1:13" + } + ] + }, + "documentation": null, + "id": 2665, + "name": "authorised", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2640, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2665, + "src": "408:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2639, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "408:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "407:14:13" + }, + "src": "388:167:13", + "visibility": "internal" + }, + { + "body": { + "id": 2676, + "nodeType": "Block", + "src": "642:48:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2668, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "652:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2670, + "indexExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 2669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "660:3:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "652:12:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2671, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "652:18:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2672, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "673:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "673:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "652:31:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2675, + "nodeType": "ExpressionStatement", + "src": "652:31:13" + } + ] + }, + "documentation": "@dev Constructs a new ENS registrar.", + "id": 2677, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2666, + "nodeType": "ParameterList", + "parameters": [], + "src": "632:2:13" + }, + "returnParameters": { + "id": 2667, + "nodeType": "ParameterList", + "parameters": [], + "src": "642:0:13" + }, + "scope": 3010, + "src": "621:69:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2699, + "nodeType": "Block", + "src": "1018:87:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2689, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2679, + "src": "1037:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2690, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2681, + "src": "1043:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2688, + "name": "setOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2749, + "src": "1028:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1028:21:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2692, + "nodeType": "ExpressionStatement", + "src": "1028:21:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2694, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2679, + "src": "1078:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2695, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2683, + "src": "1084:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2696, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2685, + "src": "1094:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 2693, + "name": "_setResolverAndTTL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3009, + "src": "1059:18:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,address,uint64)" + } + }, + "id": 2697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1059:39:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2698, + "nodeType": "ExpressionStatement", + "src": "1059:39:13" + } + ] + }, + "documentation": "@dev Sets the record for a node.\n@param node The node to update.\n@param owner The address of the new owner.\n@param resolver The address of the resolver.\n@param ttl The TTL in seconds.", + "id": 2700, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setRecord", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2679, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "950:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2678, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "950:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2681, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "964:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "964:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2683, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "979:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2682, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "979:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2685, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "997:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2684, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "997:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "949:59:13" + }, + "returnParameters": { + "id": 2687, + "nodeType": "ParameterList", + "parameters": [], + "src": "1018:0:13" + }, + "scope": 3010, + "src": "931:174:13", + "stateMutability": "nonpayable", + "superFunction": 2526, + "visibility": "external" + }, + { + "body": { + "id": 2727, + "nodeType": "Block", + "src": "1521:122:13", + "statements": [ + { + "assignments": [ + 2714 + ], + "declarations": [ + { + "constant": false, + "id": 2714, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "1531:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1531:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2720, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2716, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "1565:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2717, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2704, + "src": "1571:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2718, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "1578:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2715, + "name": "setSubnodeOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2787, + "src": "1549:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) returns (bytes32)" + } + }, + "id": 2719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1549:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1531:53:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2722, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "1613:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2723, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2708, + "src": "1622:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2724, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2710, + "src": "1632:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 2721, + "name": "_setResolverAndTTL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3009, + "src": "1594:18:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,address,uint64)" + } + }, + "id": 2725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1594:42:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2726, + "nodeType": "ExpressionStatement", + "src": "1594:42:13" + } + ] + }, + "documentation": "@dev Sets the record for a subnode.\n@param node The parent node.\n@param label The hash of the label specifying the subnode.\n@param owner The address of the new owner.\n@param resolver The address of the resolver.\n@param ttl The TTL in seconds.", + "id": 2728, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setSubnodeRecord", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2702, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "1438:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2701, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1438:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2704, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "1452:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2703, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1452:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2706, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "1467:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2705, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1467:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2708, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "1482:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2707, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1482:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2710, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "1500:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2709, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1500:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1437:74:13" + }, + "returnParameters": { + "id": 2712, + "nodeType": "ParameterList", + "parameters": [], + "src": "1521:0:13" + }, + "scope": 3010, + "src": "1412:231:13", + "stateMutability": "nonpayable", + "superFunction": 2539, + "visibility": "external" + }, + { + "body": { + "id": 2748, + "nodeType": "Block", + "src": "1953:75:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2739, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "1973:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2740, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2732, + "src": "1979:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2738, + "name": "_setOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2959, + "src": "1963:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1963:22:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2742, + "nodeType": "ExpressionStatement", + "src": "1963:22:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2744, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "2009:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2745, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2732, + "src": "2015:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2743, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2495, + "src": "2000:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2000:21:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2747, + "nodeType": "EmitStatement", + "src": "1995:26:13" + } + ] + }, + "documentation": "@dev Transfers ownership of a node to a new address. May only be called by the current owner of the node.\n@param node The node to transfer ownership of.\n@param owner The address of the new owner.", + "id": 2749, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2735, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "1947:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2736, + "modifierName": { + "argumentTypes": null, + "id": 2734, + "name": "authorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2665, + "src": "1936:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1936:16:13" + } + ], + "name": "setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2730, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2749, + "src": "1900:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2729, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1900:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2732, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2749, + "src": "1914:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2731, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1914:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1899:29:13" + }, + "returnParameters": { + "id": 2737, + "nodeType": "ParameterList", + "parameters": [], + "src": "1953:0:13" + }, + "scope": 3010, + "src": "1882:146:13", + "stateMutability": "nonpayable", + "superFunction": 2564, + "visibility": "public" + }, + { + "body": { + "id": 2786, + "nodeType": "Block", + "src": "2450:177:13", + "statements": [ + { + "assignments": [ + 2764 + ], + "declarations": [ + { + "constant": false, + "id": 2764, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 2786, + "src": "2460:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2763, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2460:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2772, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2768, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "2505:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2769, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2753, + "src": "2511:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 2766, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "2488:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2488:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2488:29:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2765, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2478:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2478:40:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2460:58:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2774, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2764, + "src": "2538:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2775, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2755, + "src": "2547:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2773, + "name": "_setOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2959, + "src": "2528:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2528:25:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2777, + "nodeType": "ExpressionStatement", + "src": "2528:25:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2779, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "2577:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2780, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2753, + "src": "2583:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2781, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2755, + "src": "2590:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2778, + "name": "NewOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "2568:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,bytes32,address)" + } + }, + "id": 2782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2568:28:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2783, + "nodeType": "EmitStatement", + "src": "2563:33:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 2784, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2764, + "src": "2613:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2762, + "id": 2785, + "nodeType": "Return", + "src": "2606:14:13" + } + ] + }, + "documentation": "@dev Transfers ownership of a subnode keccak256(node, label) to a new address. May only be called by the owner of the parent node.\n@param node The parent node.\n@param label The hash of the label specifying the subnode.\n@param owner The address of the new owner.", + "id": 2787, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2758, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "2427:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2759, + "modifierName": { + "argumentTypes": null, + "id": 2757, + "name": "authorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2665, + "src": "2416:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2416:16:13" + } + ], + "name": "setSubnodeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2751, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2787, + "src": "2365:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2750, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2365:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2753, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2787, + "src": "2379:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2752, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2379:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2755, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2787, + "src": "2394:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2754, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2394:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2364:44:13" + }, + "returnParameters": { + "id": 2762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2761, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2787, + "src": "2441:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2760, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2441:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2440:9:13" + }, + "scope": 3010, + "src": "2340:287:13", + "stateMutability": "nonpayable", + "superFunction": 2550, + "visibility": "public" + }, + { + "body": { + "id": 2809, + "nodeType": "Block", + "src": "2879:92:13", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2798, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2789, + "src": "2906:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2799, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2791, + "src": "2912:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2797, + "name": "NewResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2501, + "src": "2894:11:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2894:27:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2801, + "nodeType": "EmitStatement", + "src": "2889:32:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 2807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2802, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "2931:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2804, + "indexExpression": { + "argumentTypes": null, + "id": 2803, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2789, + "src": "2939:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2931:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2805, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2625, + "src": "2931:22:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2806, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2791, + "src": "2956:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2931:33:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2808, + "nodeType": "ExpressionStatement", + "src": "2931:33:13" + } + ] + }, + "documentation": "@dev Sets the resolver address for the specified node.\n@param node The node to update.\n@param resolver The address of the resolver.", + "id": 2810, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2794, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2789, + "src": "2873:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2795, + "modifierName": { + "argumentTypes": null, + "id": 2793, + "name": "authorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2665, + "src": "2862:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2862:16:13" + } + ], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2789, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2810, + "src": "2823:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2823:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2791, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 2810, + "src": "2837:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2837:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2822:32:13" + }, + "returnParameters": { + "id": 2796, + "nodeType": "ParameterList", + "parameters": [], + "src": "2879:0:13" + }, + "scope": 3010, + "src": "2802:169:13", + "stateMutability": "nonpayable", + "superFunction": 2557, + "visibility": "public" + }, + { + "body": { + "id": 2832, + "nodeType": "Block", + "src": "3185:72:13", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2821, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "3207:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2822, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2814, + "src": "3213:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 2820, + "name": "NewTTL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2507, + "src": "3200:6:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,uint64)" + } + }, + "id": 2823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3200:17:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2824, + "nodeType": "EmitStatement", + "src": "3195:22:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 2830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2825, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "3227:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2827, + "indexExpression": { + "argumentTypes": null, + "id": 2826, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "3235:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3227:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2828, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2627, + "src": "3227:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2829, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2814, + "src": "3247:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "3227:23:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2831, + "nodeType": "ExpressionStatement", + "src": "3227:23:13" + } + ] + }, + "documentation": "@dev Sets the TTL for the specified node.\n@param node The node to update.\n@param ttl The TTL in seconds.", + "id": 2833, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2817, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "3179:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2818, + "modifierName": { + "argumentTypes": null, + "id": 2816, + "name": "authorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2665, + "src": "3168:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3168:16:13" + } + ], + "name": "setTTL", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2815, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2812, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2833, + "src": "3135:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3135:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2814, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 2833, + "src": "3149:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2813, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3149:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3134:26:13" + }, + "returnParameters": { + "id": 2819, + "nodeType": "ParameterList", + "parameters": [], + "src": "3185:0:13" + }, + "scope": 3010, + "src": "3119:138:13", + "stateMutability": "nonpayable", + "superFunction": 2571, + "visibility": "public" + }, + { + "body": { + "id": 2856, + "nodeType": "Block", + "src": "3660:120:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2840, + "name": "operators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2638, + "src": "3670:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 2844, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2841, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "3680:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3680:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3670:21:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2845, + "indexExpression": { + "argumentTypes": null, + "id": 2843, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2835, + "src": "3692:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3670:31:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2846, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2837, + "src": "3704:8:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3670:42:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2848, + "nodeType": "ExpressionStatement", + "src": "3670:42:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2850, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "3742:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3742:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 2852, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2835, + "src": "3754:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2853, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2837, + "src": "3764:8:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2849, + "name": "ApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2515, + "src": "3727:14:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,address,bool)" + } + }, + "id": 2854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3727:46:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2855, + "nodeType": "EmitStatement", + "src": "3722:51:13" + } + ] + }, + "documentation": "@dev Enable or disable approval for a third party (\"operator\") to manage\n all of `msg.sender`'s ENS records. Emits the ApprovalForAll event.\n@param operator Address to add to the set of authorized operators.\n@param approved True if the operator is approved, false to revoke approval.", + "id": 2857, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2835, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "3618:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2834, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3618:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2837, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "3636:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2836, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3636:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3617:33:13" + }, + "returnParameters": { + "id": 2839, + "nodeType": "ParameterList", + "parameters": [], + "src": "3660:0:13" + }, + "scope": 3010, + "src": "3591:189:13", + "stateMutability": "nonpayable", + "superFunction": 2578, + "visibility": "external" + }, + { + "body": { + "id": 2884, + "nodeType": "Block", + "src": "3999:153:13", + "statements": [ + { + "assignments": [ + 2865 + ], + "declarations": [ + { + "constant": false, + "id": 2865, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 2884, + "src": "4009:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4009:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2870, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2866, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "4024:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2868, + "indexExpression": { + "argumentTypes": null, + "id": 2867, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2859, + "src": "4032:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4024:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "4024:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4009:34:13" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2871, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2865, + "src": "4057:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2873, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6944, + "src": "4073:4:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENSRegistry_$3010", + "typeString": "contract ENSRegistry" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ENSRegistry_$3010", + "typeString": "contract ENSRegistry" + } + ], + "id": 2872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4065:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4065:13:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4057:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2881, + "nodeType": "IfStatement", + "src": "4053:71:13", + "trueBody": { + "id": 2880, + "nodeType": "Block", + "src": "4080:44:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 2877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4109:3:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4101:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4101:12:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 2863, + "id": 2879, + "nodeType": "Return", + "src": "4094:19:13" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 2882, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2865, + "src": "4141:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2863, + "id": 2883, + "nodeType": "Return", + "src": "4134:11:13" + } + ] + }, + "documentation": "@dev Returns the address that owns the specified node.\n@param node The specified node.\n@return address of the owner.", + "id": 2885, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2859, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2885, + "src": "3955:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2858, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3955:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3954:14:13" + }, + "returnParameters": { + "id": 2863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2862, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2885, + "src": "3990:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3990:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3989:9:13" + }, + "scope": 3010, + "src": "3940:212:13", + "stateMutability": "view", + "superFunction": 2585, + "visibility": "public" + }, + { + "body": { + "id": 2897, + "nodeType": "Block", + "src": "4387:46:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2892, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "4404:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2894, + "indexExpression": { + "argumentTypes": null, + "id": 2893, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2887, + "src": "4412:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4404:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2625, + "src": "4404:22:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2891, + "id": 2896, + "nodeType": "Return", + "src": "4397:29:13" + } + ] + }, + "documentation": "@dev Returns the address of the resolver for the specified node.\n@param node The specified node.\n@return address of the resolver.", + "id": 2898, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "resolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2887, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2898, + "src": "4343:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2886, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4343:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4342:14:13" + }, + "returnParameters": { + "id": 2891, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2890, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2898, + "src": "4378:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2889, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4378:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4377:9:13" + }, + "scope": 3010, + "src": "4325:108:13", + "stateMutability": "view", + "superFunction": 2592, + "visibility": "public" + }, + { + "body": { + "id": 2910, + "nodeType": "Block", + "src": "4657:41:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2905, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "4674:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2907, + "indexExpression": { + "argumentTypes": null, + "id": 2906, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2900, + "src": "4682:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4674:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2908, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2627, + "src": "4674:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 2904, + "id": 2909, + "nodeType": "Return", + "src": "4667:24:13" + } + ] + }, + "documentation": "@dev Returns the TTL of a node, and any records associated with it.\n@param node The specified node.\n@return ttl of the node.", + "id": 2911, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ttl", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2900, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2911, + "src": "4614:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2899, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4614:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4613:14:13" + }, + "returnParameters": { + "id": 2904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2903, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2911, + "src": "4649:6:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2902, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "4649:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4648:8:13" + }, + "scope": 3010, + "src": "4601:97:13", + "stateMutability": "view", + "superFunction": 2599, + "visibility": "public" + }, + { + "body": { + "id": 2927, + "nodeType": "Block", + "src": "4931:59:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2918, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "4948:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2920, + "indexExpression": { + "argumentTypes": null, + "id": 2919, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2913, + "src": "4956:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4948:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2921, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "4948:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 2923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4979:3:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4971:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4971:12:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4948:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2917, + "id": 2926, + "nodeType": "Return", + "src": "4941:42:13" + } + ] + }, + "documentation": "@dev Returns whether a record has been imported to the registry.\n@param node The specified node.\n@return Bool if record exists", + "id": 2928, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recordExists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2914, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2913, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2928, + "src": "4890:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2912, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4890:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4889:14:13" + }, + "returnParameters": { + "id": 2917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2916, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2928, + "src": "4925:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2915, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4925:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4924:6:13" + }, + "scope": 3010, + "src": "4868:122:13", + "stateMutability": "view", + "superFunction": 2606, + "visibility": "public" + }, + { + "body": { + "id": 2943, + "nodeType": "Block", + "src": "5391:50:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2937, + "name": "operators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2638, + "src": "5408:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 2939, + "indexExpression": { + "argumentTypes": null, + "id": 2938, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2930, + "src": "5418:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5408:16:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2941, + "indexExpression": { + "argumentTypes": null, + "id": 2940, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2932, + "src": "5425:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5408:26:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2936, + "id": 2942, + "nodeType": "Return", + "src": "5401:33:13" + } + ] + }, + "documentation": "@dev Query if an address is an authorized operator for another address.\n@param owner The address that owns the records.\n@param operator The address that acts on behalf of the owner.\n@return True if `operator` is an approved operator for `owner`, false otherwise.", + "id": 2944, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2933, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2930, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2944, + "src": "5329:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2929, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5329:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2932, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 2944, + "src": "5344:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2931, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5344:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5328:33:13" + }, + "returnParameters": { + "id": 2936, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2935, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2944, + "src": "5385:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2934, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5385:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5384:6:13" + }, + "scope": 3010, + "src": "5303:138:13", + "stateMutability": "view", + "superFunction": 2615, + "visibility": "external" + }, + { + "body": { + "id": 2958, + "nodeType": "Block", + "src": "5504:44:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2951, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5514:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2953, + "indexExpression": { + "argumentTypes": null, + "id": 2952, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2946, + "src": "5522:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5514:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2954, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2623, + "src": "5514:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2955, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2948, + "src": "5536:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5514:27:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2957, + "nodeType": "ExpressionStatement", + "src": "5514:27:13" + } + ] + }, + "documentation": null, + "id": 2959, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2946, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2959, + "src": "5466:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2945, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5466:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2948, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2959, + "src": "5480:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5480:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5465:29:13" + }, + "returnParameters": { + "id": 2950, + "nodeType": "ParameterList", + "parameters": [], + "src": "5504:0:13" + }, + "scope": 3010, + "src": "5447:101:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3008, + "nodeType": "Block", + "src": "5635:282:13", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2968, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2963, + "src": "5648:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2969, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5660:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2971, + "indexExpression": { + "argumentTypes": null, + "id": 2970, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5668:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5660:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2972, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2625, + "src": "5660:22:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5648:34:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2987, + "nodeType": "IfStatement", + "src": "5645:143:13", + "trueBody": { + "id": 2986, + "nodeType": "Block", + "src": "5684:104:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2974, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5698:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2976, + "indexExpression": { + "argumentTypes": null, + "id": 2975, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5706:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5698:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2977, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2625, + "src": "5698:22:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2978, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2963, + "src": "5723:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5698:33:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2980, + "nodeType": "ExpressionStatement", + "src": "5698:33:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2982, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5762:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2983, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2963, + "src": "5768:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2981, + "name": "NewResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2501, + "src": "5750:11:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5750:27:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2985, + "nodeType": "EmitStatement", + "src": "5745:32:13" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 2993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2988, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2965, + "src": "5801:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2989, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5808:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2991, + "indexExpression": { + "argumentTypes": null, + "id": 2990, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5816:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5808:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2992, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2627, + "src": "5808:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5801:24:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3007, + "nodeType": "IfStatement", + "src": "5798:113:13", + "trueBody": { + "id": 3006, + "nodeType": "Block", + "src": "5827:84:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2994, + "name": "records", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5841:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Record_$2628_storage_$", + "typeString": "mapping(bytes32 => struct ENSRegistry.Record storage ref)" + } + }, + "id": 2996, + "indexExpression": { + "argumentTypes": null, + "id": 2995, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5849:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5841:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$2628_storage", + "typeString": "struct ENSRegistry.Record storage ref" + } + }, + "id": 2997, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2627, + "src": "5841:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2998, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2965, + "src": "5861:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5841:23:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 3000, + "nodeType": "ExpressionStatement", + "src": "5841:23:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3002, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2961, + "src": "5890:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3003, + "name": "ttl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2965, + "src": "5896:3:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 3001, + "name": "NewTTL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2507, + "src": "5883:6:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,uint64)" + } + }, + "id": 3004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5883:17:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3005, + "nodeType": "EmitStatement", + "src": "5878:22:13" + } + ] + } + } + ] + }, + "documentation": null, + "id": 3009, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setResolverAndTTL", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2961, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 3009, + "src": "5582:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2960, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5582:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2963, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 3009, + "src": "5596:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2962, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5596:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2965, + "name": "ttl", + "nodeType": "VariableDeclaration", + "scope": 3009, + "src": "5614:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2964, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "5614:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5581:44:13" + }, + "returnParameters": { + "id": 2967, + "nodeType": "ParameterList", + "parameters": [], + "src": "5635:0:13" + }, + "scope": 3010, + "src": "5554:363:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 3011, + "src": "84:5835:13" + } + ], + "src": "0:5920:13" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.773Z", + "devdoc": { + "methods": { + "constructor": { + "details": "Constructs a new ENS registrar." + }, + "isApprovedForAll(address,address)": { + "details": "Query if an address is an authorized operator for another address.", + "params": { + "operator": "The address that acts on behalf of the owner.", + "owner": "The address that owns the records." + }, + "return": "True if `operator` is an approved operator for `owner`, false otherwise." + }, + "owner(bytes32)": { + "details": "Returns the address that owns the specified node.", + "params": { + "node": "The specified node." + }, + "return": "address of the owner." + }, + "recordExists(bytes32)": { + "details": "Returns whether a record has been imported to the registry.", + "params": { + "node": "The specified node." + }, + "return": "Bool if record exists" + }, + "resolver(bytes32)": { + "details": "Returns the address of the resolver for the specified node.", + "params": { + "node": "The specified node." + }, + "return": "address of the resolver." + }, + "setApprovalForAll(address,bool)": { + "details": "Enable or disable approval for a third party (\"operator\") to manage all of `msg.sender`'s ENS records. Emits the ApprovalForAll event.", + "params": { + "approved": "True if the operator is approved, false to revoke approval.", + "operator": "Address to add to the set of authorized operators." + } + }, + "setOwner(bytes32,address)": { + "details": "Transfers ownership of a node to a new address. May only be called by the current owner of the node.", + "params": { + "node": "The node to transfer ownership of.", + "owner": "The address of the new owner." + } + }, + "setRecord(bytes32,address,address,uint64)": { + "details": "Sets the record for a node.", + "params": { + "node": "The node to update.", + "owner": "The address of the new owner.", + "resolver": "The address of the resolver.", + "ttl": "The TTL in seconds." + } + }, + "setResolver(bytes32,address)": { + "details": "Sets the resolver address for the specified node.", + "params": { + "node": "The node to update.", + "resolver": "The address of the resolver." + } + }, + "setSubnodeOwner(bytes32,bytes32,address)": { + "details": "Transfers ownership of a subnode keccak256(node, label) to a new address. May only be called by the owner of the parent node.", + "params": { + "label": "The hash of the label specifying the subnode.", + "node": "The parent node.", + "owner": "The address of the new owner." + } + }, + "setSubnodeRecord(bytes32,bytes32,address,address,uint64)": { + "details": "Sets the record for a subnode.", + "params": { + "label": "The hash of the label specifying the subnode.", + "node": "The parent node.", + "owner": "The address of the new owner.", + "resolver": "The address of the resolver.", + "ttl": "The TTL in seconds." + } + }, + "setTTL(bytes32,uint64)": { + "details": "Sets the TTL for the specified node.", + "params": { + "node": "The node to update.", + "ttl": "The TTL in seconds." + } + }, + "ttl(bytes32)": { + "details": "Returns the TTL of a node, and any records associated with it.", + "params": { + "node": "The specified node." + }, + "return": "ttl of the node." + } + } + }, + "userdoc": { + "methods": {}, + "notice": "The ENS registry contract." + } +} \ No newline at end of file diff --git a/contracts/ENSRegistryWithFallback.json b/contracts/ENSRegistryWithFallback.json new file mode 100644 index 0000000..39d5111 --- /dev/null +++ b/contracts/ENSRegistryWithFallback.json @@ -0,0 +1,3691 @@ +{ + "contractName": "ENSRegistryWithFallback", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ENS", + "name": "_old", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NewOwner", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "NewResolver", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "NewTTL", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "old", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "recordExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setRecord", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "setSubnodeOwner", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setSubnodeRecord", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setTTL", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "resolver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "ttl", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ENS\",\"name\":\"_old\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"NewResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"NewTTL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"old\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"recordExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setRecord\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setSubnodeRecord\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"ttl\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"constructor\":{\"details\":\"Constructs a new ENS registrar.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Query if an address is an authorized operator for another address.\",\"params\":{\"operator\":\"The address that acts on behalf of the owner.\",\"owner\":\"The address that owns the records.\"},\"return\":\"True if `operator` is an approved operator for `owner`, false otherwise.\"},\"owner(bytes32)\":{\"details\":\"Returns the address that owns the specified node.\",\"params\":{\"node\":\"The specified node.\"},\"return\":\"address of the owner.\"},\"recordExists(bytes32)\":{\"details\":\"Returns whether a record has been imported to the registry.\",\"params\":{\"node\":\"The specified node.\"},\"return\":\"Bool if record exists\"},\"resolver(bytes32)\":{\"details\":\"Returns the address of the resolver for the specified node.\",\"params\":{\"node\":\"The specified node.\"},\"return\":\"address of the resolver.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of `msg.sender`'s ENS records. Emits the ApprovalForAll event.\",\"params\":{\"approved\":\"True if the operator is approved, false to revoke approval.\",\"operator\":\"Address to add to the set of authorized operators.\"}},\"setOwner(bytes32,address)\":{\"details\":\"Transfers ownership of a node to a new address. May only be called by the current owner of the node.\",\"params\":{\"node\":\"The node to transfer ownership of.\",\"owner\":\"The address of the new owner.\"}},\"setRecord(bytes32,address,address,uint64)\":{\"details\":\"Sets the record for a node.\",\"params\":{\"node\":\"The node to update.\",\"owner\":\"The address of the new owner.\",\"resolver\":\"The address of the resolver.\",\"ttl\":\"The TTL in seconds.\"}},\"setResolver(bytes32,address)\":{\"details\":\"Sets the resolver address for the specified node.\",\"params\":{\"node\":\"The node to update.\",\"resolver\":\"The address of the resolver.\"}},\"setSubnodeOwner(bytes32,bytes32,address)\":{\"details\":\"Transfers ownership of a subnode keccak256(node, label) to a new address. May only be called by the owner of the parent node.\",\"params\":{\"label\":\"The hash of the label specifying the subnode.\",\"node\":\"The parent node.\",\"owner\":\"The address of the new owner.\"}},\"setSubnodeRecord(bytes32,bytes32,address,address,uint64)\":{\"details\":\"Sets the record for a subnode.\",\"params\":{\"label\":\"The hash of the label specifying the subnode.\",\"node\":\"The parent node.\",\"owner\":\"The address of the new owner.\",\"resolver\":\"The address of the resolver.\",\"ttl\":\"The TTL in seconds.\"}},\"setTTL(bytes32,uint64)\":{\"details\":\"Sets the TTL for the specified node.\",\"params\":{\"node\":\"The node to update.\",\"ttl\":\"The TTL in seconds.\"}},\"ttl(bytes32)\":{\"details\":\"Returns the TTL of a node, and any records associated with it.\",\"params\":{\"node\":\"The specified node.\"},\"return\":\"ttl of the node.\"}}},\"userdoc\":{\"methods\":{},\"notice\":\"The ENS registry contract.\"}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens/contracts/ENSRegistryWithFallback.sol\":\"ENSRegistryWithFallback\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ens/contracts/ENSRegistry.sol\":{\"keccak256\":\"0xa40b635d209272928968c804b0a8ee390d599e84100b491c9ad38e86b841fed8\",\"urls\":[\"bzz-raw://8bb61b4f5773f6ddd5e4abde74f08127b86a6bc07466cbfba119760bcfb9aa59\",\"dweb:/ipfs/QmRckNAmD2gqVSocvBbLPNDhMrFgHdRaErR7MnY7TLr7Yx\"]},\"@ensdomains/ens/contracts/ENSRegistryWithFallback.sol\":{\"keccak256\":\"0x9152ac61bc1136f1da2ae708fb7de2205f4e466f1f4f894ab9a31d0399ec3332\",\"urls\":[\"bzz-raw://27fbb8001bfdcab0434f46ed11489da81556598016e44a2fd7c11fc455d6743b\",\"dweb:/ipfs/QmXV3zcjhQFAEoXWDZvuVCZBqv9aCAPe3zJBoDQHBMrsPc\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506040516115ce3803806115ce8339818101604052602081101561003357600080fd5b8101908080519060200190929190505050336000808060001b815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506114e2806100ec6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635b0fc9c31161008c578063b83f866311610066578063b83f86631461042c578063cf40882314610476578063e985e9c5146104f8578063f79fe53814610574576100cf565b80635b0fc9c3146103025780635ef2c7f014610350578063a22cb465146103dc576100cf565b80630178b8bf146100d457806302571be31461014257806306ab5923146101b057806314ab90381461021c57806316a25cbd1461025e5780631896f70a146102b4575b600080fd5b610100600480360360208110156100ea57600080fd5b81019080803590602001909291905050506105ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61016e6004803603602081101561015857600080fd5b810190808035906020019092919050505061068f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610206600480360360608110156101c657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610764565b6040518082815260200191505060405180910390f35b61025c6004803603604081101561023257600080fd5b8101908080359060200190929190803567ffffffffffffffff169060200190929190505050610919565b005b61028a6004803603602081101561027457600080fd5b8101908080359060200190929190505050610aab565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b610300600480360360408110156102ca57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b80565b005b61034e6004803603604081101561031857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d42565b005b6103da600480360360a081101561036657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610eba565b005b61042a600480360360408110156103f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610edc565b005b610434610fdd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104f66004803603608081101561048c57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050611003565b005b61055a6004803603604081101561050e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061101e565b604051808215151515815260200191505060405180910390f35b6105a06004803603602081101561058a57600080fd5b81019080803590602001909291905050506110b2565b604051808215151515815260200191505060405180910390f35b60006105c5826110b2565b61067e57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561063c57600080fd5b505afa158015610650573d6000803e3d6000fd5b505050506040513d602081101561066657600080fd5b8101908080519060200190929190505050905061068a565b61068782611120565b90505b919050565b600061069a826110b2565b61075357600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561071157600080fd5b505afa158015610725573d6000803e3d6000fd5b505050506040513d602081101561073b57600080fd5b8101908080519060200190929190505050905061075f565b61075c8261115f565b90505b919050565b600083600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806108615750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61086a57600080fd5b6000868660405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506108a781866111e2565b85877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38093505050509392505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610a145750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610a1d57600080fd5b837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505050565b6000610ab6826110b2565b610b6f57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316a25cbd836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b2d57600080fd5b505afa158015610b41573d6000803e3d6000fd5b505050506040513d6020811015610b5757600080fd5b81019080805190602001909291905050509050610b7b565b610b788261122f565b90505b919050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610c7b5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610c8457600080fd5b837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610e3d5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610e4657600080fd5b610e5084846111e2565b837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b6000610ec7868686610764565b9050610ed4818484611262565b505050505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61100d8484610d42565b611018848383611262565b50505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600080600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111d85760009150506111dd565b809150505b919050565b6000819050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611220573090505b61122a8382611455565b505050565b600080600083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611383578160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611450578060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a25b505050565b8060008084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505056fea265627a7a72315820e307c1741e952c90d504ae303fa3fa1e5f6265200c65304d90abaa909d2dee4b64736f6c63430005100032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635b0fc9c31161008c578063b83f866311610066578063b83f86631461042c578063cf40882314610476578063e985e9c5146104f8578063f79fe53814610574576100cf565b80635b0fc9c3146103025780635ef2c7f014610350578063a22cb465146103dc576100cf565b80630178b8bf146100d457806302571be31461014257806306ab5923146101b057806314ab90381461021c57806316a25cbd1461025e5780631896f70a146102b4575b600080fd5b610100600480360360208110156100ea57600080fd5b81019080803590602001909291905050506105ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61016e6004803603602081101561015857600080fd5b810190808035906020019092919050505061068f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610206600480360360608110156101c657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610764565b6040518082815260200191505060405180910390f35b61025c6004803603604081101561023257600080fd5b8101908080359060200190929190803567ffffffffffffffff169060200190929190505050610919565b005b61028a6004803603602081101561027457600080fd5b8101908080359060200190929190505050610aab565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b610300600480360360408110156102ca57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b80565b005b61034e6004803603604081101561031857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d42565b005b6103da600480360360a081101561036657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610eba565b005b61042a600480360360408110156103f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610edc565b005b610434610fdd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104f66004803603608081101561048c57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050611003565b005b61055a6004803603604081101561050e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061101e565b604051808215151515815260200191505060405180910390f35b6105a06004803603602081101561058a57600080fd5b81019080803590602001909291905050506110b2565b604051808215151515815260200191505060405180910390f35b60006105c5826110b2565b61067e57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561063c57600080fd5b505afa158015610650573d6000803e3d6000fd5b505050506040513d602081101561066657600080fd5b8101908080519060200190929190505050905061068a565b61068782611120565b90505b919050565b600061069a826110b2565b61075357600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561071157600080fd5b505afa158015610725573d6000803e3d6000fd5b505050506040513d602081101561073b57600080fd5b8101908080519060200190929190505050905061075f565b61075c8261115f565b90505b919050565b600083600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806108615750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61086a57600080fd5b6000868660405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506108a781866111e2565b85877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38093505050509392505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610a145750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610a1d57600080fd5b837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505050565b6000610ab6826110b2565b610b6f57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316a25cbd836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b2d57600080fd5b505afa158015610b41573d6000803e3d6000fd5b505050506040513d6020811015610b5757600080fd5b81019080805190602001909291905050509050610b7b565b610b788261122f565b90505b919050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610c7b5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610c8457600080fd5b837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610e3d5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610e4657600080fd5b610e5084846111e2565b837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b6000610ec7868686610764565b9050610ed4818484611262565b505050505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61100d8484610d42565b611018848383611262565b50505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600080600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111d85760009150506111dd565b809150505b919050565b6000819050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611220573090505b61122a8382611455565b505050565b600080600083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611383578160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611450578060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a25b505050565b8060008084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505056fea265627a7a72315820e307c1741e952c90d504ae303fa3fa1e5f6265200c65304d90abaa909d2dee4b64736f6c63430005100032", + "sourceMap": "112:1475:14:-;;;248:70;8:9:-1;5:2;;;30:1;27;20:12;5:2;248:70:14;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;248:70:14;;;;;;;;;;;;;;;;673:10:13;652:7;:12;660:3;652:12;;;;;;;;;;;;;:18;;;:31;;;;;;;;;;;;;;;;;;307:4:14;301:3;;:10;;;;;;;;;;;;;;;;;;248:70;112:1475;;;;;;", + "deployedSourceMap": "112:1475:14:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;112:1475:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;491:191;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;491:191:14;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;842:182;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;842:182:14;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2340:287:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2340:287:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3119:138;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3119:138:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1192:175:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1192:175:14;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2802:169:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2802:169:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1882:146;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1882:146:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1412:231;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1412:231:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3591:189;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3591:189:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;167:14:14;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;931:174:13;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;931:174:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5303:138;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5303:138:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4868:122;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4868:122:13;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;491:191:14;544:7;568:18;581:4;568:12;:18::i;:::-;563:75;;609:3;;;;;;;;;;;:12;;;622:4;609:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;609:18:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;609:18:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;609:18:14;;;;;;;;;;;;;;;;602:25;;;;563:75;655:20;670:4;655:14;:20::i;:::-;648:27;;491:191;;;;:::o;842:182::-;892:7;916:18;929:4;916:12;:18::i;:::-;911:72;;957:3;;;;;;;;;;;:9;;;967:4;957:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;957:15:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;957:15:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;957:15:14;;;;;;;;;;;;;;;;950:22;;;;911:72;1000:17;1012:4;1000:11;:17::i;:::-;993:24;;842:182;;;;:::o;2340:287:13:-;2441:7;2427:4;432:13;448:7;:13;456:4;448:13;;;;;;;;;;;:19;;;;;;;;;;;;432:35;;494:10;485:19;;:5;:19;;;:51;;;;508:9;:16;518:5;508:16;;;;;;;;;;;;;;;:28;525:10;508:28;;;;;;;;;;;;;;;;;;;;;;;;;485:51;477:60;;;;;;2460:15;2505:4;2511:5;2488:29;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2488:29:13;;;2478:40;;;;;;2460:58;;2528:25;2538:7;2547:5;2528:9;:25::i;:::-;2583:5;2577:4;2568:28;2590:5;2568:28;;;;;;;;;;;;;;;;;;;;;;2613:7;2606:14;;;2340:287;;;;;;;:::o;3119:138::-;3179:4;432:13;448:7;:13;456:4;448:13;;;;;;;;;;;:19;;;;;;;;;;;;432:35;;494:10;485:19;;:5;:19;;;:51;;;;508:9;:16;518:5;508:16;;;;;;;;;;;;;;;:28;525:10;508:28;;;;;;;;;;;;;;;;;;;;;;;;;485:51;477:60;;;;;;3207:4;3200:17;3213:3;3200:17;;;;;;;;;;;;;;;;;;;;;;3247:3;3227:7;:13;3235:4;3227:13;;;;;;;;;;;:17;;;:23;;;;;;;;;;;;;;;;;;3119:138;;;;:::o;1192:175:14:-;1240:6;1263:18;1276:4;1263:12;:18::i;:::-;1258:70;;1304:3;;;;;;;;;;;:7;;;1312:4;1304:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1304:13:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1304:13:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1304:13:14;;;;;;;;;;;;;;;;1297:20;;;;1258:70;1345:15;1355:4;1345:9;:15::i;:::-;1338:22;;1192:175;;;;:::o;2802:169:13:-;2873:4;432:13;448:7;:13;456:4;448:13;;;;;;;;;;;:19;;;;;;;;;;;;432:35;;494:10;485:19;;:5;:19;;;:51;;;;508:9;:16;518:5;508:16;;;;;;;;;;;;;;;:28;525:10;508:28;;;;;;;;;;;;;;;;;;;;;;;;;485:51;477:60;;;;;;2906:4;2894:27;2912:8;2894:27;;;;;;;;;;;;;;;;;;;;;;2956:8;2931:7;:13;2939:4;2931:13;;;;;;;;;;;:22;;;:33;;;;;;;;;;;;;;;;;;2802:169;;;;:::o;1882:146::-;1947:4;432:13;448:7;:13;456:4;448:13;;;;;;;;;;;:19;;;;;;;;;;;;432:35;;494:10;485:19;;:5;:19;;;:51;;;;508:9;:16;518:5;508:16;;;;;;;;;;;;;;;:28;525:10;508:28;;;;;;;;;;;;;;;;;;;;;;;;;485:51;477:60;;;;;;1963:22;1973:4;1979:5;1963:9;:22::i;:::-;2009:4;2000:21;2015:5;2000:21;;;;;;;;;;;;;;;;;;;;;;1882:146;;;;:::o;1412:231::-;1531:15;1549:35;1565:4;1571:5;1578;1549:15;:35::i;:::-;1531:53;;1594:42;1613:7;1622:8;1632:3;1594:18;:42::i;:::-;1412:231;;;;;;:::o;3591:189::-;3704:8;3670:9;:21;3680:10;3670:21;;;;;;;;;;;;;;;:31;3692:8;3670:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;3754:8;3727:46;;3742:10;3727:46;;;3764:8;3727:46;;;;;;;;;;;;;;;;;;;;;;3591:189;;:::o;167:14:14:-;;;;;;;;;;;;;:::o;931:174:13:-;1028:21;1037:4;1043:5;1028:8;:21::i;:::-;1059:39;1078:4;1084:8;1094:3;1059:18;:39::i;:::-;931:174;;;;:::o;5303:138::-;5385:4;5408:9;:16;5418:5;5408:16;;;;;;;;;;;;;;;:26;5425:8;5408:26;;;;;;;;;;;;;;;;;;;;;;;;;5401:33;;5303:138;;;;:::o;4868:122::-;4925:4;4979:3;4948:35;;:7;:13;4956:4;4948:13;;;;;;;;;;;:19;;;;;;;;;;;;:35;;;;4941:42;;4868:122;;;:::o;4325:108::-;4378:7;4404;:13;4412:4;4404:13;;;;;;;;;;;:22;;;;;;;;;;;;4397:29;;4325:108;;;:::o;3940:212::-;3990:7;4009:12;4024:7;:13;4032:4;4024:13;;;;;;;;;;;:19;;;;;;;;;;;;4009:34;;4073:4;4057:21;;:4;:21;;;4053:71;;;4109:3;4094:19;;;;;4053:71;4141:4;4134:11;;;3940:212;;;;:::o;1373::14:-;1440:12;1455:5;1440:20;;1490:3;1474:20;;:4;:20;;;1470:71;;;1525:4;1510:20;;1470:71;1551:27;1567:4;1573;1551:15;:27::i;:::-;1373:212;;;:::o;4601:97:13:-;4649:6;4674:7;:13;4682:4;4674:13;;;;;;;;;;;:17;;;;;;;;;;;;4667:24;;4601:97;;;:::o;5554:363::-;5660:7;:13;5668:4;5660:13;;;;;;;;;;;:22;;;;;;;;;;;;5648:34;;:8;:34;;;5645:143;;5723:8;5698:7;:13;5706:4;5698:13;;;;;;;;;;;:22;;;:33;;;;;;;;;;;;;;;;;;5762:4;5750:27;5768:8;5750:27;;;;;;;;;;;;;;;;;;;;;;5645:143;5808:7;:13;5816:4;5808:13;;;;;;;;;;;:17;;;;;;;;;;;;5801:24;;:3;:24;;;5798:113;;5861:3;5841:7;:13;5849:4;5841:13;;;;;;;;;;;:17;;;:23;;;;;;;;;;;;;;;;;;5890:4;5883:17;5896:3;5883:17;;;;;;;;;;;;;;;;;;;;;;5798:113;5554:363;;;:::o;5447:101::-;5536:5;5514:7;:13;5522:4;5514:13;;;;;;;;;;;:19;;;:27;;;;;;;;;;;;;;;;;;5447:101;;:::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"./ENS.sol\";\nimport \"./ENSRegistry.sol\";\n\n/**\n * The ENS registry contract.\n */\ncontract ENSRegistryWithFallback is ENSRegistry {\n\n ENS public old;\n\n /**\n * @dev Constructs a new ENS registrar.\n */\n constructor(ENS _old) public ENSRegistry() {\n old = _old;\n }\n\n /**\n * @dev Returns the address of the resolver for the specified node.\n * @param node The specified node.\n * @return address of the resolver.\n */\n function resolver(bytes32 node) public view returns (address) {\n if (!recordExists(node)) {\n return old.resolver(node);\n }\n\n return super.resolver(node);\n }\n\n /**\n * @dev Returns the address that owns the specified node.\n * @param node The specified node.\n * @return address of the owner.\n */\n function owner(bytes32 node) public view returns (address) {\n if (!recordExists(node)) {\n return old.owner(node);\n }\n\n return super.owner(node);\n }\n\n /**\n * @dev Returns the TTL of a node, and any records associated with it.\n * @param node The specified node.\n * @return ttl of the node.\n */\n function ttl(bytes32 node) public view returns (uint64) {\n if (!recordExists(node)) {\n return old.ttl(node);\n }\n\n return super.ttl(node);\n }\n\n function _setOwner(bytes32 node, address owner) internal {\n address addr = owner;\n if (addr == address(0x0)) {\n addr = address(this);\n }\n\n super._setOwner(node, addr);\n }\n}\n", + "sourcePath": "@ensdomains/ens/contracts/ENSRegistryWithFallback.sol", + "ast": { + "absolutePath": "@ensdomains/ens/contracts/ENSRegistryWithFallback.sol", + "exportedSymbols": { + "ENSRegistryWithFallback": [ + 3135 + ] + }, + "id": 3136, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3012, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:14" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "./ENS.sol", + "id": 3013, + "nodeType": "ImportDirective", + "scope": 3136, + "sourceUnit": 2617, + "src": "25:19:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENSRegistry.sol", + "file": "./ENSRegistry.sol", + "id": 3014, + "nodeType": "ImportDirective", + "scope": 3136, + "sourceUnit": 3011, + "src": "45:27:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3015, + "name": "ENSRegistry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3010, + "src": "148:11:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENSRegistry_$3010", + "typeString": "contract ENSRegistry" + } + }, + "id": 3016, + "nodeType": "InheritanceSpecifier", + "src": "148:11:14" + } + ], + "contractDependencies": [ + 2616, + 3010 + ], + "contractKind": "contract", + "documentation": "The ENS registry contract.", + "fullyImplemented": true, + "id": 3135, + "linearizedBaseContracts": [ + 3135, + 3010, + 2616 + ], + "name": "ENSRegistryWithFallback", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3018, + "name": "old", + "nodeType": "VariableDeclaration", + "scope": 3135, + "src": "167:14:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 3017, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "167:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 3029, + "nodeType": "Block", + "src": "291:27:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3025, + "name": "old", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "301:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3026, + "name": "_old", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3020, + "src": "307:4:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "src": "301:10:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3028, + "nodeType": "ExpressionStatement", + "src": "301:10:14" + } + ] + }, + "documentation": "@dev Constructs a new ENS registrar.", + "id": 3030, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [], + "id": 3023, + "modifierName": { + "argumentTypes": null, + "id": 3022, + "name": "ENSRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3010, + "src": "277:11:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ENSRegistry_$3010_$", + "typeString": "type(contract ENSRegistry)" + } + }, + "nodeType": "ModifierInvocation", + "src": "277:13:14" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3020, + "name": "_old", + "nodeType": "VariableDeclaration", + "scope": 3030, + "src": "260:8:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 3019, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "260:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "259:10:14" + }, + "returnParameters": { + "id": 3024, + "nodeType": "ParameterList", + "parameters": [], + "src": "291:0:14" + }, + "scope": 3135, + "src": "248:70:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3053, + "nodeType": "Block", + "src": "553:129:14", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 3040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "567:19:14", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3038, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3032, + "src": "581:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3037, + "name": "recordExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2928, + "src": "568:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "568:18:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3047, + "nodeType": "IfStatement", + "src": "563:75:14", + "trueBody": { + "id": 3046, + "nodeType": "Block", + "src": "588:50:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3043, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3032, + "src": "622:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3041, + "name": "old", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "609:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2592, + "src": "609:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "609:18:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3036, + "id": 3045, + "nodeType": "Return", + "src": "602:25:14" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3050, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3032, + "src": "670:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3048, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "655:5:14", + "typeDescriptions": { + "typeIdentifier": "t_super$_ENSRegistryWithFallback_$3135", + "typeString": "contract super ENSRegistryWithFallback" + } + }, + "id": 3049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2898, + "src": "655:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 3051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "655:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3036, + "id": 3052, + "nodeType": "Return", + "src": "648:27:14" + } + ] + }, + "documentation": "@dev Returns the address of the resolver for the specified node.\n@param node The specified node.\n@return address of the resolver.", + "id": 3054, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "resolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3033, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3032, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 3054, + "src": "509:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3031, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "509:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "508:14:14" + }, + "returnParameters": { + "id": 3036, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3035, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3054, + "src": "544:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3034, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "544:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "543:9:14" + }, + "scope": 3135, + "src": "491:191:14", + "stateMutability": "view", + "superFunction": 2898, + "visibility": "public" + }, + { + "body": { + "id": 3077, + "nodeType": "Block", + "src": "901:123:14", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 3064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "915:19:14", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3062, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3056, + "src": "929:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3061, + "name": "recordExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2928, + "src": "916:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "916:18:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3071, + "nodeType": "IfStatement", + "src": "911:72:14", + "trueBody": { + "id": 3070, + "nodeType": "Block", + "src": "936:47:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3067, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3056, + "src": "967:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3065, + "name": "old", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "957:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "957:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "957:15:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3060, + "id": 3069, + "nodeType": "Return", + "src": "950:22:14" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3074, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3056, + "src": "1012:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3072, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "1000:5:14", + "typeDescriptions": { + "typeIdentifier": "t_super$_ENSRegistryWithFallback_$3135", + "typeString": "contract super ENSRegistryWithFallback" + } + }, + "id": 3073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2885, + "src": "1000:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 3075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1000:17:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3060, + "id": 3076, + "nodeType": "Return", + "src": "993:24:14" + } + ] + }, + "documentation": "@dev Returns the address that owns the specified node.\n@param node The specified node.\n@return address of the owner.", + "id": 3078, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3056, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 3078, + "src": "857:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3055, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "857:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "856:14:14" + }, + "returnParameters": { + "id": 3060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3059, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3078, + "src": "892:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3058, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "892:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "891:9:14" + }, + "scope": 3135, + "src": "842:182:14", + "stateMutability": "view", + "superFunction": 2885, + "visibility": "public" + }, + { + "body": { + "id": 3101, + "nodeType": "Block", + "src": "1248:119:14", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 3088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1262:19:14", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3086, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3080, + "src": "1276:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3085, + "name": "recordExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2928, + "src": "1263:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1263:18:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3095, + "nodeType": "IfStatement", + "src": "1258:70:14", + "trueBody": { + "id": 3094, + "nodeType": "Block", + "src": "1283:45:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3091, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3080, + "src": "1312:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3089, + "name": "old", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "1304:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "1304:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint64_$", + "typeString": "function (bytes32) view external returns (uint64)" + } + }, + "id": 3092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1304:13:14", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 3084, + "id": 3093, + "nodeType": "Return", + "src": "1297:20:14" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3098, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3080, + "src": "1355:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3096, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "1345:5:14", + "typeDescriptions": { + "typeIdentifier": "t_super$_ENSRegistryWithFallback_$3135", + "typeString": "contract super ENSRegistryWithFallback" + } + }, + "id": 3097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2911, + "src": "1345:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint64_$", + "typeString": "function (bytes32) view returns (uint64)" + } + }, + "id": 3099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1345:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 3084, + "id": 3100, + "nodeType": "Return", + "src": "1338:22:14" + } + ] + }, + "documentation": "@dev Returns the TTL of a node, and any records associated with it.\n@param node The specified node.\n@return ttl of the node.", + "id": 3102, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ttl", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3080, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 3102, + "src": "1205:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3079, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1205:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1204:14:14" + }, + "returnParameters": { + "id": 3084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3083, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3102, + "src": "1240:6:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 3082, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1240:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1239:8:14" + }, + "scope": 3135, + "src": "1192:175:14", + "stateMutability": "view", + "superFunction": 2911, + "visibility": "public" + }, + { + "body": { + "id": 3133, + "nodeType": "Block", + "src": "1430:155:14", + "statements": [ + { + "assignments": [ + 3110 + ], + "declarations": [ + { + "constant": false, + "id": 3110, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 3133, + "src": "1440:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3109, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1440:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3112, + "initialValue": { + "argumentTypes": null, + "id": 3111, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3106, + "src": "1455:5:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1440:20:14" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3113, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3110, + "src": "1474:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1490:3:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1482:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1482:12:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1474:20:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3125, + "nodeType": "IfStatement", + "src": "1470:71:14", + "trueBody": { + "id": 3124, + "nodeType": "Block", + "src": "1496:45:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3118, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3110, + "src": "1510:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3120, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6946, + "src": "1525:4:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENSRegistryWithFallback_$3135", + "typeString": "contract ENSRegistryWithFallback" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ENSRegistryWithFallback_$3135", + "typeString": "contract ENSRegistryWithFallback" + } + ], + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1517:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1517:13:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1510:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3123, + "nodeType": "ExpressionStatement", + "src": "1510:20:14" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3129, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3104, + "src": "1567:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3130, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3110, + "src": "1573:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 3126, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "1551:5:14", + "typeDescriptions": { + "typeIdentifier": "t_super$_ENSRegistryWithFallback_$3135", + "typeString": "contract super ENSRegistryWithFallback" + } + }, + "id": 3128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2959, + "src": "1551:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1551:27:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3132, + "nodeType": "ExpressionStatement", + "src": "1551:27:14" + } + ] + }, + "documentation": null, + "id": 3134, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3104, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 3134, + "src": "1392:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3103, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1392:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3106, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 3134, + "src": "1406:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1406:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1391:29:14" + }, + "returnParameters": { + "id": 3108, + "nodeType": "ParameterList", + "parameters": [], + "src": "1430:0:14" + }, + "scope": 3135, + "src": "1373:212:14", + "stateMutability": "nonpayable", + "superFunction": 2959, + "visibility": "internal" + } + ], + "scope": 3136, + "src": "112:1475:14" + } + ], + "src": "0:1588:14" + }, + "legacyAST": { + "absolutePath": "@ensdomains/ens/contracts/ENSRegistryWithFallback.sol", + "exportedSymbols": { + "ENSRegistryWithFallback": [ + 3135 + ] + }, + "id": 3136, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3012, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:14" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "./ENS.sol", + "id": 3013, + "nodeType": "ImportDirective", + "scope": 3136, + "sourceUnit": 2617, + "src": "25:19:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENSRegistry.sol", + "file": "./ENSRegistry.sol", + "id": 3014, + "nodeType": "ImportDirective", + "scope": 3136, + "sourceUnit": 3011, + "src": "45:27:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3015, + "name": "ENSRegistry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3010, + "src": "148:11:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENSRegistry_$3010", + "typeString": "contract ENSRegistry" + } + }, + "id": 3016, + "nodeType": "InheritanceSpecifier", + "src": "148:11:14" + } + ], + "contractDependencies": [ + 2616, + 3010 + ], + "contractKind": "contract", + "documentation": "The ENS registry contract.", + "fullyImplemented": true, + "id": 3135, + "linearizedBaseContracts": [ + 3135, + 3010, + 2616 + ], + "name": "ENSRegistryWithFallback", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3018, + "name": "old", + "nodeType": "VariableDeclaration", + "scope": 3135, + "src": "167:14:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 3017, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "167:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 3029, + "nodeType": "Block", + "src": "291:27:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3025, + "name": "old", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "301:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3026, + "name": "_old", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3020, + "src": "307:4:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "src": "301:10:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3028, + "nodeType": "ExpressionStatement", + "src": "301:10:14" + } + ] + }, + "documentation": "@dev Constructs a new ENS registrar.", + "id": 3030, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [], + "id": 3023, + "modifierName": { + "argumentTypes": null, + "id": 3022, + "name": "ENSRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3010, + "src": "277:11:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ENSRegistry_$3010_$", + "typeString": "type(contract ENSRegistry)" + } + }, + "nodeType": "ModifierInvocation", + "src": "277:13:14" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3020, + "name": "_old", + "nodeType": "VariableDeclaration", + "scope": 3030, + "src": "260:8:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 3019, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "260:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "259:10:14" + }, + "returnParameters": { + "id": 3024, + "nodeType": "ParameterList", + "parameters": [], + "src": "291:0:14" + }, + "scope": 3135, + "src": "248:70:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3053, + "nodeType": "Block", + "src": "553:129:14", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 3040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "567:19:14", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3038, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3032, + "src": "581:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3037, + "name": "recordExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2928, + "src": "568:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "568:18:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3047, + "nodeType": "IfStatement", + "src": "563:75:14", + "trueBody": { + "id": 3046, + "nodeType": "Block", + "src": "588:50:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3043, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3032, + "src": "622:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3041, + "name": "old", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "609:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2592, + "src": "609:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "609:18:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3036, + "id": 3045, + "nodeType": "Return", + "src": "602:25:14" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3050, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3032, + "src": "670:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3048, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "655:5:14", + "typeDescriptions": { + "typeIdentifier": "t_super$_ENSRegistryWithFallback_$3135", + "typeString": "contract super ENSRegistryWithFallback" + } + }, + "id": 3049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2898, + "src": "655:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 3051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "655:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3036, + "id": 3052, + "nodeType": "Return", + "src": "648:27:14" + } + ] + }, + "documentation": "@dev Returns the address of the resolver for the specified node.\n@param node The specified node.\n@return address of the resolver.", + "id": 3054, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "resolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3033, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3032, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 3054, + "src": "509:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3031, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "509:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "508:14:14" + }, + "returnParameters": { + "id": 3036, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3035, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3054, + "src": "544:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3034, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "544:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "543:9:14" + }, + "scope": 3135, + "src": "491:191:14", + "stateMutability": "view", + "superFunction": 2898, + "visibility": "public" + }, + { + "body": { + "id": 3077, + "nodeType": "Block", + "src": "901:123:14", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 3064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "915:19:14", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3062, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3056, + "src": "929:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3061, + "name": "recordExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2928, + "src": "916:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "916:18:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3071, + "nodeType": "IfStatement", + "src": "911:72:14", + "trueBody": { + "id": 3070, + "nodeType": "Block", + "src": "936:47:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3067, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3056, + "src": "967:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3065, + "name": "old", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "957:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "957:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "957:15:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3060, + "id": 3069, + "nodeType": "Return", + "src": "950:22:14" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3074, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3056, + "src": "1012:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3072, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "1000:5:14", + "typeDescriptions": { + "typeIdentifier": "t_super$_ENSRegistryWithFallback_$3135", + "typeString": "contract super ENSRegistryWithFallback" + } + }, + "id": 3073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2885, + "src": "1000:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 3075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1000:17:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3060, + "id": 3076, + "nodeType": "Return", + "src": "993:24:14" + } + ] + }, + "documentation": "@dev Returns the address that owns the specified node.\n@param node The specified node.\n@return address of the owner.", + "id": 3078, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3056, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 3078, + "src": "857:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3055, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "857:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "856:14:14" + }, + "returnParameters": { + "id": 3060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3059, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3078, + "src": "892:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3058, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "892:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "891:9:14" + }, + "scope": 3135, + "src": "842:182:14", + "stateMutability": "view", + "superFunction": 2885, + "visibility": "public" + }, + { + "body": { + "id": 3101, + "nodeType": "Block", + "src": "1248:119:14", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 3088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1262:19:14", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3086, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3080, + "src": "1276:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3085, + "name": "recordExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2928, + "src": "1263:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1263:18:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3095, + "nodeType": "IfStatement", + "src": "1258:70:14", + "trueBody": { + "id": 3094, + "nodeType": "Block", + "src": "1283:45:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3091, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3080, + "src": "1312:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3089, + "name": "old", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "1304:3:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "1304:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint64_$", + "typeString": "function (bytes32) view external returns (uint64)" + } + }, + "id": 3092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1304:13:14", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 3084, + "id": 3093, + "nodeType": "Return", + "src": "1297:20:14" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3098, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3080, + "src": "1355:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3096, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "1345:5:14", + "typeDescriptions": { + "typeIdentifier": "t_super$_ENSRegistryWithFallback_$3135", + "typeString": "contract super ENSRegistryWithFallback" + } + }, + "id": 3097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ttl", + "nodeType": "MemberAccess", + "referencedDeclaration": 2911, + "src": "1345:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint64_$", + "typeString": "function (bytes32) view returns (uint64)" + } + }, + "id": 3099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1345:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 3084, + "id": 3100, + "nodeType": "Return", + "src": "1338:22:14" + } + ] + }, + "documentation": "@dev Returns the TTL of a node, and any records associated with it.\n@param node The specified node.\n@return ttl of the node.", + "id": 3102, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ttl", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3080, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 3102, + "src": "1205:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3079, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1205:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1204:14:14" + }, + "returnParameters": { + "id": 3084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3083, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3102, + "src": "1240:6:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 3082, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1240:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1239:8:14" + }, + "scope": 3135, + "src": "1192:175:14", + "stateMutability": "view", + "superFunction": 2911, + "visibility": "public" + }, + { + "body": { + "id": 3133, + "nodeType": "Block", + "src": "1430:155:14", + "statements": [ + { + "assignments": [ + 3110 + ], + "declarations": [ + { + "constant": false, + "id": 3110, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 3133, + "src": "1440:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3109, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1440:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3112, + "initialValue": { + "argumentTypes": null, + "id": 3111, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3106, + "src": "1455:5:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1440:20:14" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3113, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3110, + "src": "1474:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1490:3:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1482:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1482:12:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1474:20:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3125, + "nodeType": "IfStatement", + "src": "1470:71:14", + "trueBody": { + "id": 3124, + "nodeType": "Block", + "src": "1496:45:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3118, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3110, + "src": "1510:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3120, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6946, + "src": "1525:4:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENSRegistryWithFallback_$3135", + "typeString": "contract ENSRegistryWithFallback" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ENSRegistryWithFallback_$3135", + "typeString": "contract ENSRegistryWithFallback" + } + ], + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1517:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1517:13:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1510:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3123, + "nodeType": "ExpressionStatement", + "src": "1510:20:14" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3129, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3104, + "src": "1567:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3130, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3110, + "src": "1573:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 3126, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "1551:5:14", + "typeDescriptions": { + "typeIdentifier": "t_super$_ENSRegistryWithFallback_$3135", + "typeString": "contract super ENSRegistryWithFallback" + } + }, + "id": 3128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2959, + "src": "1551:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1551:27:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3132, + "nodeType": "ExpressionStatement", + "src": "1551:27:14" + } + ] + }, + "documentation": null, + "id": 3134, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3104, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 3134, + "src": "1392:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3103, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1392:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3106, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 3134, + "src": "1406:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1406:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1391:29:14" + }, + "returnParameters": { + "id": 3108, + "nodeType": "ParameterList", + "parameters": [], + "src": "1430:0:14" + }, + "scope": 3135, + "src": "1373:212:14", + "stateMutability": "nonpayable", + "superFunction": 2959, + "visibility": "internal" + } + ], + "scope": 3136, + "src": "112:1475:14" + } + ], + "src": "0:1588:14" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.776Z", + "devdoc": { + "methods": { + "constructor": { + "details": "Constructs a new ENS registrar." + }, + "isApprovedForAll(address,address)": { + "details": "Query if an address is an authorized operator for another address.", + "params": { + "operator": "The address that acts on behalf of the owner.", + "owner": "The address that owns the records." + }, + "return": "True if `operator` is an approved operator for `owner`, false otherwise." + }, + "owner(bytes32)": { + "details": "Returns the address that owns the specified node.", + "params": { + "node": "The specified node." + }, + "return": "address of the owner." + }, + "recordExists(bytes32)": { + "details": "Returns whether a record has been imported to the registry.", + "params": { + "node": "The specified node." + }, + "return": "Bool if record exists" + }, + "resolver(bytes32)": { + "details": "Returns the address of the resolver for the specified node.", + "params": { + "node": "The specified node." + }, + "return": "address of the resolver." + }, + "setApprovalForAll(address,bool)": { + "details": "Enable or disable approval for a third party (\"operator\") to manage all of `msg.sender`'s ENS records. Emits the ApprovalForAll event.", + "params": { + "approved": "True if the operator is approved, false to revoke approval.", + "operator": "Address to add to the set of authorized operators." + } + }, + "setOwner(bytes32,address)": { + "details": "Transfers ownership of a node to a new address. May only be called by the current owner of the node.", + "params": { + "node": "The node to transfer ownership of.", + "owner": "The address of the new owner." + } + }, + "setRecord(bytes32,address,address,uint64)": { + "details": "Sets the record for a node.", + "params": { + "node": "The node to update.", + "owner": "The address of the new owner.", + "resolver": "The address of the resolver.", + "ttl": "The TTL in seconds." + } + }, + "setResolver(bytes32,address)": { + "details": "Sets the resolver address for the specified node.", + "params": { + "node": "The node to update.", + "resolver": "The address of the resolver." + } + }, + "setSubnodeOwner(bytes32,bytes32,address)": { + "details": "Transfers ownership of a subnode keccak256(node, label) to a new address. May only be called by the owner of the parent node.", + "params": { + "label": "The hash of the label specifying the subnode.", + "node": "The parent node.", + "owner": "The address of the new owner." + } + }, + "setSubnodeRecord(bytes32,bytes32,address,address,uint64)": { + "details": "Sets the record for a subnode.", + "params": { + "label": "The hash of the label specifying the subnode.", + "node": "The parent node.", + "owner": "The address of the new owner.", + "resolver": "The address of the resolver.", + "ttl": "The TTL in seconds." + } + }, + "setTTL(bytes32,uint64)": { + "details": "Sets the TTL for the specified node.", + "params": { + "node": "The node to update.", + "ttl": "The TTL in seconds." + } + }, + "ttl(bytes32)": { + "details": "Returns the TTL of a node, and any records associated with it.", + "params": { + "node": "The specified node." + }, + "return": "ttl of the node." + } + } + }, + "userdoc": { + "methods": {}, + "notice": "The ENS registry contract." + } +} \ No newline at end of file diff --git a/contracts/ERC165.json b/contracts/ERC165.json new file mode 100644 index 0000000..55c0b23 --- /dev/null +++ b/contracts/ERC165.json @@ -0,0 +1,1290 @@ +{ + "contractName": "ERC165", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Implements ERC165 using a lookup table.\",\"methods\":{\"constructor\":{\"details\":\"A contract implementing SupportsInterfaceWithLookup implement ERC165 itself\"},\"supportsInterface(bytes4)\":{\"details\":\"implement supportsInterface(bytes4) using a lookup table\"}},\"title\":\"ERC165\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x9da23588f58d0fa67097984e151bdaa6aa69c5e192bae17b44a90b0cfc194736\",\"urls\":[\"bzz-raw://5e88c7dbb4d1e6d3f133112b9994491b8531f5d9103cf41becd1c267d2cd67af\",\"dweb:/ipfs/QmNuSmDBgv616hXRshbHx48ufdZoSrcFHpwqP4iPg2ac4X\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @title ERC165\n * @author Matt Condon (@shrugs)\n * @dev Implements ERC165 using a lookup table.\n */\ncontract ERC165 is IERC165 {\n bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;\n /**\n * 0x01ffc9a7 ===\n * bytes4(keccak256('supportsInterface(bytes4)'))\n */\n\n /**\n * @dev a mapping of interface id to whether or not it's supported\n */\n mapping(bytes4 => bool) private _supportedInterfaces;\n\n /**\n * @dev A contract implementing SupportsInterfaceWithLookup\n * implement ERC165 itself\n */\n constructor () internal {\n _registerInterface(_INTERFACE_ID_ERC165);\n }\n\n /**\n * @dev implement supportsInterface(bytes4) using a lookup table\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool) {\n return _supportedInterfaces[interfaceId];\n }\n\n /**\n * @dev internal method for registering an interface\n */\n function _registerInterface(bytes4 interfaceId) internal {\n require(interfaceId != 0xffffffff);\n _supportedInterfaces[interfaceId] = true;\n }\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/introspection/ERC165.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/introspection/ERC165.sol", + "exportedSymbols": { + "ERC165": [ + 5951 + ] + }, + "id": 5952, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5902, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:20" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol", + "file": "./IERC165.sol", + "id": 5903, + "nodeType": "ImportDirective", + "scope": 5952, + "sourceUnit": 5962, + "src": "25:23:20", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5904, + "name": "IERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5961, + "src": "175:7:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC165_$5961", + "typeString": "contract IERC165" + } + }, + "id": 5905, + "nodeType": "InheritanceSpecifier", + "src": "175:7:20" + } + ], + "contractDependencies": [ + 5961 + ], + "contractKind": "contract", + "documentation": "@title ERC165\n@author Matt Condon (@shrugs)\n@dev Implements ERC165 using a lookup table.", + "fullyImplemented": true, + "id": 5951, + "linearizedBaseContracts": [ + 5951, + 5961 + ], + "name": "ERC165", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 5908, + "name": "_INTERFACE_ID_ERC165", + "nodeType": "VariableDeclaration", + "scope": 5951, + "src": "189:57:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5906, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "189:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783031666663396137", + "id": 5907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "236:10:20", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33540519_by_1", + "typeString": "int_const 33540519" + }, + "value": "0x01ffc9a7" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5912, + "name": "_supportedInterfaces", + "nodeType": "VariableDeclaration", + "scope": 5951, + "src": "436:52:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + }, + "typeName": { + "id": 5911, + "keyType": { + "id": 5909, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "444:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "Mapping", + "src": "436:23:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + }, + "valueType": { + "id": 5910, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "454:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "id": 5919, + "nodeType": "Block", + "src": "630:57:20", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5916, + "name": "_INTERFACE_ID_ERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5908, + "src": "659:20:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 5915, + "name": "_registerInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5950, + "src": "640:18:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4)" + } + }, + "id": 5917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "640:40:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5918, + "nodeType": "ExpressionStatement", + "src": "640:40:20" + } + ] + }, + "documentation": "@dev A contract implementing SupportsInterfaceWithLookup\nimplement ERC165 itself", + "id": 5920, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5913, + "nodeType": "ParameterList", + "parameters": [], + "src": "618:2:20" + }, + "returnParameters": { + "id": 5914, + "nodeType": "ParameterList", + "parameters": [], + "src": "630:0:20" + }, + "scope": 5951, + "src": "606:81:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5931, + "nodeType": "Block", + "src": "854:57:20", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5927, + "name": "_supportedInterfaces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5912, + "src": "871:20:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + } + }, + "id": 5929, + "indexExpression": { + "argumentTypes": null, + "id": 5928, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5922, + "src": "892:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "871:33:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5926, + "id": 5930, + "nodeType": "Return", + "src": "864:40:20" + } + ] + }, + "documentation": "@dev implement supportsInterface(bytes4) using a lookup table", + "id": 5932, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5922, + "name": "interfaceId", + "nodeType": "VariableDeclaration", + "scope": 5932, + "src": "805:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5921, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "805:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "804:20:20" + }, + "returnParameters": { + "id": 5926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5925, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5932, + "src": "848:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5924, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "848:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "847:6:20" + }, + "scope": 5951, + "src": "778:133:20", + "stateMutability": "view", + "superFunction": 5960, + "visibility": "external" + }, + { + "body": { + "id": 5949, + "nodeType": "Block", + "src": "1047:101:20", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5938, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "1065:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30786666666666666666", + "id": 5939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1080:10:20", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967295_by_1", + "typeString": "int_const 4294967295" + }, + "value": "0xffffffff" + }, + "src": "1065:25:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5937, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1057:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1057:34:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5942, + "nodeType": "ExpressionStatement", + "src": "1057:34:20" + }, + { + "expression": { + "argumentTypes": null, + "id": 5947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5943, + "name": "_supportedInterfaces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5912, + "src": "1101:20:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + } + }, + "id": 5945, + "indexExpression": { + "argumentTypes": null, + "id": 5944, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "1122:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1101:33:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1137:4:20", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1101:40:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5948, + "nodeType": "ExpressionStatement", + "src": "1101:40:20" + } + ] + }, + "documentation": "@dev internal method for registering an interface", + "id": 5950, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_registerInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5935, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5934, + "name": "interfaceId", + "nodeType": "VariableDeclaration", + "scope": 5950, + "src": "1018:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5933, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1018:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1017:20:20" + }, + "returnParameters": { + "id": 5936, + "nodeType": "ParameterList", + "parameters": [], + "src": "1047:0:20" + }, + "scope": 5951, + "src": "990:158:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 5952, + "src": "156:994:20" + } + ], + "src": "0:1151:20" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/introspection/ERC165.sol", + "exportedSymbols": { + "ERC165": [ + 5951 + ] + }, + "id": 5952, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5902, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:20" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol", + "file": "./IERC165.sol", + "id": 5903, + "nodeType": "ImportDirective", + "scope": 5952, + "sourceUnit": 5962, + "src": "25:23:20", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5904, + "name": "IERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5961, + "src": "175:7:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC165_$5961", + "typeString": "contract IERC165" + } + }, + "id": 5905, + "nodeType": "InheritanceSpecifier", + "src": "175:7:20" + } + ], + "contractDependencies": [ + 5961 + ], + "contractKind": "contract", + "documentation": "@title ERC165\n@author Matt Condon (@shrugs)\n@dev Implements ERC165 using a lookup table.", + "fullyImplemented": true, + "id": 5951, + "linearizedBaseContracts": [ + 5951, + 5961 + ], + "name": "ERC165", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 5908, + "name": "_INTERFACE_ID_ERC165", + "nodeType": "VariableDeclaration", + "scope": 5951, + "src": "189:57:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5906, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "189:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783031666663396137", + "id": 5907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "236:10:20", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33540519_by_1", + "typeString": "int_const 33540519" + }, + "value": "0x01ffc9a7" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5912, + "name": "_supportedInterfaces", + "nodeType": "VariableDeclaration", + "scope": 5951, + "src": "436:52:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + }, + "typeName": { + "id": 5911, + "keyType": { + "id": 5909, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "444:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "Mapping", + "src": "436:23:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + }, + "valueType": { + "id": 5910, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "454:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "id": 5919, + "nodeType": "Block", + "src": "630:57:20", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5916, + "name": "_INTERFACE_ID_ERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5908, + "src": "659:20:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 5915, + "name": "_registerInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5950, + "src": "640:18:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4)" + } + }, + "id": 5917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "640:40:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5918, + "nodeType": "ExpressionStatement", + "src": "640:40:20" + } + ] + }, + "documentation": "@dev A contract implementing SupportsInterfaceWithLookup\nimplement ERC165 itself", + "id": 5920, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5913, + "nodeType": "ParameterList", + "parameters": [], + "src": "618:2:20" + }, + "returnParameters": { + "id": 5914, + "nodeType": "ParameterList", + "parameters": [], + "src": "630:0:20" + }, + "scope": 5951, + "src": "606:81:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5931, + "nodeType": "Block", + "src": "854:57:20", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5927, + "name": "_supportedInterfaces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5912, + "src": "871:20:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + } + }, + "id": 5929, + "indexExpression": { + "argumentTypes": null, + "id": 5928, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5922, + "src": "892:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "871:33:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5926, + "id": 5930, + "nodeType": "Return", + "src": "864:40:20" + } + ] + }, + "documentation": "@dev implement supportsInterface(bytes4) using a lookup table", + "id": 5932, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5922, + "name": "interfaceId", + "nodeType": "VariableDeclaration", + "scope": 5932, + "src": "805:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5921, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "805:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "804:20:20" + }, + "returnParameters": { + "id": 5926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5925, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5932, + "src": "848:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5924, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "848:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "847:6:20" + }, + "scope": 5951, + "src": "778:133:20", + "stateMutability": "view", + "superFunction": 5960, + "visibility": "external" + }, + { + "body": { + "id": 5949, + "nodeType": "Block", + "src": "1047:101:20", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5938, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "1065:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30786666666666666666", + "id": 5939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1080:10:20", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967295_by_1", + "typeString": "int_const 4294967295" + }, + "value": "0xffffffff" + }, + "src": "1065:25:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5937, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1057:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1057:34:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5942, + "nodeType": "ExpressionStatement", + "src": "1057:34:20" + }, + { + "expression": { + "argumentTypes": null, + "id": 5947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5943, + "name": "_supportedInterfaces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5912, + "src": "1101:20:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + } + }, + "id": 5945, + "indexExpression": { + "argumentTypes": null, + "id": 5944, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5934, + "src": "1122:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1101:33:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1137:4:20", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1101:40:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5948, + "nodeType": "ExpressionStatement", + "src": "1101:40:20" + } + ] + }, + "documentation": "@dev internal method for registering an interface", + "id": 5950, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_registerInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5935, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5934, + "name": "interfaceId", + "nodeType": "VariableDeclaration", + "scope": 5950, + "src": "1018:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5933, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1018:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1017:20:20" + }, + "returnParameters": { + "id": 5936, + "nodeType": "ParameterList", + "parameters": [], + "src": "1047:0:20" + }, + "scope": 5951, + "src": "990:158:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 5952, + "src": "156:994:20" + } + ], + "src": "0:1151:20" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.811Z", + "devdoc": { + "author": "Matt Condon (@shrugs)", + "details": "Implements ERC165 using a lookup table.", + "methods": { + "constructor": { + "details": "A contract implementing SupportsInterfaceWithLookup implement ERC165 itself" + }, + "supportsInterface(bytes4)": { + "details": "implement supportsInterface(bytes4) using a lookup table" + } + }, + "title": "ERC165" + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/ERC721.json b/contracts/ERC721.json new file mode 100644 index 0000000..900c6ca --- /dev/null +++ b/contracts/ERC721.json @@ -0,0 +1,15478 @@ +{ + "contractName": "ERC721", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Approves another address to transfer the given token ID The zero address indicates there is no approved address. There can only be one approved address per token at a given time. Can only be called by the token owner or an approved operator.\",\"params\":{\"to\":\"address to be approved for the given token ID\",\"tokenId\":\"uint256 ID of the token to be approved\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address\",\"params\":{\"owner\":\"address to query the balance of\"},\"return\":\"uint256 representing the amount owned by the passed address\"},\"getApproved(uint256)\":{\"details\":\"Gets the approved address for a token ID, or zero if no address set Reverts if the token ID does not exist.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query the approval of\"},\"return\":\"address currently approved for the given token ID\"},\"isApprovedForAll(address,address)\":{\"details\":\"Tells whether an operator is approved by a given owner\",\"params\":{\"operator\":\"operator address which you want to query the approval of\",\"owner\":\"owner address which you want to query the approval of\"},\"return\":\"bool whether the given operator is approved by the given owner\"},\"ownerOf(uint256)\":{\"details\":\"Gets the owner of the specified token ID\",\"params\":{\"tokenId\":\"uint256 ID of the token to query the owner of\"},\"return\":\"owner address currently marked as the owner of the given token ID\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`; otherwise, the transfer is reverted. * Requires the msg sender to be the owner, approved, or operator\",\"params\":{\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`; otherwise, the transfer is reverted. Requires the msg sender to be the owner, approved, or operator\",\"params\":{\"_data\":\"bytes data to send along with a safe transfer check\",\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf\",\"params\":{\"approved\":\"representing the status of the approval to be set\",\"to\":\"operator address to set the approval\"}},\"supportsInterface(bytes4)\":{\"details\":\"implement supportsInterface(bytes4) using a lookup table\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers the ownership of a given token ID to another address Usage of this method is discouraged, use `safeTransferFrom` whenever possible Requires the msg sender to be the owner, approved, or operator\",\"params\":{\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}}},\"title\":\"ERC721 Non-Fungible Token Standard basic implementation\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x9da23588f58d0fa67097984e151bdaa6aa69c5e192bae17b44a90b0cfc194736\",\"urls\":[\"bzz-raw://5e88c7dbb4d1e6d3f133112b9994491b8531f5d9103cf41becd1c267d2cd67af\",\"dweb:/ipfs/QmNuSmDBgv616hXRshbHx48ufdZoSrcFHpwqP4iPg2ac4X\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzz-raw://1eb493553b27efd46c231a836a83ce50d215639feb97b4aac9f301d0fd034ff5\",\"dweb:/ipfs/QmbMdvSXcqGKxeeYvzF3VrWpoHQyVzMXBhzhAokF2Gdymv\"]},\"openzeppelin-solidity/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x0546fa662082b36ac9cbd418c0722a3c52718b9dc3fe3e284081d73f48036228\",\"urls\":[\"bzz-raw://a50dd4c1c7afa4ade53ee47bc782eaad72a45091ed9756081616b33eb6c150c4\",\"dweb:/ipfs/Qmb88e4EnSbJv2BbayFg6wZpFMJ9aPF7r4cwMjnZkUu4VK\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x1f059ee943273719130df645fa38069b792988e8b732585528d5b1265f5aa046\",\"urls\":[\"bzz-raw://31e4d99091a83a42a6ea14d74ceae2ec3ffb2905c7ee07358875af72ea188333\",\"dweb:/ipfs/Qmf7nHc6BwhbyawapCVRZHzhBHNoA8ftpQWmGSyToVKVzN\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x5e7281dbd14cf07af0974ce830c6242062cd430b70658878d49b5f5c1e2ec0aa\",\"urls\":[\"bzz-raw://3c9374b456bf5fde2c473331ff75bed9c6be3634948ba6a6507e4c19c2abf605\",\"dweb:/ipfs/QmUm5NKd1ToSr8MHVVanQv3XEkQpmYKw2441KXYyXPE6np\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0x5c731061b804fa256fc8c05150eafe5d20b6bb94541a8f187912bf84f7033f34\",\"urls\":[\"bzz-raw://a3c2d9f046beebab7fb41b1b124a6a124a36f510f7c67365861402ac831bdc71\",\"dweb:/ipfs/QmUtASRgitregbKH83anopLtF9vFQe3BKeAjhUa6F7t9YV\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506100276301ffc9a760e01b61004260201b60201c565b61003d6380ac58cd60e01b61004260201b60201c565b6100e1565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561007557600080fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6110f9806100f06000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636352211e116100665780636352211e146102a057806370a082311461030e578063a22cb46514610366578063b88d4fde146103b6578063e985e9c5146104bb5761009e565b806301ffc9a7146100a3578063081812fc14610108578063095ea7b31461017657806323b872dd146101c457806342842e0e14610232575b600080fd5b6100ee600480360360208110156100b957600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610537565b604051808215151515815260200191505060405180910390f35b6101346004803603602081101561011e57600080fd5b810190808035906020019092919050505061059e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101c26004803603604081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ed565b005b610230600480360360608110156101da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061072e565b005b61029e6004803603606081101561024857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610751565b005b6102cc600480360360208110156102b657600080fd5b8101908080359060200190929190505050610771565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103506004803603602081101561032457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ed565b6040518082815260200191505060405180910390f35b6103b46004803603604081101561037c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061086f565b005b6104b9600480360360808110156103cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561043357600080fd5b82018360208201111561044557600080fd5b8035906020019184600183028401116401000000008311171561046757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506109a9565b005b61051d600480360360408110156104d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109cf565b604051808215151515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60006105a982610a63565b6105b257600080fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105f882610771565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561063357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610673575061067281336109cf565b5b61067c57600080fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6107383382610ad5565b61074157600080fd5b61074c838383610b6a565b505050565b61076c838383604051806020016040528060008152506109a9565b505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107e457600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561082857600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108a857600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6109b484848461072e565b6109c084848484610dcb565b6109c957600080fd5b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600080610ae183610771565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b5057508373ffffffffffffffffffffffffffffffffffffffff16610b388461059e565b73ffffffffffffffffffffffffffffffffffffffff16145b80610b615750610b6081856109cf565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610b8a82610771565b73ffffffffffffffffffffffffffffffffffffffff1614610baa57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610be457600080fd5b610bed81610fb4565b610c406001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461107290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cd66001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109290919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000610dec8473ffffffffffffffffffffffffffffffffffffffff166110b1565b610df95760019050610fac565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ed4578082015181840152602081019050610eb9565b50505050905090810190601f168015610f015780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610f2357600080fd5b505af1158015610f37573d6000803e3d6000fd5b505050506040513d6020811015610f4d57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461106f5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008282111561108157600080fd5b600082840390508091505092915050565b6000808284019050838110156110a757600080fd5b8091505092915050565b600080823b90506000811191505091905056fea265627a7a7231582090a0666d54144fd11e05b37638497a1138278c972366c91e88d890eef654b04364736f6c63430005100032", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80636352211e116100665780636352211e146102a057806370a082311461030e578063a22cb46514610366578063b88d4fde146103b6578063e985e9c5146104bb5761009e565b806301ffc9a7146100a3578063081812fc14610108578063095ea7b31461017657806323b872dd146101c457806342842e0e14610232575b600080fd5b6100ee600480360360208110156100b957600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610537565b604051808215151515815260200191505060405180910390f35b6101346004803603602081101561011e57600080fd5b810190808035906020019092919050505061059e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101c26004803603604081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ed565b005b610230600480360360608110156101da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061072e565b005b61029e6004803603606081101561024857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610751565b005b6102cc600480360360208110156102b657600080fd5b8101908080359060200190929190505050610771565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103506004803603602081101561032457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ed565b6040518082815260200191505060405180910390f35b6103b46004803603604081101561037c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061086f565b005b6104b9600480360360808110156103cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561043357600080fd5b82018360208201111561044557600080fd5b8035906020019184600183028401116401000000008311171561046757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506109a9565b005b61051d600480360360408110156104d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109cf565b604051808215151515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60006105a982610a63565b6105b257600080fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105f882610771565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561063357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610673575061067281336109cf565b5b61067c57600080fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6107383382610ad5565b61074157600080fd5b61074c838383610b6a565b505050565b61076c838383604051806020016040528060008152506109a9565b505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107e457600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561082857600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108a857600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6109b484848461072e565b6109c084848484610dcb565b6109c957600080fd5b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600080610ae183610771565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b5057508373ffffffffffffffffffffffffffffffffffffffff16610b388461059e565b73ffffffffffffffffffffffffffffffffffffffff16145b80610b615750610b6081856109cf565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610b8a82610771565b73ffffffffffffffffffffffffffffffffffffffff1614610baa57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610be457600080fd5b610bed81610fb4565b610c406001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461107290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cd66001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461109290919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000610dec8473ffffffffffffffffffffffffffffffffffffffff166110b1565b610df95760019050610fac565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ed4578082015181840152602081019050610eb9565b50505050905090810190601f168015610f015780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610f2357600080fd5b505af1158015610f37573d6000803e3d6000fd5b505050506040513d6020811015610f4d57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461106f5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008282111561108157600080fd5b600082840390508091505092915050565b6000808284019050838110156110a757600080fd5b8091505092915050565b600080823b90506000811191505091905056fea265627a7a7231582090a0666d54144fd11e05b37638497a1138278c972366c91e88d890eef654b04364736f6c63430005100032", + "sourceMap": "338:11087:24:-;;;1797:156;8:9:-1;5:2;;;30:1;27;20:12;5:2;1797:156:24;640:40:20;236:10;659:20;;640:18;;;:40;;:::i;:::-;1906::24;1163:10;1925:20;;1906:18;;;:40;;:::i;:::-;338:11087;;990:158:20;1080:10;1065:25;;:11;:25;;;;;1057:34;;;;;;1137:4;1101:20;:33;1122:11;1101:33;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;990:158;:::o;338:11087:24:-;;;;;;;", + "deployedSourceMap": "338:11087:24:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;338:11087:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;778:133:20;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;778:133:20;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3705:151:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3705:151:24;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3128:292;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3128:292:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5260:180;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5260:180:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6079:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6079:132:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2530:177;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2530:177:24;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2156:150;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2156:150:24;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4148:213;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4148:213:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6916:211;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6916:211:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6916:211:24;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6916:211:24;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6916:211:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6916:211:24;;;;;;;;;;;;;;;:::i;:::-;;4682:145;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4682:145:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;778:133:20;848:4;871:20;:33;892:11;871:33;;;;;;;;;;;;;;;;;;;;;;;;;;;864:40;;778:133;;;:::o;3705:151:24:-;3764:7;3791:16;3799:7;3791;:16::i;:::-;3783:25;;;;;;3825:15;:24;3841:7;3825:24;;;;;;;;;;;;;;;;;;;;;3818:31;;3705:151;;;:::o;3128:292::-;3191:13;3207:16;3215:7;3207;:16::i;:::-;3191:32;;3247:5;3241:11;;:2;:11;;;;3233:20;;;;;;3285:5;3271:19;;:10;:19;;;:58;;;;3294:35;3311:5;3318:10;3294:16;:35::i;:::-;3271:58;3263:67;;;;;;3368:2;3341:15;:24;3357:7;3341:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3405:7;3401:2;3385:28;;3394:5;3385:28;;;;;;;;;;;;3128:292;;;:::o;5260:180::-;5350:39;5369:10;5381:7;5350:18;:39::i;:::-;5342:48;;;;;;5401:32;5415:4;5421:2;5425:7;5401:13;:32::i;:::-;5260:180;;;:::o;6079:132::-;6165:39;6182:4;6188:2;6192:7;6165:39;;;;;;;;;;;;:16;:39::i;:::-;6079:132;;;:::o;2530:177::-;2585:7;2604:13;2620:11;:20;2632:7;2620:20;;;;;;;;;;;;;;;;;;;;;2604:36;;2675:1;2658:19;;:5;:19;;;;2650:28;;;;;;2695:5;2688:12;;;2530:177;;;:::o;2156:150::-;2211:7;2255:1;2238:19;;:5;:19;;;;2230:28;;;;;;2275:17;:24;2293:5;2275:24;;;;;;;;;;;;;;;;2268:31;;2156:150;;;:::o;4148:213::-;4233:10;4227:16;;:2;:16;;;;4219:25;;;;;;4291:8;4254:18;:30;4273:10;4254:30;;;;;;;;;;;;;;;:34;4285:2;4254:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;4341:2;4314:40;;4329:10;4314:40;;;4345:8;4314:40;;;;;;;;;;;;;;;;;;;;;;4148:213;;:::o;6916:211::-;7022:31;7035:4;7041:2;7045:7;7022:12;:31::i;:::-;7071:48;7094:4;7100:2;7104:7;7113:5;7071:22;:48::i;:::-;7063:57;;;;;;6916:211;;;;:::o;4682:145::-;4762:4;4785:18;:25;4804:5;4785:25;;;;;;;;;;;;;;;:35;4811:8;4785:35;;;;;;;;;;;;;;;;;;;;;;;;;4778:42;;4682:145;;;;:::o;7316:152::-;7373:4;7389:13;7405:11;:20;7417:7;7405:20;;;;;;;;;;;;;;;;;;;;;7389:36;;7459:1;7442:19;;:5;:19;;;;7435:26;;;7316:152;;;:::o;7831:246::-;7916:4;7932:13;7948:16;7956:7;7948;:16::i;:::-;7932:32;;7993:5;7982:16;;:7;:16;;;:51;;;;8026:7;8002:31;;:20;8014:7;8002:11;:20::i;:::-;:31;;;7982:51;:87;;;;8037:32;8054:5;8061:7;8037:16;:32::i;:::-;7982:87;7974:96;;;7831:246;;;;:::o;9819:402::-;9932:4;9912:24;;:16;9920:7;9912;:16::i;:::-;:24;;;9904:33;;;;;;9969:1;9955:16;;:2;:16;;;;9947:25;;;;;;9983:23;9998:7;9983:14;:23::i;:::-;10043:30;10071:1;10043:17;:23;10061:4;10043:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;10017:17;:23;10035:4;10017:23;;;;;;;;;;;;;;;:56;;;;10107:28;10133:1;10107:17;:21;10125:2;10107:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;10083:17;:21;10101:2;10083:21;;;;;;;;;;;;;;;:52;;;;10169:2;10146:11;:20;10158:7;10146:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;10206:7;10202:2;10187:27;;10196:4;10187:27;;;;;;;;;;;;9819:402;;;:::o;10744:347::-;10865:4;10890:15;:2;:13;;;:15::i;:::-;10885:58;;10928:4;10921:11;;;;10885:58;10953:13;10985:2;10969:36;;;11006:10;11018:4;11024:7;11033:5;10969:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10969:70:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10969:70:24;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10969:70:24;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10969:70:24;;;;;;;;;;;;;;;;10953:86;;658:10;11067:16;;11057:26;;;:6;:26;;;;11049:35;;;10744:347;;;;;;;:::o;11252:171::-;11351:1;11315:38;;:15;:24;11331:7;11315:24;;;;;;;;;;;;;;;;;;;;;:38;;;11311:106;;11404:1;11369:15;:24;11385:7;11369:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;11311:106;11252:171;:::o;1205:145:22:-;1263:7;1295:1;1290;:6;;1282:15;;;;;;1307:9;1323:1;1319;:5;1307:17;;1342:1;1335:8;;;1205:145;;;;:::o;1431:::-;1489:7;1508:9;1524:1;1520;:5;1508:17;;1548:1;1543;:6;;1535:15;;;;;;1568:1;1561:8;;;1431:145;;;;:::o;463:616:27:-;523:4;539:12;1038:7;1026:20;1018:28;;1071:1;1064:4;:8;1057:15;;;463:616;;;:::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"./IERC721.sol\";\nimport \"./IERC721Receiver.sol\";\nimport \"../../math/SafeMath.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../introspection/ERC165.sol\";\n\n/**\n * @title ERC721 Non-Fungible Token Standard basic implementation\n * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721 is ERC165, IERC721 {\n using SafeMath for uint256;\n using Address for address;\n\n // Equals to `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\n // which can be also obtained as `IERC721Receiver(0).onERC721Received.selector`\n bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;\n\n // Mapping from token ID to owner\n mapping (uint256 => address) private _tokenOwner;\n\n // Mapping from token ID to approved address\n mapping (uint256 => address) private _tokenApprovals;\n\n // Mapping from owner to number of owned token\n mapping (address => uint256) private _ownedTokensCount;\n\n // Mapping from owner to operator approvals\n mapping (address => mapping (address => bool)) private _operatorApprovals;\n\n bytes4 private constant _INTERFACE_ID_ERC721 = 0x80ac58cd;\n /*\n * 0x80ac58cd ===\n * bytes4(keccak256('balanceOf(address)')) ^\n * bytes4(keccak256('ownerOf(uint256)')) ^\n * bytes4(keccak256('approve(address,uint256)')) ^\n * bytes4(keccak256('getApproved(uint256)')) ^\n * bytes4(keccak256('setApprovalForAll(address,bool)')) ^\n * bytes4(keccak256('isApprovedForAll(address,address)')) ^\n * bytes4(keccak256('transferFrom(address,address,uint256)')) ^\n * bytes4(keccak256('safeTransferFrom(address,address,uint256)')) ^\n * bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)'))\n */\n\n constructor () public {\n // register the supported interfaces to conform to ERC721 via ERC165\n _registerInterface(_INTERFACE_ID_ERC721);\n }\n\n /**\n * @dev Gets the balance of the specified address\n * @param owner address to query the balance of\n * @return uint256 representing the amount owned by the passed address\n */\n function balanceOf(address owner) public view returns (uint256) {\n require(owner != address(0));\n return _ownedTokensCount[owner];\n }\n\n /**\n * @dev Gets the owner of the specified token ID\n * @param tokenId uint256 ID of the token to query the owner of\n * @return owner address currently marked as the owner of the given token ID\n */\n function ownerOf(uint256 tokenId) public view returns (address) {\n address owner = _tokenOwner[tokenId];\n require(owner != address(0));\n return owner;\n }\n\n /**\n * @dev Approves another address to transfer the given token ID\n * The zero address indicates there is no approved address.\n * There can only be one approved address per token at a given time.\n * Can only be called by the token owner or an approved operator.\n * @param to address to be approved for the given token ID\n * @param tokenId uint256 ID of the token to be approved\n */\n function approve(address to, uint256 tokenId) public {\n address owner = ownerOf(tokenId);\n require(to != owner);\n require(msg.sender == owner || isApprovedForAll(owner, msg.sender));\n\n _tokenApprovals[tokenId] = to;\n emit Approval(owner, to, tokenId);\n }\n\n /**\n * @dev Gets the approved address for a token ID, or zero if no address set\n * Reverts if the token ID does not exist.\n * @param tokenId uint256 ID of the token to query the approval of\n * @return address currently approved for the given token ID\n */\n function getApproved(uint256 tokenId) public view returns (address) {\n require(_exists(tokenId));\n return _tokenApprovals[tokenId];\n }\n\n /**\n * @dev Sets or unsets the approval of a given operator\n * An operator is allowed to transfer all tokens of the sender on their behalf\n * @param to operator address to set the approval\n * @param approved representing the status of the approval to be set\n */\n function setApprovalForAll(address to, bool approved) public {\n require(to != msg.sender);\n _operatorApprovals[msg.sender][to] = approved;\n emit ApprovalForAll(msg.sender, to, approved);\n }\n\n /**\n * @dev Tells whether an operator is approved by a given owner\n * @param owner owner address which you want to query the approval of\n * @param operator operator address which you want to query the approval of\n * @return bool whether the given operator is approved by the given owner\n */\n function isApprovedForAll(address owner, address operator) public view returns (bool) {\n return _operatorApprovals[owner][operator];\n }\n\n /**\n * @dev Transfers the ownership of a given token ID to another address\n * Usage of this method is discouraged, use `safeTransferFrom` whenever possible\n * Requires the msg sender to be the owner, approved, or operator\n * @param from current owner of the token\n * @param to address to receive the ownership of the given token ID\n * @param tokenId uint256 ID of the token to be transferred\n */\n function transferFrom(address from, address to, uint256 tokenId) public {\n require(_isApprovedOrOwner(msg.sender, tokenId));\n\n _transferFrom(from, to, tokenId);\n }\n\n /**\n * @dev Safely transfers the ownership of a given token ID to another address\n * If the target address is a contract, it must implement `onERC721Received`,\n * which is called upon a safe transfer, and return the magic value\n * `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\n * the transfer is reverted.\n *\n * Requires the msg sender to be the owner, approved, or operator\n * @param from current owner of the token\n * @param to address to receive the ownership of the given token ID\n * @param tokenId uint256 ID of the token to be transferred\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) public {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev Safely transfers the ownership of a given token ID to another address\n * If the target address is a contract, it must implement `onERC721Received`,\n * which is called upon a safe transfer, and return the magic value\n * `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\n * the transfer is reverted.\n * Requires the msg sender to be the owner, approved, or operator\n * @param from current owner of the token\n * @param to address to receive the ownership of the given token ID\n * @param tokenId uint256 ID of the token to be transferred\n * @param _data bytes data to send along with a safe transfer check\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) public {\n transferFrom(from, to, tokenId);\n require(_checkOnERC721Received(from, to, tokenId, _data));\n }\n\n /**\n * @dev Returns whether the specified token exists\n * @param tokenId uint256 ID of the token to query the existence of\n * @return whether the token exists\n */\n function _exists(uint256 tokenId) internal view returns (bool) {\n address owner = _tokenOwner[tokenId];\n return owner != address(0);\n }\n\n /**\n * @dev Returns whether the given spender can transfer a given token ID\n * @param spender address of the spender to query\n * @param tokenId uint256 ID of the token to be transferred\n * @return bool whether the msg.sender is approved for the given token ID,\n * is an operator of the owner, or is the owner of the token\n */\n function _isApprovedOrOwner(address spender, uint256 tokenId) internal view returns (bool) {\n address owner = ownerOf(tokenId);\n return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender));\n }\n\n /**\n * @dev Internal function to mint a new token\n * Reverts if the given token ID already exists\n * @param to The address that will own the minted token\n * @param tokenId uint256 ID of the token to be minted\n */\n function _mint(address to, uint256 tokenId) internal {\n require(to != address(0));\n require(!_exists(tokenId));\n\n _tokenOwner[tokenId] = to;\n _ownedTokensCount[to] = _ownedTokensCount[to].add(1);\n\n emit Transfer(address(0), to, tokenId);\n }\n\n /**\n * @dev Internal function to burn a specific token\n * Reverts if the token does not exist\n * Deprecated, use _burn(uint256) instead.\n * @param owner owner of the token to burn\n * @param tokenId uint256 ID of the token being burned\n */\n function _burn(address owner, uint256 tokenId) internal {\n require(ownerOf(tokenId) == owner);\n\n _clearApproval(tokenId);\n\n _ownedTokensCount[owner] = _ownedTokensCount[owner].sub(1);\n _tokenOwner[tokenId] = address(0);\n\n emit Transfer(owner, address(0), tokenId);\n }\n\n /**\n * @dev Internal function to burn a specific token\n * Reverts if the token does not exist\n * @param tokenId uint256 ID of the token being burned\n */\n function _burn(uint256 tokenId) internal {\n _burn(ownerOf(tokenId), tokenId);\n }\n\n /**\n * @dev Internal function to transfer ownership of a given token ID to another address.\n * As opposed to transferFrom, this imposes no restrictions on msg.sender.\n * @param from current owner of the token\n * @param to address to receive the ownership of the given token ID\n * @param tokenId uint256 ID of the token to be transferred\n */\n function _transferFrom(address from, address to, uint256 tokenId) internal {\n require(ownerOf(tokenId) == from);\n require(to != address(0));\n\n _clearApproval(tokenId);\n\n _ownedTokensCount[from] = _ownedTokensCount[from].sub(1);\n _ownedTokensCount[to] = _ownedTokensCount[to].add(1);\n\n _tokenOwner[tokenId] = to;\n\n emit Transfer(from, to, tokenId);\n }\n\n /**\n * @dev Internal function to invoke `onERC721Received` on a target address\n * The call is not executed if the target address is not a contract\n * @param from address representing the previous owner of the given token ID\n * @param to target address that will receive the tokens\n * @param tokenId uint256 ID of the token to be transferred\n * @param _data bytes optional data to send along with the call\n * @return whether the call correctly returned the expected magic value\n */\n function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data)\n internal returns (bool)\n {\n if (!to.isContract()) {\n return true;\n }\n\n bytes4 retval = IERC721Receiver(to).onERC721Received(msg.sender, from, tokenId, _data);\n return (retval == _ERC721_RECEIVED);\n }\n\n /**\n * @dev Private function to clear current approval of a given token ID\n * @param tokenId uint256 ID of the token to be transferred\n */\n function _clearApproval(uint256 tokenId) private {\n if (_tokenApprovals[tokenId] != address(0)) {\n _tokenApprovals[tokenId] = address(0);\n }\n }\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "exportedSymbols": { + "ERC721": [ + 6757 + ] + }, + "id": 6758, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6200, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:24" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol", + "file": "./IERC721.sol", + "id": 6201, + "nodeType": "ImportDirective", + "scope": 6758, + "sourceUnit": 6861, + "src": "25:23:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol", + "file": "./IERC721Receiver.sol", + "id": 6202, + "nodeType": "ImportDirective", + "scope": 6758, + "sourceUnit": 6877, + "src": "49:31:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "file": "../../math/SafeMath.sol", + "id": 6203, + "nodeType": "ImportDirective", + "scope": 6758, + "sourceUnit": 6090, + "src": "81:33:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/utils/Address.sol", + "file": "../../utils/Address.sol", + "id": 6204, + "nodeType": "ImportDirective", + "scope": 6758, + "sourceUnit": 6896, + "src": "115:33:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/introspection/ERC165.sol", + "file": "../../introspection/ERC165.sol", + "id": 6205, + "nodeType": "ImportDirective", + "scope": 6758, + "sourceUnit": 5952, + "src": "149:40:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 6206, + "name": "ERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5951, + "src": "357:6:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC165_$5951", + "typeString": "contract ERC165" + } + }, + "id": 6207, + "nodeType": "InheritanceSpecifier", + "src": "357:6:24" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 6208, + "name": "IERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6860, + "src": "365:7:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721_$6860", + "typeString": "contract IERC721" + } + }, + "id": 6209, + "nodeType": "InheritanceSpecifier", + "src": "365:7:24" + } + ], + "contractDependencies": [ + 5951, + 5961, + 6860 + ], + "contractKind": "contract", + "documentation": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", + "fullyImplemented": true, + "id": 6757, + "linearizedBaseContracts": [ + 6757, + 6860, + 5951, + 5961 + ], + "name": "ERC721", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 6212, + "libraryName": { + "contractScope": null, + "id": 6210, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6089, + "src": "385:8:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$6089", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "379:27:24", + "typeName": { + "id": 6211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "398:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 6215, + "libraryName": { + "contractScope": null, + "id": 6213, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6895, + "src": "417:7:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$6895", + "typeString": "library Address" + } + }, + "nodeType": "UsingForDirective", + "src": "411:26:24", + "typeName": { + "id": 6214, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "429:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "constant": true, + "id": 6218, + "name": "_ERC721_RECEIVED", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "615:53:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6216, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "615:6:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783135306237613032", + "id": 6217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "658:10:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_353073666_by_1", + "typeString": "int_const 353073666" + }, + "value": "0x150b7a02" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 6222, + "name": "_tokenOwner", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "713:48:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 6221, + "keyType": { + "id": 6219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "722:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "713:28:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 6220, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "733:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 6226, + "name": "_tokenApprovals", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "817:52:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 6225, + "keyType": { + "id": 6223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "826:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "817:28:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 6224, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "837:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 6230, + "name": "_ownedTokensCount", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "927:54:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 6229, + "keyType": { + "id": 6227, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "936:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "927:28:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 6228, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "947:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 6236, + "name": "_operatorApprovals", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "1036:73:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "typeName": { + "id": 6235, + "keyType": { + "id": 6231, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1045:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1036:46:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "valueType": { + "id": 6234, + "keyType": { + "id": 6232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1065:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1056:25:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 6233, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1076:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": true, + "id": 6239, + "name": "_INTERFACE_ID_ERC721", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "1116:57:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6237, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1116:6:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783830616335386364", + "id": 6238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1163:10:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2158778573_by_1", + "typeString": "int_const 2158778573" + }, + "value": "0x80ac58cd" + }, + "visibility": "private" + }, + { + "body": { + "id": 6246, + "nodeType": "Block", + "src": "1819:134:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6243, + "name": "_INTERFACE_ID_ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6239, + "src": "1925:20:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 6242, + "name": "_registerInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5950, + "src": "1906:18:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4)" + } + }, + "id": 6244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1906:40:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6245, + "nodeType": "ExpressionStatement", + "src": "1906:40:24" + } + ] + }, + "documentation": null, + "id": 6247, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6240, + "nodeType": "ParameterList", + "parameters": [], + "src": "1809:2:24" + }, + "returnParameters": { + "id": 6241, + "nodeType": "ParameterList", + "parameters": [], + "src": "1819:0:24" + }, + "scope": 6757, + "src": "1797:156:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6266, + "nodeType": "Block", + "src": "2220:86:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6255, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6249, + "src": "2238:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2255:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2247:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2247:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2238:19:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6254, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "2230:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2230:28:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6261, + "nodeType": "ExpressionStatement", + "src": "2230:28:24" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6262, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "2275:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6264, + "indexExpression": { + "argumentTypes": null, + "id": 6263, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6249, + "src": "2293:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2275:24:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6253, + "id": 6265, + "nodeType": "Return", + "src": "2268:31:24" + } + ] + }, + "documentation": "@dev Gets the balance of the specified address\n@param owner address to query the balance of\n@return uint256 representing the amount owned by the passed address", + "id": 6267, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6249, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6267, + "src": "2175:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2175:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2174:15:24" + }, + "returnParameters": { + "id": 6253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6252, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6267, + "src": "2211:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2211:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2210:9:24" + }, + "scope": 6757, + "src": "2156:150:24", + "stateMutability": "view", + "superFunction": 6793, + "visibility": "public" + }, + { + "body": { + "id": 6290, + "nodeType": "Block", + "src": "2594:113:24", + "statements": [ + { + "assignments": [ + 6275 + ], + "declarations": [ + { + "constant": false, + "id": 6275, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6290, + "src": "2604:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6274, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2604:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6279, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6276, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6222, + "src": "2620:11:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6278, + "indexExpression": { + "argumentTypes": null, + "id": 6277, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6269, + "src": "2632:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2620:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2604:36:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6281, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6275, + "src": "2658:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2675:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2667:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2667:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2658:19:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6280, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "2650:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2650:28:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6287, + "nodeType": "ExpressionStatement", + "src": "2650:28:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6288, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6275, + "src": "2695:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6273, + "id": 6289, + "nodeType": "Return", + "src": "2688:12:24" + } + ] + }, + "documentation": "@dev Gets the owner of the specified token ID\n@param tokenId uint256 ID of the token to query the owner of\n@return owner address currently marked as the owner of the given token ID", + "id": 6291, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6270, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6269, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6291, + "src": "2547:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2547:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2546:17:24" + }, + "returnParameters": { + "id": 6273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6272, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6291, + "src": "2585:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2585:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2584:9:24" + }, + "scope": 6757, + "src": "2530:177:24", + "stateMutability": "view", + "superFunction": 6800, + "visibility": "public" + }, + { + "body": { + "id": 6335, + "nodeType": "Block", + "src": "3181:239:24", + "statements": [ + { + "assignments": [ + 6299 + ], + "declarations": [ + { + "constant": false, + "id": 6299, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6335, + "src": "3191:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6298, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3191:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6303, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6301, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6295, + "src": "3215:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6300, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6291 + ], + "referencedDeclaration": 6291, + "src": "3207:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3207:16:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3191:32:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6305, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6293, + "src": "3241:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 6306, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6299, + "src": "3247:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3241:11:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6304, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3233:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3233:20:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6309, + "nodeType": "ExpressionStatement", + "src": "3233:20:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6311, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "3271:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3271:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6313, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6299, + "src": "3285:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3271:19:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6316, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6299, + "src": "3311:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6317, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "3318:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3318:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 6315, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6401 + ], + "referencedDeclaration": 6401, + "src": "3294:16:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 6319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3294:35:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3271:58:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6310, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3263:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3263:67:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6322, + "nodeType": "ExpressionStatement", + "src": "3263:67:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6323, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6226, + "src": "3341:15:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6325, + "indexExpression": { + "argumentTypes": null, + "id": 6324, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6295, + "src": "3357:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3341:24:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6326, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6293, + "src": "3368:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3341:29:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6328, + "nodeType": "ExpressionStatement", + "src": "3341:29:24" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6330, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6299, + "src": "3394:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6331, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6293, + "src": "3401:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6332, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6295, + "src": "3405:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6329, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6778, + "src": "3385:8:24", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3385:28:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6334, + "nodeType": "EmitStatement", + "src": "3380:33:24" + } + ] + }, + "documentation": "@dev Approves another address to transfer the given token ID\nThe zero address indicates there is no approved address.\nThere can only be one approved address per token at a given time.\nCan only be called by the token owner or an approved operator.\n@param to address to be approved for the given token ID\n@param tokenId uint256 ID of the token to be approved", + "id": 6336, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6296, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6293, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6336, + "src": "3145:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6292, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3145:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6295, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6336, + "src": "3157:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3157:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3144:29:24" + }, + "returnParameters": { + "id": 6297, + "nodeType": "ParameterList", + "parameters": [], + "src": "3181:0:24" + }, + "scope": 6757, + "src": "3128:292:24", + "stateMutability": "nonpayable", + "superFunction": 6807, + "visibility": "public" + }, + { + "body": { + "id": 6353, + "nodeType": "Block", + "src": "3773:83:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6345, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6338, + "src": "3799:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6344, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "3791:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 6346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3791:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6343, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3783:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3783:25:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6348, + "nodeType": "ExpressionStatement", + "src": "3783:25:24" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6349, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6226, + "src": "3825:15:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6351, + "indexExpression": { + "argumentTypes": null, + "id": 6350, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6338, + "src": "3841:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3825:24:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6342, + "id": 6352, + "nodeType": "Return", + "src": "3818:31:24" + } + ] + }, + "documentation": "@dev Gets the approved address for a token ID, or zero if no address set\nReverts if the token ID does not exist.\n@param tokenId uint256 ID of the token to query the approval of\n@return address currently approved for the given token ID", + "id": 6354, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6338, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6354, + "src": "3726:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3726:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3725:17:24" + }, + "returnParameters": { + "id": 6342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6341, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6354, + "src": "3764:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6340, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3764:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3763:9:24" + }, + "scope": 6757, + "src": "3705:151:24", + "stateMutability": "view", + "superFunction": 6814, + "visibility": "public" + }, + { + "body": { + "id": 6384, + "nodeType": "Block", + "src": "4209:152:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6362, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6356, + "src": "4227:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6363, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4233:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4233:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4227:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6361, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4219:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4219:25:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6367, + "nodeType": "ExpressionStatement", + "src": "4219:25:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6368, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6236, + "src": "4254:18:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 6372, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6369, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4273:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4273:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4254:30:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 6373, + "indexExpression": { + "argumentTypes": null, + "id": 6371, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6356, + "src": "4285:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4254:34:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6374, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6358, + "src": "4291:8:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4254:45:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6376, + "nodeType": "ExpressionStatement", + "src": "4254:45:24" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6378, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4329:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4329:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6380, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6356, + "src": "4341:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6381, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6358, + "src": "4345:8:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6377, + "name": "ApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6786, + "src": "4314:14:24", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,address,bool)" + } + }, + "id": 6382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4314:40:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6383, + "nodeType": "EmitStatement", + "src": "4309:45:24" + } + ] + }, + "documentation": "@dev Sets or unsets the approval of a given operator\nAn operator is allowed to transfer all tokens of the sender on their behalf\n@param to operator address to set the approval\n@param approved representing the status of the approval to be set", + "id": 6385, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6356, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6385, + "src": "4175:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6355, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4175:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6358, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 6385, + "src": "4187:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6357, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4187:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4174:27:24" + }, + "returnParameters": { + "id": 6360, + "nodeType": "ParameterList", + "parameters": [], + "src": "4209:0:24" + }, + "scope": 6757, + "src": "4148:213:24", + "stateMutability": "nonpayable", + "superFunction": 6821, + "visibility": "public" + }, + { + "body": { + "id": 6400, + "nodeType": "Block", + "src": "4768:59:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6394, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6236, + "src": "4785:18:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 6396, + "indexExpression": { + "argumentTypes": null, + "id": 6395, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6387, + "src": "4804:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4785:25:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 6398, + "indexExpression": { + "argumentTypes": null, + "id": 6397, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6389, + "src": "4811:8:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4785:35:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6393, + "id": 6399, + "nodeType": "Return", + "src": "4778:42:24" + } + ] + }, + "documentation": "@dev Tells whether an operator is approved by a given owner\n@param owner owner address which you want to query the approval of\n@param operator operator address which you want to query the approval of\n@return bool whether the given operator is approved by the given owner", + "id": 6401, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6387, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6401, + "src": "4708:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6386, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4708:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6389, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6401, + "src": "4723:16:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6388, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4723:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4707:33:24" + }, + "returnParameters": { + "id": 6393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6392, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6401, + "src": "4762:4:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6391, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4762:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4761:6:24" + }, + "scope": 6757, + "src": "4682:145:24", + "stateMutability": "view", + "superFunction": 6830, + "visibility": "public" + }, + { + "body": { + "id": 6424, + "nodeType": "Block", + "src": "5332:108:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6412, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "5369:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5369:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6414, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6407, + "src": "5381:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6411, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6521, + "src": "5350:18:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 6415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5350:39:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6410, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5342:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5342:48:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6417, + "nodeType": "ExpressionStatement", + "src": "5342:48:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6419, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6403, + "src": "5415:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6420, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6405, + "src": "5421:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6421, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6407, + "src": "5425:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6418, + "name": "_transferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "5401:13:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5401:32:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6423, + "nodeType": "ExpressionStatement", + "src": "5401:32:24" + } + ] + }, + "documentation": "@dev Transfers the ownership of a given token ID to another address\nUsage of this method is discouraged, use `safeTransferFrom` whenever possible\nRequires the msg sender to be the owner, approved, or operator\n@param from current owner of the token\n@param to address to receive the ownership of the given token ID\n@param tokenId uint256 ID of the token to be transferred", + "id": 6425, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6403, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6425, + "src": "5282:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5282:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6405, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6425, + "src": "5296:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5296:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6407, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6425, + "src": "5308:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5308:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5281:43:24" + }, + "returnParameters": { + "id": 6409, + "nodeType": "ParameterList", + "parameters": [], + "src": "5332:0:24" + }, + "scope": 6757, + "src": "5260:180:24", + "stateMutability": "nonpayable", + "superFunction": 6839, + "visibility": "public" + }, + { + "body": { + "id": 6441, + "nodeType": "Block", + "src": "6155:56:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6435, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6427, + "src": "6182:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6436, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6429, + "src": "6188:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6437, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "6192:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 6438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6201:2:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 6434, + "name": "safeTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6442, + 6469 + ], + "referencedDeclaration": 6469, + "src": "6165:16:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,bytes memory)" + } + }, + "id": 6439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6165:39:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6440, + "nodeType": "ExpressionStatement", + "src": "6165:39:24" + } + ] + }, + "documentation": "@dev Safely transfers the ownership of a given token ID to another address\nIf the target address is a contract, it must implement `onERC721Received`,\nwhich is called upon a safe transfer, and return the magic value\n`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\nthe transfer is reverted.\n * Requires the msg sender to be the owner, approved, or operator\n@param from current owner of the token\n@param to address to receive the ownership of the given token ID\n@param tokenId uint256 ID of the token to be transferred", + "id": 6442, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6427, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "6105:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6426, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6105:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6429, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "6119:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6119:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6431, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "6131:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6131:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6104:43:24" + }, + "returnParameters": { + "id": 6433, + "nodeType": "ParameterList", + "parameters": [], + "src": "6155:0:24" + }, + "scope": 6757, + "src": "6079:132:24", + "stateMutability": "nonpayable", + "superFunction": 6848, + "visibility": "public" + }, + { + "body": { + "id": 6468, + "nodeType": "Block", + "src": "7012:115:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6454, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6444, + "src": "7035:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6455, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6446, + "src": "7041:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6456, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6448, + "src": "7045:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6453, + "name": "transferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6425 + ], + "referencedDeclaration": 6425, + "src": "7022:12:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7022:31:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6458, + "nodeType": "ExpressionStatement", + "src": "7022:31:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6461, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6444, + "src": "7094:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6462, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6446, + "src": "7100:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6463, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6448, + "src": "7104:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6464, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6450, + "src": "7113:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6460, + "name": "_checkOnERC721Received", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6733, + "src": "7071:22:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bytes memory) returns (bool)" + } + }, + "id": 6465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7071:48:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "7063:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7063:57:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6467, + "nodeType": "ExpressionStatement", + "src": "7063:57:24" + } + ] + }, + "documentation": "@dev Safely transfers the ownership of a given token ID to another address\nIf the target address is a contract, it must implement `onERC721Received`,\nwhich is called upon a safe transfer, and return the magic value\n`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\nthe transfer is reverted.\nRequires the msg sender to be the owner, approved, or operator\n@param from current owner of the token\n@param to address to receive the ownership of the given token ID\n@param tokenId uint256 ID of the token to be transferred\n@param _data bytes data to send along with a safe transfer check", + "id": 6469, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6444, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "6942:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6443, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6942:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6446, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "6956:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6445, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6956:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6448, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "6968:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6968:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6450, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "6985:18:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6449, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6985:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6941:63:24" + }, + "returnParameters": { + "id": 6452, + "nodeType": "ParameterList", + "parameters": [], + "src": "7012:0:24" + }, + "scope": 6757, + "src": "6916:211:24", + "stateMutability": "nonpayable", + "superFunction": 6859, + "visibility": "public" + }, + { + "body": { + "id": 6488, + "nodeType": "Block", + "src": "7379:89:24", + "statements": [ + { + "assignments": [ + 6477 + ], + "declarations": [ + { + "constant": false, + "id": 6477, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6488, + "src": "7389:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7389:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6481, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6478, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6222, + "src": "7405:11:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6480, + "indexExpression": { + "argumentTypes": null, + "id": 6479, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "7417:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7405:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7389:36:24" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6482, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6477, + "src": "7442:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7459:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7451:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7451:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7442:19:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6475, + "id": 6487, + "nodeType": "Return", + "src": "7435:26:24" + } + ] + }, + "documentation": "@dev Returns whether the specified token exists\n@param tokenId uint256 ID of the token to query the existence of\n@return whether the token exists", + "id": 6489, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_exists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6471, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6489, + "src": "7333:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7333:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7332:17:24" + }, + "returnParameters": { + "id": 6475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6474, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6489, + "src": "7373:4:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6473, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7373:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7372:6:24" + }, + "scope": 6757, + "src": "7316:152:24", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6520, + "nodeType": "Block", + "src": "7922:155:24", + "statements": [ + { + "assignments": [ + 6499 + ], + "declarations": [ + { + "constant": false, + "id": 6499, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6520, + "src": "7932:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7932:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6503, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6501, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "7956:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6500, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6291 + ], + "referencedDeclaration": 6291, + "src": "7948:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7948:16:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7932:32:24" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6504, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6491, + "src": "7982:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6505, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6499, + "src": "7993:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7982:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6508, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "8014:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6507, + "name": "getApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6354 + ], + "referencedDeclaration": 6354, + "src": "8002:11:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8002:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6510, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6491, + "src": "8026:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8002:31:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7982:51:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6514, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6499, + "src": "8054:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6515, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6491, + "src": "8061:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6513, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6401 + ], + "referencedDeclaration": 6401, + "src": "8037:16:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 6516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8037:32:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7982:87:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6518, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7981:89:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6497, + "id": 6519, + "nodeType": "Return", + "src": "7974:96:24" + } + ] + }, + "documentation": "@dev Returns whether the given spender can transfer a given token ID\n@param spender address of the spender to query\n@param tokenId uint256 ID of the token to be transferred\n@return bool whether the msg.sender is approved for the given token ID,\n is an operator of the owner, or is the owner of the token", + "id": 6521, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isApprovedOrOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6491, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "7859:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7859:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6493, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "7876:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6492, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7876:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7858:34:24" + }, + "returnParameters": { + "id": 6497, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6496, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "7916:4:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6495, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7916:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7915:6:24" + }, + "scope": 6757, + "src": "7831:246:24", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6568, + "nodeType": "Block", + "src": "8373:225:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6529, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "8391:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8405:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8397:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8397:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8391:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6528, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8383:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8383:25:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6535, + "nodeType": "ExpressionStatement", + "src": "8383:25:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "8426:17:24", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6538, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6525, + "src": "8435:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6537, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "8427:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 6539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8427:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6536, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8418:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8418:26:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6542, + "nodeType": "ExpressionStatement", + "src": "8418:26:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6543, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6222, + "src": "8455:11:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6545, + "indexExpression": { + "argumentTypes": null, + "id": 6544, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6525, + "src": "8467:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8455:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6546, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "8478:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8455:25:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6548, + "nodeType": "ExpressionStatement", + "src": "8455:25:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6549, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "8490:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6551, + "indexExpression": { + "argumentTypes": null, + "id": 6550, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "8508:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8490:21:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8540:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6552, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "8514:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6554, + "indexExpression": { + "argumentTypes": null, + "id": 6553, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "8532:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8514:21:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 6068, + "src": "8514:25:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8514:28:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8490:52:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6559, + "nodeType": "ExpressionStatement", + "src": "8490:52:24" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8575:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8567:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8567:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6564, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "8579:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6565, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6525, + "src": "8583:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6560, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "8558:8:24", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8558:33:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6567, + "nodeType": "EmitStatement", + "src": "8553:38:24" + } + ] + }, + "documentation": "@dev Internal function to mint a new token\nReverts if the given token ID already exists\n@param to The address that will own the minted token\n@param tokenId uint256 ID of the token to be minted", + "id": 6569, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6523, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6569, + "src": "8335:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6522, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8335:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6525, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6569, + "src": "8347:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6524, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8347:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8334:29:24" + }, + "returnParameters": { + "id": 6527, + "nodeType": "ParameterList", + "parameters": [], + "src": "8373:0:24" + }, + "scope": 6757, + "src": "8320:278:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6615, + "nodeType": "Block", + "src": "8927:249:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6578, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6573, + "src": "8953:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6577, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6291 + ], + "referencedDeclaration": 6291, + "src": "8945:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8945:16:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6580, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6571, + "src": "8965:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8945:25:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6576, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8937:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8937:34:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6583, + "nodeType": "ExpressionStatement", + "src": "8937:34:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6585, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6573, + "src": "8997:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6584, + "name": "_clearApproval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6756, + "src": "8982:14:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 6586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8982:23:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6587, + "nodeType": "ExpressionStatement", + "src": "8982:23:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6588, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "9016:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6590, + "indexExpression": { + "argumentTypes": null, + "id": 6589, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6571, + "src": "9034:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9016:24:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9072:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6591, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "9043:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6593, + "indexExpression": { + "argumentTypes": null, + "id": 6592, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6571, + "src": "9061:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9043:24:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 6044, + "src": "9043:28:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9043:31:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9016:58:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6598, + "nodeType": "ExpressionStatement", + "src": "9016:58:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6599, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6222, + "src": "9084:11:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6601, + "indexExpression": { + "argumentTypes": null, + "id": 6600, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6573, + "src": "9096:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9084:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9115:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9107:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9107:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "9084:33:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6606, + "nodeType": "ExpressionStatement", + "src": "9084:33:24" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6608, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6571, + "src": "9142:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9157:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6609, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9149:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9149:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6612, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6573, + "src": "9161:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6607, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "9133:8:24", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9133:36:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6614, + "nodeType": "EmitStatement", + "src": "9128:41:24" + } + ] + }, + "documentation": "@dev Internal function to burn a specific token\nReverts if the token does not exist\nDeprecated, use _burn(uint256) instead.\n@param owner owner of the token to burn\n@param tokenId uint256 ID of the token being burned", + "id": 6616, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6571, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6616, + "src": "8886:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8886:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6573, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6616, + "src": "8901:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8901:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8885:32:24" + }, + "returnParameters": { + "id": 6575, + "nodeType": "ParameterList", + "parameters": [], + "src": "8927:0:24" + }, + "scope": 6757, + "src": "8871:305:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6628, + "nodeType": "Block", + "src": "9396:49:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6623, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "9420:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6622, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6291 + ], + "referencedDeclaration": 6291, + "src": "9412:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9412:16:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6625, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "9430:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6621, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6616, + 6629 + ], + "referencedDeclaration": 6616, + "src": "9406:5:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 6626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9406:32:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6627, + "nodeType": "ExpressionStatement", + "src": "9406:32:24" + } + ] + }, + "documentation": "@dev Internal function to burn a specific token\nReverts if the token does not exist\n@param tokenId uint256 ID of the token being burned", + "id": 6629, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6618, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6629, + "src": "9370:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9370:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9369:17:24" + }, + "returnParameters": { + "id": 6620, + "nodeType": "ParameterList", + "parameters": [], + "src": "9396:0:24" + }, + "scope": 6757, + "src": "9355:90:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6692, + "nodeType": "Block", + "src": "9894:327:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6640, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6635, + "src": "9920:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6639, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6291 + ], + "referencedDeclaration": 6291, + "src": "9912:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9912:16:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6642, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6631, + "src": "9932:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9912:24:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6638, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9904:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9904:33:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6645, + "nodeType": "ExpressionStatement", + "src": "9904:33:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6647, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6633, + "src": "9955:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9969:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9961:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9961:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "9955:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6646, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9947:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9947:25:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6653, + "nodeType": "ExpressionStatement", + "src": "9947:25:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6655, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6635, + "src": "9998:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6654, + "name": "_clearApproval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6756, + "src": "9983:14:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 6656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9983:23:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6657, + "nodeType": "ExpressionStatement", + "src": "9983:23:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6658, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "10017:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6660, + "indexExpression": { + "argumentTypes": null, + "id": 6659, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6631, + "src": "10035:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10017:23:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10071:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6661, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "10043:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6663, + "indexExpression": { + "argumentTypes": null, + "id": 6662, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6631, + "src": "10061:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10043:23:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 6044, + "src": "10043:27:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10043:30:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10017:56:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6668, + "nodeType": "ExpressionStatement", + "src": "10017:56:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6669, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "10083:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6671, + "indexExpression": { + "argumentTypes": null, + "id": 6670, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6633, + "src": "10101:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10083:21:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10133:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6672, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "10107:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6674, + "indexExpression": { + "argumentTypes": null, + "id": 6673, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6633, + "src": "10125:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10107:21:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 6068, + "src": "10107:25:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10107:28:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10083:52:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6679, + "nodeType": "ExpressionStatement", + "src": "10083:52:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6680, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6222, + "src": "10146:11:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6682, + "indexExpression": { + "argumentTypes": null, + "id": 6681, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6635, + "src": "10158:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10146:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6683, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6633, + "src": "10169:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10146:25:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6685, + "nodeType": "ExpressionStatement", + "src": "10146:25:24" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6687, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6631, + "src": "10196:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6688, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6633, + "src": "10202:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6689, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6635, + "src": "10206:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6686, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "10187:8:24", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10187:27:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6691, + "nodeType": "EmitStatement", + "src": "10182:32:24" + } + ] + }, + "documentation": "@dev Internal function to transfer ownership of a given token ID to another address.\nAs opposed to transferFrom, this imposes no restrictions on msg.sender.\n@param from current owner of the token\n@param to address to receive the ownership of the given token ID\n@param tokenId uint256 ID of the token to be transferred", + "id": 6693, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6631, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6693, + "src": "9842:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6630, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9842:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6633, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6693, + "src": "9856:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9856:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6635, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6693, + "src": "9868:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9868:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9841:43:24" + }, + "returnParameters": { + "id": 6637, + "nodeType": "ParameterList", + "parameters": [], + "src": "9894:0:24" + }, + "scope": 6757, + "src": "9819:402:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6732, + "nodeType": "Block", + "src": "10875:216:24", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 6709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10889:16:24", + "subExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 6706, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6697, + "src": "10890:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 6894, + "src": "10890:13:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10890:15:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6713, + "nodeType": "IfStatement", + "src": "10885:58:24", + "trueBody": { + "id": 6712, + "nodeType": "Block", + "src": "10907:36:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10928:4:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6705, + "id": 6711, + "nodeType": "Return", + "src": "10921:11:24" + } + ] + } + }, + { + "assignments": [ + 6715 + ], + "declarations": [ + { + "constant": false, + "id": 6715, + "name": "retval", + "nodeType": "VariableDeclaration", + "scope": 6732, + "src": "10953:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6714, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "10953:6:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6726, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6720, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "11006:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11006:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6722, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6695, + "src": "11018:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6723, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11024:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6724, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "11033:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6717, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6697, + "src": "10985:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6716, + "name": "IERC721Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6876, + "src": "10969:15:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$6876_$", + "typeString": "type(contract IERC721Receiver)" + } + }, + "id": 6718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10969:19:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721Receiver_$6876", + "typeString": "contract IERC721Receiver" + } + }, + "id": 6719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "onERC721Received", + "nodeType": "MemberAccess", + "referencedDeclaration": 6875, + "src": "10969:36:24", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" + } + }, + "id": 6725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10969:70:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10953:86:24" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 6729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6727, + "name": "retval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6715, + "src": "11057:6:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6728, + "name": "_ERC721_RECEIVED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6218, + "src": "11067:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "11057:26:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6730, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11056:28:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6705, + "id": 6731, + "nodeType": "Return", + "src": "11049:35:24" + } + ] + }, + "documentation": "@dev Internal function to invoke `onERC721Received` on a target address\nThe call is not executed if the target address is not a contract\n@param from address representing the previous owner of the given token ID\n@param to target address that will receive the tokens\n@param tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return whether the call correctly returned the expected magic value", + "id": 6733, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOnERC721Received", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6695, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6733, + "src": "10776:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6694, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10776:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6697, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6733, + "src": "10790:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10790:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6699, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6733, + "src": "10802:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6698, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10802:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6701, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 6733, + "src": "10819:18:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6700, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10819:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10775:63:24" + }, + "returnParameters": { + "id": 6705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6704, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6733, + "src": "10865:4:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6703, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10865:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10864:6:24" + }, + "scope": 6757, + "src": "10744:347:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6755, + "nodeType": "Block", + "src": "11301:122:24", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6738, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6226, + "src": "11315:15:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6740, + "indexExpression": { + "argumentTypes": null, + "id": 6739, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6735, + "src": "11331:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11315:24:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11351:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11343:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11343:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "11315:38:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6754, + "nodeType": "IfStatement", + "src": "11311:106:24", + "trueBody": { + "id": 6753, + "nodeType": "Block", + "src": "11355:62:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6745, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6226, + "src": "11369:15:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6747, + "indexExpression": { + "argumentTypes": null, + "id": 6746, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6735, + "src": "11385:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11369:24:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6749, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11404:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11396:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6750, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11396:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "11369:37:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6752, + "nodeType": "ExpressionStatement", + "src": "11369:37:24" + } + ] + } + } + ] + }, + "documentation": "@dev Private function to clear current approval of a given token ID\n@param tokenId uint256 ID of the token to be transferred", + "id": 6756, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_clearApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6735, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6756, + "src": "11276:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11276:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11275:17:24" + }, + "returnParameters": { + "id": 6737, + "nodeType": "ParameterList", + "parameters": [], + "src": "11301:0:24" + }, + "scope": 6757, + "src": "11252:171:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 6758, + "src": "338:11087:24" + } + ], + "src": "0:11426:24" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "exportedSymbols": { + "ERC721": [ + 6757 + ] + }, + "id": 6758, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6200, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:24" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol", + "file": "./IERC721.sol", + "id": 6201, + "nodeType": "ImportDirective", + "scope": 6758, + "sourceUnit": 6861, + "src": "25:23:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol", + "file": "./IERC721Receiver.sol", + "id": 6202, + "nodeType": "ImportDirective", + "scope": 6758, + "sourceUnit": 6877, + "src": "49:31:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "file": "../../math/SafeMath.sol", + "id": 6203, + "nodeType": "ImportDirective", + "scope": 6758, + "sourceUnit": 6090, + "src": "81:33:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/utils/Address.sol", + "file": "../../utils/Address.sol", + "id": 6204, + "nodeType": "ImportDirective", + "scope": 6758, + "sourceUnit": 6896, + "src": "115:33:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/introspection/ERC165.sol", + "file": "../../introspection/ERC165.sol", + "id": 6205, + "nodeType": "ImportDirective", + "scope": 6758, + "sourceUnit": 5952, + "src": "149:40:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 6206, + "name": "ERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5951, + "src": "357:6:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC165_$5951", + "typeString": "contract ERC165" + } + }, + "id": 6207, + "nodeType": "InheritanceSpecifier", + "src": "357:6:24" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 6208, + "name": "IERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6860, + "src": "365:7:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721_$6860", + "typeString": "contract IERC721" + } + }, + "id": 6209, + "nodeType": "InheritanceSpecifier", + "src": "365:7:24" + } + ], + "contractDependencies": [ + 5951, + 5961, + 6860 + ], + "contractKind": "contract", + "documentation": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", + "fullyImplemented": true, + "id": 6757, + "linearizedBaseContracts": [ + 6757, + 6860, + 5951, + 5961 + ], + "name": "ERC721", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 6212, + "libraryName": { + "contractScope": null, + "id": 6210, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6089, + "src": "385:8:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$6089", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "379:27:24", + "typeName": { + "id": 6211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "398:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 6215, + "libraryName": { + "contractScope": null, + "id": 6213, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6895, + "src": "417:7:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$6895", + "typeString": "library Address" + } + }, + "nodeType": "UsingForDirective", + "src": "411:26:24", + "typeName": { + "id": 6214, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "429:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "constant": true, + "id": 6218, + "name": "_ERC721_RECEIVED", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "615:53:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6216, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "615:6:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783135306237613032", + "id": 6217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "658:10:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_353073666_by_1", + "typeString": "int_const 353073666" + }, + "value": "0x150b7a02" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 6222, + "name": "_tokenOwner", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "713:48:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 6221, + "keyType": { + "id": 6219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "722:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "713:28:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 6220, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "733:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 6226, + "name": "_tokenApprovals", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "817:52:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 6225, + "keyType": { + "id": 6223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "826:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "817:28:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 6224, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "837:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 6230, + "name": "_ownedTokensCount", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "927:54:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 6229, + "keyType": { + "id": 6227, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "936:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "927:28:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 6228, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "947:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 6236, + "name": "_operatorApprovals", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "1036:73:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "typeName": { + "id": 6235, + "keyType": { + "id": 6231, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1045:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1036:46:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "valueType": { + "id": 6234, + "keyType": { + "id": 6232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1065:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1056:25:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 6233, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1076:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": true, + "id": 6239, + "name": "_INTERFACE_ID_ERC721", + "nodeType": "VariableDeclaration", + "scope": 6757, + "src": "1116:57:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6237, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1116:6:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783830616335386364", + "id": 6238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1163:10:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2158778573_by_1", + "typeString": "int_const 2158778573" + }, + "value": "0x80ac58cd" + }, + "visibility": "private" + }, + { + "body": { + "id": 6246, + "nodeType": "Block", + "src": "1819:134:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6243, + "name": "_INTERFACE_ID_ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6239, + "src": "1925:20:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 6242, + "name": "_registerInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5950, + "src": "1906:18:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4)" + } + }, + "id": 6244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1906:40:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6245, + "nodeType": "ExpressionStatement", + "src": "1906:40:24" + } + ] + }, + "documentation": null, + "id": 6247, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6240, + "nodeType": "ParameterList", + "parameters": [], + "src": "1809:2:24" + }, + "returnParameters": { + "id": 6241, + "nodeType": "ParameterList", + "parameters": [], + "src": "1819:0:24" + }, + "scope": 6757, + "src": "1797:156:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6266, + "nodeType": "Block", + "src": "2220:86:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6255, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6249, + "src": "2238:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2255:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2247:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2247:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2238:19:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6254, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "2230:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2230:28:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6261, + "nodeType": "ExpressionStatement", + "src": "2230:28:24" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6262, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "2275:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6264, + "indexExpression": { + "argumentTypes": null, + "id": 6263, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6249, + "src": "2293:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2275:24:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6253, + "id": 6265, + "nodeType": "Return", + "src": "2268:31:24" + } + ] + }, + "documentation": "@dev Gets the balance of the specified address\n@param owner address to query the balance of\n@return uint256 representing the amount owned by the passed address", + "id": 6267, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6249, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6267, + "src": "2175:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2175:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2174:15:24" + }, + "returnParameters": { + "id": 6253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6252, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6267, + "src": "2211:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2211:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2210:9:24" + }, + "scope": 6757, + "src": "2156:150:24", + "stateMutability": "view", + "superFunction": 6793, + "visibility": "public" + }, + { + "body": { + "id": 6290, + "nodeType": "Block", + "src": "2594:113:24", + "statements": [ + { + "assignments": [ + 6275 + ], + "declarations": [ + { + "constant": false, + "id": 6275, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6290, + "src": "2604:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6274, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2604:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6279, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6276, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6222, + "src": "2620:11:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6278, + "indexExpression": { + "argumentTypes": null, + "id": 6277, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6269, + "src": "2632:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2620:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2604:36:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6281, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6275, + "src": "2658:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2675:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2667:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2667:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2658:19:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6280, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "2650:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2650:28:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6287, + "nodeType": "ExpressionStatement", + "src": "2650:28:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6288, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6275, + "src": "2695:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6273, + "id": 6289, + "nodeType": "Return", + "src": "2688:12:24" + } + ] + }, + "documentation": "@dev Gets the owner of the specified token ID\n@param tokenId uint256 ID of the token to query the owner of\n@return owner address currently marked as the owner of the given token ID", + "id": 6291, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6270, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6269, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6291, + "src": "2547:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2547:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2546:17:24" + }, + "returnParameters": { + "id": 6273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6272, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6291, + "src": "2585:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2585:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2584:9:24" + }, + "scope": 6757, + "src": "2530:177:24", + "stateMutability": "view", + "superFunction": 6800, + "visibility": "public" + }, + { + "body": { + "id": 6335, + "nodeType": "Block", + "src": "3181:239:24", + "statements": [ + { + "assignments": [ + 6299 + ], + "declarations": [ + { + "constant": false, + "id": 6299, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6335, + "src": "3191:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6298, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3191:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6303, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6301, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6295, + "src": "3215:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6300, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6291 + ], + "referencedDeclaration": 6291, + "src": "3207:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3207:16:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3191:32:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6305, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6293, + "src": "3241:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 6306, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6299, + "src": "3247:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3241:11:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6304, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3233:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3233:20:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6309, + "nodeType": "ExpressionStatement", + "src": "3233:20:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6311, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "3271:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3271:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6313, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6299, + "src": "3285:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3271:19:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6316, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6299, + "src": "3311:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6317, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "3318:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3318:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 6315, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6401 + ], + "referencedDeclaration": 6401, + "src": "3294:16:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 6319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3294:35:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3271:58:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6310, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3263:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3263:67:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6322, + "nodeType": "ExpressionStatement", + "src": "3263:67:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6323, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6226, + "src": "3341:15:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6325, + "indexExpression": { + "argumentTypes": null, + "id": 6324, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6295, + "src": "3357:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3341:24:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6326, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6293, + "src": "3368:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3341:29:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6328, + "nodeType": "ExpressionStatement", + "src": "3341:29:24" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6330, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6299, + "src": "3394:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6331, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6293, + "src": "3401:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6332, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6295, + "src": "3405:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6329, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6778, + "src": "3385:8:24", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3385:28:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6334, + "nodeType": "EmitStatement", + "src": "3380:33:24" + } + ] + }, + "documentation": "@dev Approves another address to transfer the given token ID\nThe zero address indicates there is no approved address.\nThere can only be one approved address per token at a given time.\nCan only be called by the token owner or an approved operator.\n@param to address to be approved for the given token ID\n@param tokenId uint256 ID of the token to be approved", + "id": 6336, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6296, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6293, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6336, + "src": "3145:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6292, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3145:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6295, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6336, + "src": "3157:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3157:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3144:29:24" + }, + "returnParameters": { + "id": 6297, + "nodeType": "ParameterList", + "parameters": [], + "src": "3181:0:24" + }, + "scope": 6757, + "src": "3128:292:24", + "stateMutability": "nonpayable", + "superFunction": 6807, + "visibility": "public" + }, + { + "body": { + "id": 6353, + "nodeType": "Block", + "src": "3773:83:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6345, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6338, + "src": "3799:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6344, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "3791:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 6346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3791:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6343, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "3783:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3783:25:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6348, + "nodeType": "ExpressionStatement", + "src": "3783:25:24" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6349, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6226, + "src": "3825:15:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6351, + "indexExpression": { + "argumentTypes": null, + "id": 6350, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6338, + "src": "3841:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3825:24:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6342, + "id": 6352, + "nodeType": "Return", + "src": "3818:31:24" + } + ] + }, + "documentation": "@dev Gets the approved address for a token ID, or zero if no address set\nReverts if the token ID does not exist.\n@param tokenId uint256 ID of the token to query the approval of\n@return address currently approved for the given token ID", + "id": 6354, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6338, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6354, + "src": "3726:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3726:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3725:17:24" + }, + "returnParameters": { + "id": 6342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6341, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6354, + "src": "3764:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6340, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3764:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3763:9:24" + }, + "scope": 6757, + "src": "3705:151:24", + "stateMutability": "view", + "superFunction": 6814, + "visibility": "public" + }, + { + "body": { + "id": 6384, + "nodeType": "Block", + "src": "4209:152:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6362, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6356, + "src": "4227:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6363, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4233:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4233:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4227:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6361, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4219:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4219:25:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6367, + "nodeType": "ExpressionStatement", + "src": "4219:25:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6368, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6236, + "src": "4254:18:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 6372, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6369, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4273:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4273:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4254:30:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 6373, + "indexExpression": { + "argumentTypes": null, + "id": 6371, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6356, + "src": "4285:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4254:34:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6374, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6358, + "src": "4291:8:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4254:45:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6376, + "nodeType": "ExpressionStatement", + "src": "4254:45:24" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6378, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4329:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4329:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6380, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6356, + "src": "4341:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6381, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6358, + "src": "4345:8:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6377, + "name": "ApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6786, + "src": "4314:14:24", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,address,bool)" + } + }, + "id": 6382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4314:40:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6383, + "nodeType": "EmitStatement", + "src": "4309:45:24" + } + ] + }, + "documentation": "@dev Sets or unsets the approval of a given operator\nAn operator is allowed to transfer all tokens of the sender on their behalf\n@param to operator address to set the approval\n@param approved representing the status of the approval to be set", + "id": 6385, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6356, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6385, + "src": "4175:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6355, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4175:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6358, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 6385, + "src": "4187:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6357, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4187:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4174:27:24" + }, + "returnParameters": { + "id": 6360, + "nodeType": "ParameterList", + "parameters": [], + "src": "4209:0:24" + }, + "scope": 6757, + "src": "4148:213:24", + "stateMutability": "nonpayable", + "superFunction": 6821, + "visibility": "public" + }, + { + "body": { + "id": 6400, + "nodeType": "Block", + "src": "4768:59:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6394, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6236, + "src": "4785:18:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 6396, + "indexExpression": { + "argumentTypes": null, + "id": 6395, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6387, + "src": "4804:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4785:25:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 6398, + "indexExpression": { + "argumentTypes": null, + "id": 6397, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6389, + "src": "4811:8:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4785:35:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6393, + "id": 6399, + "nodeType": "Return", + "src": "4778:42:24" + } + ] + }, + "documentation": "@dev Tells whether an operator is approved by a given owner\n@param owner owner address which you want to query the approval of\n@param operator operator address which you want to query the approval of\n@return bool whether the given operator is approved by the given owner", + "id": 6401, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6387, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6401, + "src": "4708:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6386, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4708:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6389, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6401, + "src": "4723:16:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6388, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4723:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4707:33:24" + }, + "returnParameters": { + "id": 6393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6392, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6401, + "src": "4762:4:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6391, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4762:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4761:6:24" + }, + "scope": 6757, + "src": "4682:145:24", + "stateMutability": "view", + "superFunction": 6830, + "visibility": "public" + }, + { + "body": { + "id": 6424, + "nodeType": "Block", + "src": "5332:108:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6412, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "5369:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5369:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6414, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6407, + "src": "5381:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6411, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6521, + "src": "5350:18:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 6415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5350:39:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6410, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5342:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5342:48:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6417, + "nodeType": "ExpressionStatement", + "src": "5342:48:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6419, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6403, + "src": "5415:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6420, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6405, + "src": "5421:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6421, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6407, + "src": "5425:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6418, + "name": "_transferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6693, + "src": "5401:13:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5401:32:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6423, + "nodeType": "ExpressionStatement", + "src": "5401:32:24" + } + ] + }, + "documentation": "@dev Transfers the ownership of a given token ID to another address\nUsage of this method is discouraged, use `safeTransferFrom` whenever possible\nRequires the msg sender to be the owner, approved, or operator\n@param from current owner of the token\n@param to address to receive the ownership of the given token ID\n@param tokenId uint256 ID of the token to be transferred", + "id": 6425, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6403, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6425, + "src": "5282:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5282:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6405, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6425, + "src": "5296:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5296:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6407, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6425, + "src": "5308:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5308:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5281:43:24" + }, + "returnParameters": { + "id": 6409, + "nodeType": "ParameterList", + "parameters": [], + "src": "5332:0:24" + }, + "scope": 6757, + "src": "5260:180:24", + "stateMutability": "nonpayable", + "superFunction": 6839, + "visibility": "public" + }, + { + "body": { + "id": 6441, + "nodeType": "Block", + "src": "6155:56:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6435, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6427, + "src": "6182:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6436, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6429, + "src": "6188:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6437, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "6192:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 6438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6201:2:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 6434, + "name": "safeTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6442, + 6469 + ], + "referencedDeclaration": 6469, + "src": "6165:16:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,bytes memory)" + } + }, + "id": 6439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6165:39:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6440, + "nodeType": "ExpressionStatement", + "src": "6165:39:24" + } + ] + }, + "documentation": "@dev Safely transfers the ownership of a given token ID to another address\nIf the target address is a contract, it must implement `onERC721Received`,\nwhich is called upon a safe transfer, and return the magic value\n`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\nthe transfer is reverted.\n * Requires the msg sender to be the owner, approved, or operator\n@param from current owner of the token\n@param to address to receive the ownership of the given token ID\n@param tokenId uint256 ID of the token to be transferred", + "id": 6442, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6427, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "6105:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6426, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6105:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6429, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "6119:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6119:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6431, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "6131:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6131:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6104:43:24" + }, + "returnParameters": { + "id": 6433, + "nodeType": "ParameterList", + "parameters": [], + "src": "6155:0:24" + }, + "scope": 6757, + "src": "6079:132:24", + "stateMutability": "nonpayable", + "superFunction": 6848, + "visibility": "public" + }, + { + "body": { + "id": 6468, + "nodeType": "Block", + "src": "7012:115:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6454, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6444, + "src": "7035:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6455, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6446, + "src": "7041:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6456, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6448, + "src": "7045:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6453, + "name": "transferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6425 + ], + "referencedDeclaration": 6425, + "src": "7022:12:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7022:31:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6458, + "nodeType": "ExpressionStatement", + "src": "7022:31:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6461, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6444, + "src": "7094:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6462, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6446, + "src": "7100:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6463, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6448, + "src": "7104:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6464, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6450, + "src": "7113:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6460, + "name": "_checkOnERC721Received", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6733, + "src": "7071:22:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bytes memory) returns (bool)" + } + }, + "id": 6465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7071:48:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "7063:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7063:57:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6467, + "nodeType": "ExpressionStatement", + "src": "7063:57:24" + } + ] + }, + "documentation": "@dev Safely transfers the ownership of a given token ID to another address\nIf the target address is a contract, it must implement `onERC721Received`,\nwhich is called upon a safe transfer, and return the magic value\n`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise,\nthe transfer is reverted.\nRequires the msg sender to be the owner, approved, or operator\n@param from current owner of the token\n@param to address to receive the ownership of the given token ID\n@param tokenId uint256 ID of the token to be transferred\n@param _data bytes data to send along with a safe transfer check", + "id": 6469, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6444, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "6942:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6443, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6942:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6446, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "6956:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6445, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6956:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6448, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "6968:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6968:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6450, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "6985:18:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6449, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6985:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6941:63:24" + }, + "returnParameters": { + "id": 6452, + "nodeType": "ParameterList", + "parameters": [], + "src": "7012:0:24" + }, + "scope": 6757, + "src": "6916:211:24", + "stateMutability": "nonpayable", + "superFunction": 6859, + "visibility": "public" + }, + { + "body": { + "id": 6488, + "nodeType": "Block", + "src": "7379:89:24", + "statements": [ + { + "assignments": [ + 6477 + ], + "declarations": [ + { + "constant": false, + "id": 6477, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6488, + "src": "7389:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7389:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6481, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6478, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6222, + "src": "7405:11:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6480, + "indexExpression": { + "argumentTypes": null, + "id": 6479, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "7417:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7405:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7389:36:24" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6482, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6477, + "src": "7442:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7459:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7451:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7451:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7442:19:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6475, + "id": 6487, + "nodeType": "Return", + "src": "7435:26:24" + } + ] + }, + "documentation": "@dev Returns whether the specified token exists\n@param tokenId uint256 ID of the token to query the existence of\n@return whether the token exists", + "id": 6489, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_exists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6471, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6489, + "src": "7333:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7333:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7332:17:24" + }, + "returnParameters": { + "id": 6475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6474, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6489, + "src": "7373:4:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6473, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7373:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7372:6:24" + }, + "scope": 6757, + "src": "7316:152:24", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6520, + "nodeType": "Block", + "src": "7922:155:24", + "statements": [ + { + "assignments": [ + 6499 + ], + "declarations": [ + { + "constant": false, + "id": 6499, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6520, + "src": "7932:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7932:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6503, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6501, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "7956:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6500, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6291 + ], + "referencedDeclaration": 6291, + "src": "7948:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7948:16:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7932:32:24" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6504, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6491, + "src": "7982:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6505, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6499, + "src": "7993:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7982:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6508, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "8014:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6507, + "name": "getApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6354 + ], + "referencedDeclaration": 6354, + "src": "8002:11:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8002:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6510, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6491, + "src": "8026:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8002:31:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7982:51:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6514, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6499, + "src": "8054:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6515, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6491, + "src": "8061:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6513, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6401 + ], + "referencedDeclaration": 6401, + "src": "8037:16:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 6516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8037:32:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7982:87:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6518, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7981:89:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6497, + "id": 6519, + "nodeType": "Return", + "src": "7974:96:24" + } + ] + }, + "documentation": "@dev Returns whether the given spender can transfer a given token ID\n@param spender address of the spender to query\n@param tokenId uint256 ID of the token to be transferred\n@return bool whether the msg.sender is approved for the given token ID,\n is an operator of the owner, or is the owner of the token", + "id": 6521, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isApprovedOrOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6491, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "7859:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7859:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6493, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "7876:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6492, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7876:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7858:34:24" + }, + "returnParameters": { + "id": 6497, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6496, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "7916:4:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6495, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7916:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7915:6:24" + }, + "scope": 6757, + "src": "7831:246:24", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6568, + "nodeType": "Block", + "src": "8373:225:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6529, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "8391:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8405:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8397:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8397:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8391:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6528, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8383:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8383:25:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6535, + "nodeType": "ExpressionStatement", + "src": "8383:25:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "8426:17:24", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6538, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6525, + "src": "8435:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6537, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "8427:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 6539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8427:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6536, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8418:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8418:26:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6542, + "nodeType": "ExpressionStatement", + "src": "8418:26:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6543, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6222, + "src": "8455:11:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6545, + "indexExpression": { + "argumentTypes": null, + "id": 6544, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6525, + "src": "8467:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8455:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6546, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "8478:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8455:25:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6548, + "nodeType": "ExpressionStatement", + "src": "8455:25:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6549, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "8490:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6551, + "indexExpression": { + "argumentTypes": null, + "id": 6550, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "8508:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8490:21:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8540:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6552, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "8514:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6554, + "indexExpression": { + "argumentTypes": null, + "id": 6553, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "8532:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8514:21:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 6068, + "src": "8514:25:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8514:28:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8490:52:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6559, + "nodeType": "ExpressionStatement", + "src": "8490:52:24" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8575:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8567:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8567:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6564, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "8579:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6565, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6525, + "src": "8583:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6560, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "8558:8:24", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8558:33:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6567, + "nodeType": "EmitStatement", + "src": "8553:38:24" + } + ] + }, + "documentation": "@dev Internal function to mint a new token\nReverts if the given token ID already exists\n@param to The address that will own the minted token\n@param tokenId uint256 ID of the token to be minted", + "id": 6569, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6523, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6569, + "src": "8335:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6522, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8335:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6525, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6569, + "src": "8347:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6524, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8347:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8334:29:24" + }, + "returnParameters": { + "id": 6527, + "nodeType": "ParameterList", + "parameters": [], + "src": "8373:0:24" + }, + "scope": 6757, + "src": "8320:278:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6615, + "nodeType": "Block", + "src": "8927:249:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6578, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6573, + "src": "8953:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6577, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6291 + ], + "referencedDeclaration": 6291, + "src": "8945:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8945:16:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6580, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6571, + "src": "8965:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8945:25:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6576, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8937:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8937:34:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6583, + "nodeType": "ExpressionStatement", + "src": "8937:34:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6585, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6573, + "src": "8997:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6584, + "name": "_clearApproval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6756, + "src": "8982:14:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 6586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8982:23:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6587, + "nodeType": "ExpressionStatement", + "src": "8982:23:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6588, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "9016:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6590, + "indexExpression": { + "argumentTypes": null, + "id": 6589, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6571, + "src": "9034:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9016:24:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9072:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6591, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "9043:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6593, + "indexExpression": { + "argumentTypes": null, + "id": 6592, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6571, + "src": "9061:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9043:24:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 6044, + "src": "9043:28:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9043:31:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9016:58:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6598, + "nodeType": "ExpressionStatement", + "src": "9016:58:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6599, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6222, + "src": "9084:11:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6601, + "indexExpression": { + "argumentTypes": null, + "id": 6600, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6573, + "src": "9096:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9084:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9115:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9107:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9107:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "9084:33:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6606, + "nodeType": "ExpressionStatement", + "src": "9084:33:24" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6608, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6571, + "src": "9142:5:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9157:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6609, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9149:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9149:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6612, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6573, + "src": "9161:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6607, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "9133:8:24", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9133:36:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6614, + "nodeType": "EmitStatement", + "src": "9128:41:24" + } + ] + }, + "documentation": "@dev Internal function to burn a specific token\nReverts if the token does not exist\nDeprecated, use _burn(uint256) instead.\n@param owner owner of the token to burn\n@param tokenId uint256 ID of the token being burned", + "id": 6616, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6571, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6616, + "src": "8886:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8886:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6573, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6616, + "src": "8901:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8901:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8885:32:24" + }, + "returnParameters": { + "id": 6575, + "nodeType": "ParameterList", + "parameters": [], + "src": "8927:0:24" + }, + "scope": 6757, + "src": "8871:305:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6628, + "nodeType": "Block", + "src": "9396:49:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6623, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "9420:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6622, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6291 + ], + "referencedDeclaration": 6291, + "src": "9412:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9412:16:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6625, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "9430:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6621, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6616, + 6629 + ], + "referencedDeclaration": 6616, + "src": "9406:5:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 6626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9406:32:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6627, + "nodeType": "ExpressionStatement", + "src": "9406:32:24" + } + ] + }, + "documentation": "@dev Internal function to burn a specific token\nReverts if the token does not exist\n@param tokenId uint256 ID of the token being burned", + "id": 6629, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6618, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6629, + "src": "9370:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9370:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9369:17:24" + }, + "returnParameters": { + "id": 6620, + "nodeType": "ParameterList", + "parameters": [], + "src": "9396:0:24" + }, + "scope": 6757, + "src": "9355:90:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6692, + "nodeType": "Block", + "src": "9894:327:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6640, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6635, + "src": "9920:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6639, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6291 + ], + "referencedDeclaration": 6291, + "src": "9912:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 6641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9912:16:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6642, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6631, + "src": "9932:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9912:24:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6638, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9904:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9904:33:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6645, + "nodeType": "ExpressionStatement", + "src": "9904:33:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6647, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6633, + "src": "9955:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9969:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9961:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9961:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "9955:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6646, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9947:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9947:25:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6653, + "nodeType": "ExpressionStatement", + "src": "9947:25:24" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6655, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6635, + "src": "9998:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6654, + "name": "_clearApproval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6756, + "src": "9983:14:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 6656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9983:23:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6657, + "nodeType": "ExpressionStatement", + "src": "9983:23:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6658, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "10017:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6660, + "indexExpression": { + "argumentTypes": null, + "id": 6659, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6631, + "src": "10035:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10017:23:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10071:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6661, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "10043:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6663, + "indexExpression": { + "argumentTypes": null, + "id": 6662, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6631, + "src": "10061:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10043:23:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 6044, + "src": "10043:27:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10043:30:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10017:56:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6668, + "nodeType": "ExpressionStatement", + "src": "10017:56:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6669, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "10083:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6671, + "indexExpression": { + "argumentTypes": null, + "id": 6670, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6633, + "src": "10101:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10083:21:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10133:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6672, + "name": "_ownedTokensCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6230, + "src": "10107:17:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6674, + "indexExpression": { + "argumentTypes": null, + "id": 6673, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6633, + "src": "10125:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10107:21:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 6068, + "src": "10107:25:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10107:28:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10083:52:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6679, + "nodeType": "ExpressionStatement", + "src": "10083:52:24" + }, + { + "expression": { + "argumentTypes": null, + "id": 6684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6680, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6222, + "src": "10146:11:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6682, + "indexExpression": { + "argumentTypes": null, + "id": 6681, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6635, + "src": "10158:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10146:20:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6683, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6633, + "src": "10169:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10146:25:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6685, + "nodeType": "ExpressionStatement", + "src": "10146:25:24" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6687, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6631, + "src": "10196:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6688, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6633, + "src": "10202:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6689, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6635, + "src": "10206:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6686, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "10187:8:24", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10187:27:24", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6691, + "nodeType": "EmitStatement", + "src": "10182:32:24" + } + ] + }, + "documentation": "@dev Internal function to transfer ownership of a given token ID to another address.\nAs opposed to transferFrom, this imposes no restrictions on msg.sender.\n@param from current owner of the token\n@param to address to receive the ownership of the given token ID\n@param tokenId uint256 ID of the token to be transferred", + "id": 6693, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6631, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6693, + "src": "9842:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6630, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9842:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6633, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6693, + "src": "9856:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9856:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6635, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6693, + "src": "9868:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9868:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9841:43:24" + }, + "returnParameters": { + "id": 6637, + "nodeType": "ParameterList", + "parameters": [], + "src": "9894:0:24" + }, + "scope": 6757, + "src": "9819:402:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6732, + "nodeType": "Block", + "src": "10875:216:24", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 6709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10889:16:24", + "subExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 6706, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6697, + "src": "10890:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 6894, + "src": "10890:13:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10890:15:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6713, + "nodeType": "IfStatement", + "src": "10885:58:24", + "trueBody": { + "id": 6712, + "nodeType": "Block", + "src": "10907:36:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10928:4:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6705, + "id": 6711, + "nodeType": "Return", + "src": "10921:11:24" + } + ] + } + }, + { + "assignments": [ + 6715 + ], + "declarations": [ + { + "constant": false, + "id": 6715, + "name": "retval", + "nodeType": "VariableDeclaration", + "scope": 6732, + "src": "10953:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6714, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "10953:6:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6726, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6720, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "11006:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11006:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6722, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6695, + "src": "11018:4:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6723, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "11024:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6724, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6701, + "src": "11033:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6717, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6697, + "src": "10985:2:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6716, + "name": "IERC721Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6876, + "src": "10969:15:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$6876_$", + "typeString": "type(contract IERC721Receiver)" + } + }, + "id": 6718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10969:19:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721Receiver_$6876", + "typeString": "contract IERC721Receiver" + } + }, + "id": 6719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "onERC721Received", + "nodeType": "MemberAccess", + "referencedDeclaration": 6875, + "src": "10969:36:24", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" + } + }, + "id": 6725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10969:70:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10953:86:24" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 6729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6727, + "name": "retval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6715, + "src": "11057:6:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6728, + "name": "_ERC721_RECEIVED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6218, + "src": "11067:16:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "11057:26:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6730, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11056:28:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6705, + "id": 6731, + "nodeType": "Return", + "src": "11049:35:24" + } + ] + }, + "documentation": "@dev Internal function to invoke `onERC721Received` on a target address\nThe call is not executed if the target address is not a contract\n@param from address representing the previous owner of the given token ID\n@param to target address that will receive the tokens\n@param tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return whether the call correctly returned the expected magic value", + "id": 6733, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOnERC721Received", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6695, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6733, + "src": "10776:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6694, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10776:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6697, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6733, + "src": "10790:10:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10790:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6699, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6733, + "src": "10802:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6698, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10802:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6701, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 6733, + "src": "10819:18:24", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6700, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10819:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10775:63:24" + }, + "returnParameters": { + "id": 6705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6704, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6733, + "src": "10865:4:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6703, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10865:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10864:6:24" + }, + "scope": 6757, + "src": "10744:347:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6755, + "nodeType": "Block", + "src": "11301:122:24", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6738, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6226, + "src": "11315:15:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6740, + "indexExpression": { + "argumentTypes": null, + "id": 6739, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6735, + "src": "11331:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11315:24:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11351:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11343:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11343:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "11315:38:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6754, + "nodeType": "IfStatement", + "src": "11311:106:24", + "trueBody": { + "id": 6753, + "nodeType": "Block", + "src": "11355:62:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6745, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6226, + "src": "11369:15:24", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6747, + "indexExpression": { + "argumentTypes": null, + "id": 6746, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6735, + "src": "11385:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11369:24:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6749, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11404:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11396:7:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6750, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11396:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "11369:37:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6752, + "nodeType": "ExpressionStatement", + "src": "11369:37:24" + } + ] + } + } + ] + }, + "documentation": "@dev Private function to clear current approval of a given token ID\n@param tokenId uint256 ID of the token to be transferred", + "id": 6756, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_clearApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6735, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6756, + "src": "11276:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11276:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11275:17:24" + }, + "returnParameters": { + "id": 6737, + "nodeType": "ParameterList", + "parameters": [], + "src": "11301:0:24" + }, + "scope": 6757, + "src": "11252:171:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 6758, + "src": "338:11087:24" + } + ], + "src": "0:11426:24" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.814Z", + "devdoc": { + "details": "see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", + "methods": { + "approve(address,uint256)": { + "details": "Approves another address to transfer the given token ID The zero address indicates there is no approved address. There can only be one approved address per token at a given time. Can only be called by the token owner or an approved operator.", + "params": { + "to": "address to be approved for the given token ID", + "tokenId": "uint256 ID of the token to be approved" + } + }, + "balanceOf(address)": { + "details": "Gets the balance of the specified address", + "params": { + "owner": "address to query the balance of" + }, + "return": "uint256 representing the amount owned by the passed address" + }, + "getApproved(uint256)": { + "details": "Gets the approved address for a token ID, or zero if no address set Reverts if the token ID does not exist.", + "params": { + "tokenId": "uint256 ID of the token to query the approval of" + }, + "return": "address currently approved for the given token ID" + }, + "isApprovedForAll(address,address)": { + "details": "Tells whether an operator is approved by a given owner", + "params": { + "operator": "operator address which you want to query the approval of", + "owner": "owner address which you want to query the approval of" + }, + "return": "bool whether the given operator is approved by the given owner" + }, + "ownerOf(uint256)": { + "details": "Gets the owner of the specified token ID", + "params": { + "tokenId": "uint256 ID of the token to query the owner of" + }, + "return": "owner address currently marked as the owner of the given token ID" + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise, the transfer is reverted. * Requires the msg sender to be the owner, approved, or operator", + "params": { + "from": "current owner of the token", + "to": "address to receive the ownership of the given token ID", + "tokenId": "uint256 ID of the token to be transferred" + } + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise, the transfer is reverted. Requires the msg sender to be the owner, approved, or operator", + "params": { + "_data": "bytes data to send along with a safe transfer check", + "from": "current owner of the token", + "to": "address to receive the ownership of the given token ID", + "tokenId": "uint256 ID of the token to be transferred" + } + }, + "setApprovalForAll(address,bool)": { + "details": "Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf", + "params": { + "approved": "representing the status of the approval to be set", + "to": "operator address to set the approval" + } + }, + "supportsInterface(bytes4)": { + "details": "implement supportsInterface(bytes4) using a lookup table" + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers the ownership of a given token ID to another address Usage of this method is discouraged, use `safeTransferFrom` whenever possible Requires the msg sender to be the owner, approved, or operator", + "params": { + "from": "current owner of the token", + "to": "address to receive the ownership of the given token ID", + "tokenId": "uint256 ID of the token to be transferred" + } + } + }, + "title": "ERC721 Non-Fungible Token Standard basic implementation" + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/EthRegistrarSubdomainRegistrar.json b/contracts/EthRegistrarSubdomainRegistrar.json new file mode 100644 index 0000000..96b5511 --- /dev/null +++ b/contracts/EthRegistrarSubdomainRegistrar.json @@ -0,0 +1,17965 @@ +{ + "contractName": "EthRegistrarSubdomainRegistrar", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ENS", + "name": "ens", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "DomainConfigured", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "DomainTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "DomainUnlisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "NewRegistration", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "RentPaid", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "TLD_NODE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + } + ], + "name": "configureDomain", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "migration", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "registrar", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "registrarOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_migration", + "type": "address" + } + ], + "name": "setMigrationAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "stop", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "stopped", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address payable", + "name": "newOwner", + "type": "address" + } + ], + "name": "transfer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_transfer", + "type": "address" + } + ], + "name": "configureDomainFor", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "unlistDomain", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "query", + "outputs": [ + { + "internalType": "string", + "name": "domain", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rent", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "internalType": "address", + "name": "_subdomainOwner", + "type": "address" + }, + { + "internalType": "address payable", + "name": "referrer", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "register", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "rentDue", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "migrate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "payRent", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ENS\",\"name\":\"ens\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"DomainConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"DomainTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"DomainUnlisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"NewRegistration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"RentPaid\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"TLD_NODE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"}],\"name\":\"configureDomain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transfer\",\"type\":\"address\"}],\"name\":\"configureDomainFor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"migrate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"migration\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"payRent\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_subdomainOwner\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"register\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registrar\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registrarOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"rentDue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_migration\",\"type\":\"address\"}],\"name\":\"setMigrationAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stop\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"stopped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address payable\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"unlistDomain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implements an ENS registrar that sells subdomains on behalf of their owners. * Users may register a subdomain by calling `register` with the name of the domain they wish to register under, and the label hash of the subdomain they want to register. They must also specify the new owner of the domain, and the referrer, who is paid an optional finder's fee. The registrar then configures a simple default resolver, which resolves `addr` lookups to the new owner, and sets the `owner` account as the owner of the subdomain in ENS. * New domains may be added by calling `configureDomain`, then transferring ownership in the ENS registry to this contract. Ownership in the contract may be transferred using `transfer`, and a domain may be unlisted for sale using `unlistDomain`. There is (deliberately) no way to recover ownership in ENS once the name is transferred to this registrar. * Critically, this contract does not check one key property of a listed domain: * - Is the name UTS46 normalised? * User applications MUST check these two elements for each domain before offering them to users for registration. * Applications should additionally check that the domains they are offering to register are controlled by this registrar, since calls to `register` will fail if this is not the case.\",\"methods\":{\"configureDomain(string,uint256,uint256)\":{\"details\":\"Configures a domain for sale.\",\"params\":{\"name\":\"The name to configure.\",\"price\":\"The price in wei to charge for subdomain registrations\",\"referralFeePPM\":\"The referral fee to offer, in parts per million\"}},\"configureDomainFor(string,uint256,uint256,address,address)\":{\"details\":\"Configures a domain, optionally transferring it to a new owner.\",\"params\":{\"_owner\":\"The address to assign ownership of this domain to.\",\"_transfer\":\"The address to set as the transfer address for the name when the permanent registrar is replaced. Can only be set to a non-zero value once.\",\"name\":\"The name to configure.\",\"price\":\"The price in wei to charge for subdomain registrations.\",\"referralFeePPM\":\"The referral fee to offer, in parts per million.\"}},\"migrate(string)\":{\"details\":\"Migrates the domain to a new registrar.\",\"params\":{\"name\":\"The name of the domain to migrate.\"}},\"owner(bytes32)\":{\"details\":\"owner returns the address of the account that controls a domain. Initially this is a null address. If the name has been transferred to this contract, then the internal mapping is consulted to determine who controls it. If the owner is not set, the owner of the domain in the Registrar is returned.\",\"params\":{\"label\":\"The label hash of the deed to check.\"},\"return\":\"The address owning the deed.\"},\"query(bytes32,string)\":{\"details\":\"Returns information about a subdomain.\",\"params\":{\"label\":\"The label hash for the domain.\",\"subdomain\":\"The label for the subdomain.\"},\"return\":\"domain The name of the domain, or an empty string if the subdomain is unavailable.price The price to register a subdomain, in wei.rent The rent to retain a subdomain, in wei per second.referralFeePPM The referral fee for the dapp, in ppm.\"},\"register(bytes32,string,address,address,address)\":{\"details\":\"Registers a subdomain.\",\"params\":{\"_subdomainOwner\":\"The account that should own the newly configured subdomain.\",\"label\":\"The label hash of the domain to register a subdomain of.\",\"referrer\":\"The address of the account to receive the referral fee.\",\"subdomain\":\"The desired subdomain label.\"}},\"setMigrationAddress(address)\":{\"details\":\"Sets the address where domains are migrated to.\",\"params\":{\"_migration\":\"Address of the new registrar.\"}},\"setResolver(string,address)\":{\"details\":\"Sets the resolver record for a name in ENS.\",\"params\":{\"name\":\"The name to set the resolver for.\",\"resolver\":\"The address of the resolver\"}},\"stop()\":{\"details\":\"Stops the registrar, disabling configuring of new domains.\"},\"transfer(string,address)\":{\"details\":\"Transfers internal control of a name to a new account. Does not update ENS.\",\"params\":{\"name\":\"The name to transfer.\",\"newOwner\":\"The address of the new owner.\"}},\"unlistDomain(string)\":{\"details\":\"Unlists a domain May only be called by the owner.\",\"params\":{\"name\":\"The name of the domain to unlist.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/EthRegistrarSubdomainRegistrar.sol\":\"EthRegistrarSubdomainRegistrar\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol\":{\"keccak256\":\"0x956a877538a83f7f4479a3e98d0918cfd1834440329780f67f0cd9ed399fb488\",\"urls\":[\"bzz-raw://47a2599288ae69dc111e7d32170e1aebb73e12747d85bd577e766772aed88577\",\"dweb:/ipfs/QmPXVqDeZXnYr9DW63YH4yDJVwMi7F38uEMTAnX5BTKH2A\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/EthRegistrarSubdomainRegistrar.sol\":{\"keccak256\":\"0x7438e23612da3a7c3cdba5636d0e5d6c70703af4d22ae3cc90ec6a5a26612fa1\",\"urls\":[\"bzz-raw://70e5a4824e7f0b2a74cbccda94c4fb33a79065794a41becc404e57d4d2127b48\",\"dweb:/ipfs/Qma9QGGr3chYJ7FXHWMni29wvnXbok9eNJEzQMU9XgjTar\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol\":{\"keccak256\":\"0x32eb0addc992b12a37b1fa94a5666bd540037419a3c02d2ba7537b556503d810\",\"urls\":[\"bzz-raw://c7da50663daa8678c844584ca7cf45edc0cf8139686051e1aab079c94027bb10\",\"dweb:/ipfs/Qmd8s5aQg98KyXXn4tEqyFDnTozwRQEBChZxWvwEGu5QJi\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol\":{\"keccak256\":\"0x4da4417de1daf1d66ee092b3cae0aeee2b5c591bfe881b006f80d2c4e582b790\",\"urls\":[\"bzz-raw://8b0c70eef6d5b9d2d6cda5b0849e2d6336ad395616e90673e61c5a73be66c29c\",\"dweb:/ipfs/QmYZWJDsgw284zSRztKu8jT5yPLPU7ySh9i3agWsnRd9Zw\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\":{\"keccak256\":\"0x8f8f496603d868fdf3ddf31c54fb6eed6a865f2adbf568fe0b3d999d4fa667f4\",\"urls\":[\"bzz-raw://40c16e89553e4af1dad651bdb63208f5e20429e0e5dbd716eb0cad14eafb96be\",\"dweb:/ipfs/QmYdCBZHRwRgKPRmCvghw7hbdvqqcJJCKg5JTtzWWwoSQP\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzz-raw://f07a2c393caa85f62f0aaa461e3edd50aa59371d4209778ba0558d7f8b4b856c\",\"dweb:/ipfs/QmeN3ZiYGSjCnQFeYaJNgoXjF9eDue1g3e9pqManRkeBtV\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x1f059ee943273719130df645fa38069b792988e8b732585528d5b1265f5aa046\",\"urls\":[\"bzz-raw://31e4d99091a83a42a6ea14d74ceae2ec3ffb2905c7ee07358875af72ea188333\",\"dweb:/ipfs/Qmf7nHc6BwhbyawapCVRZHzhBHNoA8ftpQWmGSyToVKVzN\"]}},\"version\":1}", + "bytecode": "0x608060405260008060006101000a81548160ff02191690831515021790555034801561002a57600080fd5b5060405162002c7038038062002c708339818101604052602081101561004f57600080fd5b81019080805190602001909291905050508080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be37f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561013857600080fd5b505afa15801561014c573d6000803e3d6000fd5b505050506040513d602081101561016257600080fd5b8101908080519060200190929190505050600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050612a6a80620002066000396000f3fe60806040526004361061012a5760003560e01c8063660b7ad5116100ab578063cb01a9bf1161006f578063cb01a9bf1461088f578063cf77525514610912578063da1fe7d514610a2e578063e34e788914610b0a578063f2fde38b14610bd2578063fbf58b3e14610c235761012a565b8063660b7ad5146105e1578063733ccaba1461068557806375f12b211461076d57806396df35401461079c578063c9c5b5b4146107c75761012a565b80632b20e397116100f25780632b20e397146102e15780632eef3d65146103385780633f15457f146104565780634254b155146104ad5780634732a7dc146105905761012a565b806301ffc9a71461012f57806302571be3146101a157806307da68f51461021c5780631705a3bd146102335780631cb82d791461028a575b600080fd5b34801561013b57600080fd5b506101876004803603602081101561015257600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d0b565b604051808215151515815260200191505060405180910390f35b3480156101ad57600080fd5b506101da600480360360208110156101c457600080fd5b8101908080359060200190929190505050610d6d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561022857600080fd5b50610231610ecf565b005b34801561023f57600080fd5b50610248610f5e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029657600080fd5b5061029f610f84565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ed57600080fd5b506102f6610faa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034457600080fd5b506103c66004803603604081101561035b57600080fd5b81019080803590602001909291908035906020019064010000000081111561038257600080fd5b82018360208201111561039457600080fd5b803590602001918460018302840111640100000000831117156103b657600080fd5b9091929391929390505050610fd0565b6040518080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156104185780820151818401526020810190506103fd565b50505050905090810190601f1680156104455780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561046257600080fd5b5061046b611269565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61058e600480360360a08110156104c357600080fd5b8101908080359060200190929190803590602001906401000000008111156104ea57600080fd5b8201836020820111156104fc57600080fd5b8035906020019184600183028401116401000000008311171561051e57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128f565b005b34801561059c57600080fd5b506105df600480360360208110156105b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117ac565b005b3480156105ed57600080fd5b5061066f6004803603604081101561060457600080fd5b81019080803590602001909291908035906020019064010000000081111561062b57600080fd5b82018360208201111561063d57600080fd5b8035906020019184600183028401116401000000008311171561065f57600080fd5b9091929391929390505050611862565b6040518082815260200191505060405180910390f35b34801561069157600080fd5b5061076b600480360360408110156106a857600080fd5b81019080803590602001906401000000008111156106c557600080fd5b8201836020820111156106d757600080fd5b803590602001918460018302840111640100000000831117156106f957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b005b34801561077957600080fd5b50610782611a00565b604051808215151515815260200191505060405180910390f35b3480156107a857600080fd5b506107b1611a12565b6040518082815260200191505060405180910390f35b3480156107d357600080fd5b5061088d600480360360208110156107ea57600080fd5b810190808035906020019064010000000081111561080757600080fd5b82018360208201111561081957600080fd5b8035906020019184600183028401116401000000008311171561083b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611a39565b005b610910600480360360408110156108a557600080fd5b8101908080359060200190929190803590602001906401000000008111156108cc57600080fd5b8201836020820111156108de57600080fd5b8035906020019184600183028401116401000000008311171561090057600080fd5b9091929391929390505050611eb5565b005b34801561091e57600080fd5b50610a2c600480360360a081101561093557600080fd5b810190808035906020019064010000000081111561095257600080fd5b82018360208201111561096457600080fd5b8035906020019184600183028401116401000000008311171561098657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611eba565b005b348015610a3a57600080fd5b50610b0860048036036060811015610a5157600080fd5b8101908080359060200190640100000000811115610a6e57600080fd5b820183602082011115610a8057600080fd5b80359060200191846001830284011164010000000083111715610aa257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190505050612335565b005b348015610b1657600080fd5b50610bd060048036036020811015610b2d57600080fd5b8101908080359060200190640100000000811115610b4a57600080fd5b820183602082011115610b5c57600080fd5b80359060200191846001830284011164010000000083111715610b7e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612348565b005b348015610bde57600080fd5b50610c2160048036036020811015610bf557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612422565b005b348015610c2f57600080fd5b50610d0960048036036040811015610c4657600080fd5b8101908080359060200190640100000000811115610c6357600080fd5b820183602082011115610c7557600080fd5b80359060200191846001830284011164010000000083111715610c9757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124c0565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d66575063c1b15f5a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e16576004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610eca565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8360001c6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d6020811015610eb657600080fd5b810190808051906020019092919050505090505b919050565b6000809054906101000a900460ff1615610ee857600080fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f4257600080fd5b60016000806101000a81548160ff021916908315150217905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000806000807f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b886040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600081888860405180838380828437808301925050509250505060405180910390206040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561110857600080fd5b505afa15801561111c573d6000803e3d6000fd5b505050506040513d602081101561113257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461118e5760008060006040518060200160405280600081525092919082925081915080905095509550955095505050611260565b6000600460008b8152602001908152602001600020905080600001816002015460008360030154838054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561124a5780601f1061121f5761010080835404028352916020019161124a565b820191906000526020600020905b81548152906001019060200180831161122d57829003601f168201915b5050505050935081915096509650965096505050505b93509350935093565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900460ff16156112a857600080fd5b600083905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b8860405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000878760405180838380828437808301925050509250505060405180910390209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be384846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156113df57600080fd5b505afa1580156113f3573d6000803e3d6000fd5b505050506040513d602081101561140957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461143a57600080fd5b6000600460008b81526020019081526020016000209050898160000160405180828054600181600116156101000203166002900480156114b15780601f1061148f5761010080835404028352918201916114b1565b820191906000526020600020905b81548152906001019060200180831161149d575b50509150506040518091039020146114c857600080fd5b80600201543410156114d957600080fd5b8060020154341115611533573373ffffffffffffffffffffffffffffffffffffffff166108fc826002015434039081150290604051600060405180830381858888f19350505050158015611531573d6000803e3d6000fd5b505b6000816002015490506000826003015411801561157d5750600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b80156115d957508160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15611647576000620f42408360030154846002015402816115f657fe5b0490508773ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561163f573d6000803e3d6000fd5b508082039150505b60008111156116bc578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116ba573d6000803e3d6000fd5b505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156116f5573394505b61170184848789612600565b8673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168c7ffa38f9920801763ca6e4ee19135fb26a4fa11c0a34f7117455064991a1a3e6588d8d876002015460405180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a45050505050505050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461180657600080fd5b6000809054906101000a900460ff1661181e57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90509392505050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff166118b682610d6d565b73ffffffffffffffffffffffffffffffffffffffff16146118d657600080fd5b60008380519060200120905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82866040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156119e157600080fd5b505af11580156119f5573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900460ff1681565b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b81565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff16611a6182610d6d565b73ffffffffffffffffffffffffffffffffffffffff1614611a8157600080fd5b6000809054906101000a900460ff16611a9957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611af557600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460001c6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611be657600080fd5b505af1158015611bfa573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf77525582600001836002015484600301548560010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006040518663ffffffff1660e01b815260040180806020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611d795780601f10611d4e57610100808354040283529160200191611d79565b820191906000526020600020905b815481529060010190602001808311611d5c57829003601f168201915b50509650505050505050600060405180830381600087803b158015611d9d57600080fd5b505af1158015611db1573d6000803e3d6000fd5b505050506004600083815260200190815260200160002060008082016000611dd99190612948565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905560038201600090555050817f8c0dd32279c25300d82425bebe31a5c703918d83d2bb57a1155dfa6cbba61cf8856040518080602001828103825283818151815260200191508051906020019080838360005b83811015611e75578082015181840152602081019050611e5a565b50505050905090810190601f168015611ea25780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050565b600080fd5b84805190602001203373ffffffffffffffffffffffffffffffffffffffff16611ee282610d6d565b73ffffffffffffffffffffffffffffffffffffffff1614611f0257600080fd5b60008680519060200120905060006004600083815260200190815260200160002090503073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611fb257600080fd5b505afa158015611fc6573d6000803e3d6000fd5b505050506040513d6020811015611fdc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146121c557600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33308560001c6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156120e857600080fd5b505af11580156120fc573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166328ed4f6c8360001c306040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156121ac57600080fd5b505af11580156121c0573d6000803e3d6000fd5b505050505b8473ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461226057848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b818160000160405180828054600181600116156101000203166002900480156122c05780601f1061229e5761010080835404028352918201916122c0565b820191906000526020600020905b8154815290600101906020018083116122ac575b50509150506040518091039020146122ec57878160000190805190602001906122ea929190612990565b505b868160020181905550858160030181905550817f1427993bb6b6c16d8953c450c37078c8f41196e2e2db1619cda06620143e2d9160405160405180910390a25050505050505050565b612343838383336000611eba565b505050565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff1661237082610d6d565b73ffffffffffffffffffffffffffffffffffffffff161461239057600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050817f77f7b610de5055c8f704e6a3b12874468f5785f3a7d1007b67a8a4b4c7ed88fc60405160405180910390a260405180602001604052806000815250816000019080519060200190612407929190612990565b50600081600201819055506000816003018190555050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461247c57600080fd5b80600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff166124e882610d6d565b73ffffffffffffffffffffffffffffffffffffffff161461250857600080fd5b6000838051906020012090508273ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16827f06e9c07310f63759634ddbb7257dbb19ca404f90bd6bdef1d3386fab033cebce60405160405180910390a4826004600083815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59238585306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156126b157600080fd5b505af11580156126c5573d6000803e3d6000fd5b505050506040513d60208110156126db57600080fd5b810190808051906020019092919050505050600084846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82846040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156127c957600080fd5b505af11580156127dd573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663d5fa2b0082856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561286857600080fd5b505af115801561287c573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561292957600080fd5b505af115801561293d573d6000803e3d6000fd5b505050505050505050565b50805460018160011615610100020316600290046000825580601f1061296e575061298d565b601f01602090049060005260206000209081019061298c9190612a10565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106129d157805160ff19168380011785556129ff565b828001600101855582156129ff579182015b828111156129fe5782518255916020019190600101906129e3565b5b509050612a0c9190612a10565b5090565b612a3291905b80821115612a2e576000816000905550600101612a16565b5090565b9056fea265627a7a723158202e12ee57ba5a522e9d6bcc69e6560c4349723c28af9706dcd76fdee2aa5fe9ff64736f6c63430005100032", + "deployedBytecode": "0x60806040526004361061012a5760003560e01c8063660b7ad5116100ab578063cb01a9bf1161006f578063cb01a9bf1461088f578063cf77525514610912578063da1fe7d514610a2e578063e34e788914610b0a578063f2fde38b14610bd2578063fbf58b3e14610c235761012a565b8063660b7ad5146105e1578063733ccaba1461068557806375f12b211461076d57806396df35401461079c578063c9c5b5b4146107c75761012a565b80632b20e397116100f25780632b20e397146102e15780632eef3d65146103385780633f15457f146104565780634254b155146104ad5780634732a7dc146105905761012a565b806301ffc9a71461012f57806302571be3146101a157806307da68f51461021c5780631705a3bd146102335780631cb82d791461028a575b600080fd5b34801561013b57600080fd5b506101876004803603602081101561015257600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d0b565b604051808215151515815260200191505060405180910390f35b3480156101ad57600080fd5b506101da600480360360208110156101c457600080fd5b8101908080359060200190929190505050610d6d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561022857600080fd5b50610231610ecf565b005b34801561023f57600080fd5b50610248610f5e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029657600080fd5b5061029f610f84565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ed57600080fd5b506102f6610faa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034457600080fd5b506103c66004803603604081101561035b57600080fd5b81019080803590602001909291908035906020019064010000000081111561038257600080fd5b82018360208201111561039457600080fd5b803590602001918460018302840111640100000000831117156103b657600080fd5b9091929391929390505050610fd0565b6040518080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156104185780820151818401526020810190506103fd565b50505050905090810190601f1680156104455780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561046257600080fd5b5061046b611269565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61058e600480360360a08110156104c357600080fd5b8101908080359060200190929190803590602001906401000000008111156104ea57600080fd5b8201836020820111156104fc57600080fd5b8035906020019184600183028401116401000000008311171561051e57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128f565b005b34801561059c57600080fd5b506105df600480360360208110156105b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117ac565b005b3480156105ed57600080fd5b5061066f6004803603604081101561060457600080fd5b81019080803590602001909291908035906020019064010000000081111561062b57600080fd5b82018360208201111561063d57600080fd5b8035906020019184600183028401116401000000008311171561065f57600080fd5b9091929391929390505050611862565b6040518082815260200191505060405180910390f35b34801561069157600080fd5b5061076b600480360360408110156106a857600080fd5b81019080803590602001906401000000008111156106c557600080fd5b8201836020820111156106d757600080fd5b803590602001918460018302840111640100000000831117156106f957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b005b34801561077957600080fd5b50610782611a00565b604051808215151515815260200191505060405180910390f35b3480156107a857600080fd5b506107b1611a12565b6040518082815260200191505060405180910390f35b3480156107d357600080fd5b5061088d600480360360208110156107ea57600080fd5b810190808035906020019064010000000081111561080757600080fd5b82018360208201111561081957600080fd5b8035906020019184600183028401116401000000008311171561083b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611a39565b005b610910600480360360408110156108a557600080fd5b8101908080359060200190929190803590602001906401000000008111156108cc57600080fd5b8201836020820111156108de57600080fd5b8035906020019184600183028401116401000000008311171561090057600080fd5b9091929391929390505050611eb5565b005b34801561091e57600080fd5b50610a2c600480360360a081101561093557600080fd5b810190808035906020019064010000000081111561095257600080fd5b82018360208201111561096457600080fd5b8035906020019184600183028401116401000000008311171561098657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611eba565b005b348015610a3a57600080fd5b50610b0860048036036060811015610a5157600080fd5b8101908080359060200190640100000000811115610a6e57600080fd5b820183602082011115610a8057600080fd5b80359060200191846001830284011164010000000083111715610aa257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190505050612335565b005b348015610b1657600080fd5b50610bd060048036036020811015610b2d57600080fd5b8101908080359060200190640100000000811115610b4a57600080fd5b820183602082011115610b5c57600080fd5b80359060200191846001830284011164010000000083111715610b7e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612348565b005b348015610bde57600080fd5b50610c2160048036036020811015610bf557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612422565b005b348015610c2f57600080fd5b50610d0960048036036040811015610c4657600080fd5b8101908080359060200190640100000000811115610c6357600080fd5b820183602082011115610c7557600080fd5b80359060200191846001830284011164010000000083111715610c9757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124c0565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d66575063c1b15f5a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e16576004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610eca565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8360001c6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d6020811015610eb657600080fd5b810190808051906020019092919050505090505b919050565b6000809054906101000a900460ff1615610ee857600080fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f4257600080fd5b60016000806101000a81548160ff021916908315150217905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000806000807f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b886040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600081888860405180838380828437808301925050509250505060405180910390206040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561110857600080fd5b505afa15801561111c573d6000803e3d6000fd5b505050506040513d602081101561113257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461118e5760008060006040518060200160405280600081525092919082925081915080905095509550955095505050611260565b6000600460008b8152602001908152602001600020905080600001816002015460008360030154838054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561124a5780601f1061121f5761010080835404028352916020019161124a565b820191906000526020600020905b81548152906001019060200180831161122d57829003601f168201915b5050505050935081915096509650965096505050505b93509350935093565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900460ff16156112a857600080fd5b600083905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b8860405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000878760405180838380828437808301925050509250505060405180910390209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be384846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156113df57600080fd5b505afa1580156113f3573d6000803e3d6000fd5b505050506040513d602081101561140957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461143a57600080fd5b6000600460008b81526020019081526020016000209050898160000160405180828054600181600116156101000203166002900480156114b15780601f1061148f5761010080835404028352918201916114b1565b820191906000526020600020905b81548152906001019060200180831161149d575b50509150506040518091039020146114c857600080fd5b80600201543410156114d957600080fd5b8060020154341115611533573373ffffffffffffffffffffffffffffffffffffffff166108fc826002015434039081150290604051600060405180830381858888f19350505050158015611531573d6000803e3d6000fd5b505b6000816002015490506000826003015411801561157d5750600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b80156115d957508160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15611647576000620f42408360030154846002015402816115f657fe5b0490508773ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561163f573d6000803e3d6000fd5b508082039150505b60008111156116bc578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116ba573d6000803e3d6000fd5b505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156116f5573394505b61170184848789612600565b8673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168c7ffa38f9920801763ca6e4ee19135fb26a4fa11c0a34f7117455064991a1a3e6588d8d876002015460405180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a45050505050505050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461180657600080fd5b6000809054906101000a900460ff1661181e57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90509392505050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff166118b682610d6d565b73ffffffffffffffffffffffffffffffffffffffff16146118d657600080fd5b60008380519060200120905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82866040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156119e157600080fd5b505af11580156119f5573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900460ff1681565b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b81565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff16611a6182610d6d565b73ffffffffffffffffffffffffffffffffffffffff1614611a8157600080fd5b6000809054906101000a900460ff16611a9957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611af557600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460001c6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611be657600080fd5b505af1158015611bfa573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf77525582600001836002015484600301548560010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006040518663ffffffff1660e01b815260040180806020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611d795780601f10611d4e57610100808354040283529160200191611d79565b820191906000526020600020905b815481529060010190602001808311611d5c57829003601f168201915b50509650505050505050600060405180830381600087803b158015611d9d57600080fd5b505af1158015611db1573d6000803e3d6000fd5b505050506004600083815260200190815260200160002060008082016000611dd99190612948565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905560038201600090555050817f8c0dd32279c25300d82425bebe31a5c703918d83d2bb57a1155dfa6cbba61cf8856040518080602001828103825283818151815260200191508051906020019080838360005b83811015611e75578082015181840152602081019050611e5a565b50505050905090810190601f168015611ea25780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050565b600080fd5b84805190602001203373ffffffffffffffffffffffffffffffffffffffff16611ee282610d6d565b73ffffffffffffffffffffffffffffffffffffffff1614611f0257600080fd5b60008680519060200120905060006004600083815260200190815260200160002090503073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611fb257600080fd5b505afa158015611fc6573d6000803e3d6000fd5b505050506040513d6020811015611fdc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146121c557600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33308560001c6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156120e857600080fd5b505af11580156120fc573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166328ed4f6c8360001c306040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156121ac57600080fd5b505af11580156121c0573d6000803e3d6000fd5b505050505b8473ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461226057848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b818160000160405180828054600181600116156101000203166002900480156122c05780601f1061229e5761010080835404028352918201916122c0565b820191906000526020600020905b8154815290600101906020018083116122ac575b50509150506040518091039020146122ec57878160000190805190602001906122ea929190612990565b505b868160020181905550858160030181905550817f1427993bb6b6c16d8953c450c37078c8f41196e2e2db1619cda06620143e2d9160405160405180910390a25050505050505050565b612343838383336000611eba565b505050565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff1661237082610d6d565b73ffffffffffffffffffffffffffffffffffffffff161461239057600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050817f77f7b610de5055c8f704e6a3b12874468f5785f3a7d1007b67a8a4b4c7ed88fc60405160405180910390a260405180602001604052806000815250816000019080519060200190612407929190612990565b50600081600201819055506000816003018190555050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461247c57600080fd5b80600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff166124e882610d6d565b73ffffffffffffffffffffffffffffffffffffffff161461250857600080fd5b6000838051906020012090508273ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16827f06e9c07310f63759634ddbb7257dbb19ca404f90bd6bdef1d3386fab033cebce60405160405180910390a4826004600083815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59238585306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156126b157600080fd5b505af11580156126c5573d6000803e3d6000fd5b505050506040513d60208110156126db57600080fd5b810190808051906020019092919050505050600084846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82846040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156127c957600080fd5b505af11580156127dd573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663d5fa2b0082856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561286857600080fd5b505af115801561287c573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561292957600080fd5b505af115801561293d573d6000803e3d6000fd5b505050505050505050565b50805460018160011615610100020316600290046000825580601f1061296e575061298d565b601f01602090049060005260206000209081019061298c9190612a10565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106129d157805160ff19168380011785556129ff565b828001600101855582156129ff579182015b828111156129fe5782518255916020019190600101906129e3565b5b509050612a0c9190612a10565b5090565b612a3291905b80821115612a2e576000816000905550600101612a16565b5090565b9056fea265627a7a723158202e12ee57ba5a522e9d6bcc69e6560c4349723c28af9706dcd76fdee2aa5fe9ff64736f6c63430005100032", + "sourceMap": "1500:7459:2:-;;;348:5:0;326:27;;;;;;;;;;;;;;;;;;;;1747:63:2;8:9:-1;5:2;;;30:1;27;20:12;5:2;1747:63:2;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1747:63:2;;;;;;;;;;;;;;;;1795:3;869:4:0;863:3;;:10;;;;;;;;;;;;;;;;;;895:3;;;;;;;;;;;:9;;;253:66;905:8;;895:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;895:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;895:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;895:19:0;;;;;;;;;;;;;;;;883:9;;:31;;;;;;;;;;;;;;;;;;941:10;924:14;;:27;;;;;;;;;;;;;;;;;;824:134;1747:63:2;1500:7459;;;;;;", + "deployedSourceMap": "1500:7459:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1568:243:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1568:243:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1568:243:0;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2291:236:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2291:236:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2291:236:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2979:87:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2979:87:0;;;:::i;:::-;;394:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;394:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;359:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;359:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;425:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;425:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5383:518:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5383:518:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5383:518:2;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5383:518:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5383:518:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5383:518:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5383:518:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;456:14:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;456:14:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6257:1651:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6257:1651:2;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6257:1651:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6257:1651:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6257:1651:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3203:142:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3203:142:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3203:142:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7914:188:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7914:188:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7914:188:2;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7914:188:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7914:188:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7914:188:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2187:266:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2187:266:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2187:266:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2187:266:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2187:266:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2187:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2187:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;326:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;326:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;218:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;218:101:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8230:620:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8230:620:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8230:620:2;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8230:620:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8230:620:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8230:620:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;8230:620:2;;;;;;;;;;;;;;;:::i;:::-;;8856:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8856:101:2;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8856:101:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8856:101:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8856:101:2;;;;;;;;;;;;:::i;:::-;;3569:858;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3569:858:2;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3569:858:2;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3569:858:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3569:858:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3569:858:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3569:858:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2711:175:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2711:175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2711:175:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2711:175:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2711:175:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2711:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2711:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4571:311:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4571:311:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4571:311:2;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4571:311:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4571:311:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4571:311:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4571:311:2;;;;;;;;;;;;;;;:::i;:::-;;3351:115:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3351:115:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3351:115:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2743:268:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2743:268:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2743:268:2;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2743:268:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2743:268:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2743:268:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2743:268:2;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1568:243:0;1636:4;1689:10;1674:25;;:11;:25;;;;1673:99;;;;1761:10;1746:25;;:11;:25;;;;1673:99;1652:152;;1568:243;;;:::o;2291:236:2:-;2342:7;2397:3;2365:36;;:7;:14;2373:5;2365:14;;;;;;;;;;;:20;;;;;;;;;;;;:36;;;2361:94;;2424:7;:14;2432:5;2424:14;;;;;;;;;;;:20;;;;;;;;;;;;2417:27;;;;2361:94;2486:9;;;;;;;;;;;2472:32;;;2513:5;2505:14;;2472:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2472:48:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2472:48:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2472:48:2;;;;;;;;;;;;;;;;2465:55;;2291:236;;;;:::o;2979:87:0:-;623:7;;;;;;;;;;;622:8;614:17;;;;;;719:14;;;;;;;;;;;705:28;;:10;:28;;;697:37;;;;;;3055:4;3045:7;;:14;;;;;;;;;;;;;;;;;;2979:87::o;394:24::-;;;;;;;;;;;;;:::o;359:29::-;;;;;;;;;;;;;:::o;425:24::-;;;;;;;;;;;;;:::o;5383:518:2:-;5463:20;5485:10;5497:9;5508:19;5539:12;253:66:0;5581:8:2;;5591:5;5564:33;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5564:33:2;;;5554:44;;;;;;5539:59;;5608:15;5653:4;5675:9;;5659:27;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;5659:27:2;;;;;;;;;;;;;5636:51;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5636:51:2;;;5626:62;;;;;;5608:80;;5733:3;5703:34;;:3;;;;;;;;;;;:9;;;5713:7;5703:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5703:18:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5703:18:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5703:18:2;;;;;;;;;;;;;;;;:34;;;5699:85;;5765:1;5768;5771;5753:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5699:85;5794:19;5816:7;:14;5824:5;5816:14;;;;;;;;;;;5794:36;;5848:4;:9;;5859:4;:10;;;5871:1;5874:4;:19;;;5840:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5383:518;;;;;;;;:::o;456:14:0:-;;;;;;;;;;;;;:::o;6257:1651:2:-;623:7:0;;;;;;;;;;;622:8;614:17;;;;;;6425:22:2;6450:15;6425:40;;6475:18;253:66:0;6523:8:2;;6533:5;6506:33;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6506:33:2;;;6496:44;;;;;;6475:65;;6550:22;6591:9;;6575:27;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;6575:27:2;;;;;;;;;;;;;6550:52;;6752:1;6674:80;;:3;;;;;;;;;;;:9;;;6711:10;6723:14;6694:44;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6694:44:2;;;6684:55;;;;;;6674:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6674:66:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6674:66:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6674:66:2;;;;;;;;;;;;;;;;:80;;;6666:89;;;;;;6766:21;6790:7;:14;6798:5;6790:14;;;;;;;;;;;6766:38;;6909:5;6892:6;:11;;6876:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:38;6868:47;;;;;;6985:6;:12;;;6972:9;:25;;6964:34;;;;;;7056:6;:12;;;7044:9;:24;7040:100;;;7084:10;:19;;:45;7116:6;:12;;;7104:9;:24;7084:45;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7084:45:2;7040:100;7183:13;7199:6;:12;;;7183:28;;7249:1;7225:6;:21;;;:25;:53;;;;;7274:3;7254:24;;:8;:24;;;;7225:53;:81;;;;;7294:6;:12;;;;;;;;;;;;7282:24;;:8;:24;;;;7225:81;7221:260;;;7322:19;7385:7;7360:6;:21;;;7345:6;:12;;;:36;7344:48;;;;;;7322:70;;7406:8;:17;;:30;7424:11;7406:30;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7406:30:2;7459:11;7450:20;;;;7221:260;;7540:1;7532:5;:9;7528:68;;;7557:6;:12;;;;;;;;;;;;:21;;:28;7579:5;7557:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7557:28:2;7528:68;7667:3;7641:30;;:14;:30;;;7637:88;;;7704:10;7687:27;;7637:88;7734:78;7749:10;7761:14;7777;7802:8;7734:14;:78::i;:::-;7878:8;7828:73;;7862:14;7828:73;;7844:5;7828:73;7851:9;;7888:6;:12;;;7828:73;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7828:73:2;;;;;;;;;;;;;;;641:1:0;;;;;6257:1651:2;;;;;;:::o;3203:142:0:-;719:14;;;;;;;;;;;705:28;;:10;:28;;;697:37;;;;;;3298:7;;;;;;;;;;;3290:16;;;;;;3328:10;3316:9;;:22;;;;;;;;;;;;;;;;;;3203:142;:::o;7914:188:2:-;7996:14;8029:66;8022:73;;7914:188;;;;;:::o;2187:266:0:-;2280:4;2264:22;;;;;;546:10;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;2298:13;2330:4;2314:22;;;;;;2298:38;;2346:12;253:66;2388:8;;2398:5;2371:33;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2371:33:0;;;2361:44;;;;;;2346:59;;2415:3;;;;;;;;;;;:15;;;2431:4;2437:8;2415:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2415:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2415:31:0;;;;567:1;;2187:266;;;:::o;326:27::-;;;;;;;;;;;;;:::o;218:101::-;253:66;218:101;;;:::o;8230:620:2:-;8301:4;8285:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;8327:7:2;;;;;;;;;;;8319:16;;;;;;8374:3;8353:25;;:9;;;;;;;;;;;:25;;;;8345:34;;;;;;8390:13;8422:4;8406:22;;;;;;8390:38;;8438:21;8462:7;:14;8470:5;8462:14;;;;;;;;;;;8438:38;;8501:9;;;;;;;;;;;8487:32;;;8520:9;;;;;;;;;;;8539:5;8531:14;;8487:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8487:59:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8487:59:2;;;;8588:9;;;;;;;;;;;8557:60;;;8631:6;:11;;8656:6;:12;;;8682:6;:21;;;8717:6;:12;;;;;;;;;;;;8751:3;8557:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8557:208:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8557:208:2;;;;8783:7;:14;8791:5;8783:14;;;;;;;;;;;;8776:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8831:5;8813:30;8838:4;8813:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8813:30:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;567:1:0;;8230:620:2;;:::o;8856:101::-;8942:8;;;3569:858;3727:4;3711:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;3745:13:2;3777:4;3761:22;;;;;;3745:38;;3793:21;3817:7;:14;3825:5;3817:14;;;;;;;;;;;3793:38;;3906:4;3846:65;;3860:9;;;;;;;;;;;3846:32;;;3887:5;3879:14;;3846:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3846:48:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3846:48:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3846:48:2;;;;;;;;;;;;;;;;:65;;;3842:253;;3941:9;;;;;;;;;;;3927:37;;;3965:10;3985:4;4000:5;3992:14;;3927:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3927:80:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3927:80:2;;;;4035:9;;;;;;;;;;;4021:32;;;4062:5;4054:14;;4078:4;4021:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4021:63:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4021:63:2;;;;3842:253;4125:6;4109:22;;:6;:12;;;;;;;;;;;;:22;;;4105:74;;4162:6;4147;:12;;;:21;;;;;;;;;;;;;;;;;;4105:74;4226:5;4209:6;:11;;4193:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:38;4189:114;;4288:4;4274:6;:11;;:18;;;;;;;;;;;;:::i;:::-;;4189:114;4328:5;4313:6;:12;;:20;;;;4367:14;4343:6;:21;;:38;;;;4414:5;4397:23;;;;;;;;;;567:1:0;;3569:858:2;;;;;;:::o;2711:175:0:-;2806:73;2825:4;2831:5;2838:14;2854:10;2874:3;2806:18;:73::i;:::-;2711:175;;;:::o;4571:311:2:-;4647:4;4631:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;4665:13:2;4697:4;4681:22;;;;;;4665:38;;4713:21;4737:7;:14;4745:5;4737:14;;;;;;;;;;;4713:38;;4781:5;4766:21;;;;;;;;;;4798:16;;;;;;;;;;;;:6;:11;;:16;;;;;;;;;;;;:::i;:::-;;4839:1;4824:6;:12;;:16;;;;4874:1;4850:6;:21;;:25;;;;567:1:0;;4571:311:2;;:::o;3351:115:0:-;719:14;;;;;;;;;;;705:28;;:10;:28;;;697:37;;;;;;3451:8;3434:14;;:25;;;;;;;;;;;;;;;;;;3351:115;:::o;2743:268:2:-;2841:4;2825:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;2859:13:2;2891:4;2875:22;;;;;;2859:38;;2954:8;2912:51;;2932:7;:14;2940:5;2932:14;;;;;;;;;;;:20;;;;;;;;;;;;2912:51;;2925:5;2912:51;;;;;;;;;;2996:8;2973:7;:14;2981:5;2973:14;;;;;;;;;;;:20;;;:31;;;;;;;;;;;;;;;;;;567:1:0;2743:268:2;;;:::o;964:598:0:-;1131:3;;;;;;;;;;;:19;;;1151:4;1157:5;1172:4;1131:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1131:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1131:47:0;;;;;;;;;;;;;;;;;1189:15;1234:4;1240:5;1217:29;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1217:29:0;;;1207:40;;;;;;1189:58;;1297:3;;;;;;;;;;;:15;;;1313:7;1330:8;1297:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1297:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1297:43:0;;;;1401:8;:16;;;1418:7;1427:14;1401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1401:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1401:41:0;;;;1518:3;;;;;;;;;;;:12;;;1531:7;1540:14;1518:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1518:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1518:37:0;;;;964:598;;;;;:::o;1500:7459:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\";\nimport \"./AbstractSubdomainRegistrar.sol\";\n\n/**\n * @dev Implements an ENS registrar that sells subdomains on behalf of their owners.\n *\n * Users may register a subdomain by calling `register` with the name of the domain\n * they wish to register under, and the label hash of the subdomain they want to\n * register. They must also specify the new owner of the domain, and the referrer,\n * who is paid an optional finder's fee. The registrar then configures a simple\n * default resolver, which resolves `addr` lookups to the new owner, and sets\n * the `owner` account as the owner of the subdomain in ENS.\n *\n * New domains may be added by calling `configureDomain`, then transferring\n * ownership in the ENS registry to this contract. Ownership in the contract\n * may be transferred using `transfer`, and a domain may be unlisted for sale\n * using `unlistDomain`. There is (deliberately) no way to recover ownership\n * in ENS once the name is transferred to this registrar.\n *\n * Critically, this contract does not check one key property of a listed domain:\n *\n * - Is the name UTS46 normalised?\n *\n * User applications MUST check these two elements for each domain before\n * offering them to users for registration.\n *\n * Applications should additionally check that the domains they are offering to\n * register are controlled by this registrar, since calls to `register` will\n * fail if this is not the case.\n */\ncontract EthRegistrarSubdomainRegistrar is AbstractSubdomainRegistrar {\n\n struct Domain {\n string name;\n address payable owner;\n uint price;\n uint referralFeePPM;\n }\n\n mapping (bytes32 => Domain) domains;\n\n constructor(ENS ens) AbstractSubdomainRegistrar(ens) public { }\n\n /**\n * @dev owner returns the address of the account that controls a domain.\n * Initially this is a null address. If the name has been\n * transferred to this contract, then the internal mapping is consulted\n * to determine who controls it. If the owner is not set,\n * the owner of the domain in the Registrar is returned.\n * @param label The label hash of the deed to check.\n * @return The address owning the deed.\n */\n function owner(bytes32 label) public view returns (address) {\n if (domains[label].owner != address(0x0)) {\n return domains[label].owner;\n }\n\n return BaseRegistrar(registrar).ownerOf(uint256(label));\n }\n\n /**\n * @dev Transfers internal control of a name to a new account. Does not update\n * ENS.\n * @param name The name to transfer.\n * @param newOwner The address of the new owner.\n */\n function transfer(string memory name, address payable newOwner) public owner_only(keccak256(bytes(name))) {\n bytes32 label = keccak256(bytes(name));\n emit OwnerChanged(label, domains[label].owner, newOwner);\n domains[label].owner = newOwner;\n }\n\n /**\n * @dev Configures a domain, optionally transferring it to a new owner.\n * @param name The name to configure.\n * @param price The price in wei to charge for subdomain registrations.\n * @param referralFeePPM The referral fee to offer, in parts per million.\n * @param _owner The address to assign ownership of this domain to.\n * @param _transfer The address to set as the transfer address for the name\n * when the permanent registrar is replaced. Can only be set to a non-zero\n * value once.\n */\n function configureDomainFor(string memory name, uint price, uint referralFeePPM, address payable _owner, address _transfer) public owner_only(keccak256(bytes(name))) {\n bytes32 label = keccak256(bytes(name));\n Domain storage domain = domains[label];\n\n if (BaseRegistrar(registrar).ownerOf(uint256(label)) != address(this)) {\n BaseRegistrar(registrar).transferFrom(msg.sender, address(this), uint256(label));\n BaseRegistrar(registrar).reclaim(uint256(label), address(this));\n }\n\n if (domain.owner != _owner) {\n domain.owner = _owner;\n }\n\n if (keccak256(bytes(domain.name)) != label) {\n // New listing\n domain.name = name;\n }\n\n domain.price = price;\n domain.referralFeePPM = referralFeePPM;\n\n emit DomainConfigured(label);\n }\n\n /**\n * @dev Unlists a domain\n * May only be called by the owner.\n * @param name The name of the domain to unlist.\n */\n function unlistDomain(string memory name) public owner_only(keccak256(bytes(name))) {\n bytes32 label = keccak256(bytes(name));\n Domain storage domain = domains[label];\n emit DomainUnlisted(label);\n\n domain.name = '';\n domain.price = 0;\n domain.referralFeePPM = 0;\n }\n\n /**\n * @dev Returns information about a subdomain.\n * @param label The label hash for the domain.\n * @param subdomain The label for the subdomain.\n * @return domain The name of the domain, or an empty string if the subdomain\n * is unavailable.\n * @return price The price to register a subdomain, in wei.\n * @return rent The rent to retain a subdomain, in wei per second.\n * @return referralFeePPM The referral fee for the dapp, in ppm.\n */\n function query(bytes32 label, string calldata subdomain) external view returns (string memory domain, uint price, uint rent, uint referralFeePPM) {\n bytes32 node = keccak256(abi.encodePacked(TLD_NODE, label));\n bytes32 subnode = keccak256(abi.encodePacked(node, keccak256(bytes(subdomain))));\n\n if (ens.owner(subnode) != address(0x0)) {\n return ('', 0, 0, 0);\n }\n\n Domain storage data = domains[label];\n return (data.name, data.price, 0, data.referralFeePPM);\n }\n\n /**\n * @dev Registers a subdomain.\n * @param label The label hash of the domain to register a subdomain of.\n * @param subdomain The desired subdomain label.\n * @param _subdomainOwner The account that should own the newly configured subdomain.\n * @param referrer The address of the account to receive the referral fee.\n */\n function register(bytes32 label, string calldata subdomain, address _subdomainOwner, address payable referrer, address resolver) external not_stopped payable {\n address subdomainOwner = _subdomainOwner;\n bytes32 domainNode = keccak256(abi.encodePacked(TLD_NODE, label));\n bytes32 subdomainLabel = keccak256(bytes(subdomain));\n\n // Subdomain must not be registered already.\n require(ens.owner(keccak256(abi.encodePacked(domainNode, subdomainLabel))) == address(0));\n\n Domain storage domain = domains[label];\n\n // Domain must be available for registration\n require(keccak256(bytes(domain.name)) == label);\n\n // User must have paid enough\n require(msg.value >= domain.price);\n\n // Send any extra back\n if (msg.value > domain.price) {\n msg.sender.transfer(msg.value - domain.price);\n }\n\n // Send any referral fee\n uint256 total = domain.price;\n if (domain.referralFeePPM > 0 && referrer != address(0x0) && referrer != domain.owner) {\n uint256 referralFee = (domain.price * domain.referralFeePPM) / 1000000;\n referrer.transfer(referralFee);\n total -= referralFee;\n }\n\n // Send the registration fee\n if (total > 0) {\n domain.owner.transfer(total);\n }\n\n // Register the domain\n if (subdomainOwner == address(0x0)) {\n subdomainOwner = msg.sender;\n }\n doRegistration(domainNode, subdomainLabel, subdomainOwner, Resolver(resolver));\n\n emit NewRegistration(label, subdomain, subdomainOwner, referrer, domain.price);\n }\n\n function rentDue(bytes32 label, string calldata subdomain) external view returns (uint timestamp) {\n return 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;\n }\n\n /**\n * @dev Migrates the domain to a new registrar.\n * @param name The name of the domain to migrate.\n */\n function migrate(string memory name) public owner_only(keccak256(bytes(name))) {\n require(stopped);\n require(migration != address(0x0));\n\n bytes32 label = keccak256(bytes(name));\n Domain storage domain = domains[label];\n\n BaseRegistrar(registrar).approve(migration, uint256(label));\n\n EthRegistrarSubdomainRegistrar(migration).configureDomainFor(\n domain.name,\n domain.price,\n domain.referralFeePPM,\n domain.owner,\n address(0x0)\n );\n\n delete domains[label];\n\n emit DomainTransferred(label, name);\n }\n\n function payRent(bytes32 label, string calldata subdomain) external payable {\n revert();\n }\n}\n", + "sourcePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/EthRegistrarSubdomainRegistrar.sol", + "ast": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/EthRegistrarSubdomainRegistrar.sol", + "exportedSymbols": { + "EthRegistrarSubdomainRegistrar": [ + 1014 + ] + }, + "id": 1015, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 393, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "file": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "id": 394, + "nodeType": "ImportDirective", + "scope": 1015, + "sourceUnit": 4883, + "src": "25:62:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol", + "file": "./AbstractSubdomainRegistrar.sol", + "id": 395, + "nodeType": "ImportDirective", + "scope": 1015, + "sourceUnit": 307, + "src": "88:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 396, + "name": "AbstractSubdomainRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 306, + "src": "1543:26:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AbstractSubdomainRegistrar_$306", + "typeString": "contract AbstractSubdomainRegistrar" + } + }, + "id": 397, + "nodeType": "InheritanceSpecifier", + "src": "1543:26:2" + } + ], + "contractDependencies": [ + 306, + 1159 + ], + "contractKind": "contract", + "documentation": "@dev Implements an ENS registrar that sells subdomains on behalf of their owners.\n * Users may register a subdomain by calling `register` with the name of the domain\nthey wish to register under, and the label hash of the subdomain they want to\nregister. They must also specify the new owner of the domain, and the referrer,\nwho is paid an optional finder's fee. The registrar then configures a simple\ndefault resolver, which resolves `addr` lookups to the new owner, and sets\nthe `owner` account as the owner of the subdomain in ENS.\n * New domains may be added by calling `configureDomain`, then transferring\nownership in the ENS registry to this contract. Ownership in the contract\nmay be transferred using `transfer`, and a domain may be unlisted for sale\nusing `unlistDomain`. There is (deliberately) no way to recover ownership\nin ENS once the name is transferred to this registrar.\n * Critically, this contract does not check one key property of a listed domain:\n * - Is the name UTS46 normalised?\n * User applications MUST check these two elements for each domain before\noffering them to users for registration.\n * Applications should additionally check that the domains they are offering to\nregister are controlled by this registrar, since calls to `register` will\nfail if this is not the case.", + "fullyImplemented": true, + "id": 1014, + "linearizedBaseContracts": [ + 1014, + 306, + 1159 + ], + "name": "EthRegistrarSubdomainRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "EthRegistrarSubdomainRegistrar.Domain", + "id": 406, + "members": [ + { + "constant": false, + "id": 399, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "1601:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 398, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1601:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 401, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "1622:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1622:15:2", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 403, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "1653:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 402, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1653:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 405, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "1673:19:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 404, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1673:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Domain", + "nodeType": "StructDefinition", + "scope": 1014, + "src": "1577:122:2", + "visibility": "public" + }, + { + "constant": false, + "id": 410, + "name": "domains", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "1705:35:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain)" + }, + "typeName": { + "id": 409, + "keyType": { + "id": 407, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1714:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1705:27:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain)" + }, + "valueType": { + "contractScope": null, + "id": 408, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "1725:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 418, + "nodeType": "Block", + "src": "1807:3:2", + "statements": [] + }, + "documentation": null, + "id": 419, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 415, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 412, + "src": "1795:3:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + } + ], + "id": 416, + "modifierName": { + "argumentTypes": null, + "id": 414, + "name": "AbstractSubdomainRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 306, + "src": "1768:26:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AbstractSubdomainRegistrar_$306_$", + "typeString": "type(contract AbstractSubdomainRegistrar)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1768:31:2" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 412, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 419, + "src": "1759:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 411, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1759:3:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1758:9:2" + }, + "returnParameters": { + "id": 417, + "nodeType": "ParameterList", + "parameters": [], + "src": "1807:0:2" + }, + "scope": 1014, + "src": "1747:63:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 450, + "nodeType": "Block", + "src": "2351:176:2", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 426, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "2365:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 428, + "indexExpression": { + "argumentTypes": null, + "id": 427, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "2373:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2365:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "id": 429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "2365:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2397:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2389:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2389:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2365:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 440, + "nodeType": "IfStatement", + "src": "2361:94:2", + "trueBody": { + "id": 439, + "nodeType": "Block", + "src": "2403:52:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 434, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "2424:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 436, + "indexExpression": { + "argumentTypes": null, + "id": 435, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "2432:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2424:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "id": 437, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "2424:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 425, + "id": 438, + "nodeType": "Return", + "src": "2417:27:2" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 446, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "2513:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2505:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2505:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 442, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "2486:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 441, + "name": "BaseRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "2472:13:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BaseRegistrar_$4882_$", + "typeString": "type(contract BaseRegistrar)" + } + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:24:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 6800, + "src": "2472:32:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:48:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 425, + "id": 449, + "nodeType": "Return", + "src": "2465:55:2" + } + ] + }, + "documentation": "@dev owner returns the address of the account that controls a domain.\n Initially this is a null address. If the name has been\n transferred to this contract, then the internal mapping is consulted\n to determine who controls it. If the owner is not set,\n the owner of the domain in the Registrar is returned.\n@param label The label hash of the deed to check.\n@return The address owning the deed.", + "id": 451, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 421, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 451, + "src": "2306:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 420, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2306:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2305:15:2" + }, + "returnParameters": { + "id": 425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 424, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 451, + "src": "2342:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 423, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2342:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2341:9:2" + }, + "scope": 1014, + "src": "2291:236:2", + "stateMutability": "view", + "superFunction": 292, + "visibility": "public" + }, + { + "body": { + "id": 489, + "nodeType": "Block", + "src": "2849:162:2", + "statements": [ + { + "assignments": [ + 466 + ], + "declarations": [ + { + "constant": false, + "id": 466, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "2859:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 465, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2859:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 472, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 469, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 453, + "src": "2891:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2885:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2885:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 467, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2875:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2875:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2859:38:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 474, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 466, + "src": "2925:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 475, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "2932:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 477, + "indexExpression": { + "argumentTypes": null, + "id": 476, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 466, + "src": "2940:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2932:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "id": 478, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "2932:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 479, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 455, + "src": "2954:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 473, + "name": "OwnerChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1084, + "src": "2912:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", + "typeString": "function (bytes32,address,address)" + } + }, + "id": 480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2912:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 481, + "nodeType": "EmitStatement", + "src": "2907:56:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 482, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "2973:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 484, + "indexExpression": { + "argumentTypes": null, + "id": 483, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 466, + "src": "2981:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2973:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "id": 485, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "2973:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 486, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 455, + "src": "2996:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2973:31:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 488, + "nodeType": "ExpressionStatement", + "src": "2973:31:2" + } + ] + }, + "documentation": "@dev Transfers internal control of a name to a new account. Does not update\n ENS.\n@param name The name to transfer.\n@param newOwner The address of the new owner.", + "id": 490, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 460, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 453, + "src": "2841:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2835:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2835:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 458, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2825:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2825:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 463, + "modifierName": { + "argumentTypes": null, + "id": 457, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "2814:10:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2814:34:2" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 456, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 453, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 490, + "src": "2761:18:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 452, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2761:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 455, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 490, + "src": "2781:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 454, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2781:15:2", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2760:46:2" + }, + "returnParameters": { + "id": 464, + "nodeType": "ParameterList", + "parameters": [], + "src": "2849:0:2" + }, + "scope": 1014, + "src": "2743:268:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 608, + "nodeType": "Block", + "src": "3735:692:2", + "statements": [ + { + "assignments": [ + 511 + ], + "declarations": [ + { + "constant": false, + "id": 511, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 608, + "src": "3745:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 510, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3745:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 517, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 514, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 492, + "src": "3777:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3771:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3771:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 512, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "3761:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3761:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3745:38:2" + }, + { + "assignments": [ + 519 + ], + "declarations": [ + { + "constant": false, + "id": 519, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 608, + "src": "3793:21:2", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 518, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "3793:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 523, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 520, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "3817:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 522, + "indexExpression": { + "argumentTypes": null, + "id": 521, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "3825:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3817:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3793:38:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 529, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "3887:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3879:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3879:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 525, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "3860:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 524, + "name": "BaseRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "3846:13:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BaseRegistrar_$4882_$", + "typeString": "type(contract BaseRegistrar)" + } + }, + "id": 526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3846:24:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 6800, + "src": "3846:32:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3846:48:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 533, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6940, + "src": "3906:4:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + ], + "id": 532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3898:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3898:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3846:65:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 563, + "nodeType": "IfStatement", + "src": "3842:253:2", + "trueBody": { + "id": 562, + "nodeType": "Block", + "src": "3913:182:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 540, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "3965:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3965:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 543, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6940, + "src": "3985:4:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + ], + "id": 542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3977:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3977:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 546, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "4000:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3992:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3992:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 537, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "3941:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 536, + "name": "BaseRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "3927:13:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BaseRegistrar_$4882_$", + "typeString": "type(contract BaseRegistrar)" + } + }, + "id": 538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3927:24:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 6839, + "src": "3927:37:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) external" + } + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3927:80:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 549, + "nodeType": "ExpressionStatement", + "src": "3927:80:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 555, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "4062:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4054:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4054:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 558, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6940, + "src": "4078:4:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + ], + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4070:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4070:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 551, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "4035:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 550, + "name": "BaseRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "4021:13:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BaseRegistrar_$4882_$", + "typeString": "type(contract BaseRegistrar)" + } + }, + "id": 552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4021:24:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "reclaim", + "nodeType": "MemberAccess", + "referencedDeclaration": 4881, + "src": "4021:32:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address) external" + } + }, + "id": 560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4021:63:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 561, + "nodeType": "ExpressionStatement", + "src": "4021:63:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 564, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4109:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 565, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "4109:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 566, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 498, + "src": "4125:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4109:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 575, + "nodeType": "IfStatement", + "src": "4105:74:2", + "trueBody": { + "id": 574, + "nodeType": "Block", + "src": "4133:46:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 568, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4147:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "4147:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 571, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 498, + "src": "4162:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4147:21:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 573, + "nodeType": "ExpressionStatement", + "src": "4147:21:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 578, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4209:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 579, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "4209:11:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4203:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4203:18:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + ], + "id": 576, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4193:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4193:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 582, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "4226:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4193:38:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 591, + "nodeType": "IfStatement", + "src": "4189:114:2", + "trueBody": { + "id": 590, + "nodeType": "Block", + "src": "4233:70:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 584, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4274:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 586, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "4274:11:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 587, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 492, + "src": "4288:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4274:18:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 589, + "nodeType": "ExpressionStatement", + "src": "4274:18:2" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 592, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4313:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 594, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "4313:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 595, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 494, + "src": "4328:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4313:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 597, + "nodeType": "ExpressionStatement", + "src": "4313:20:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 598, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4343:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 600, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "4343:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 601, + "name": "referralFeePPM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 496, + "src": "4367:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4343:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 603, + "nodeType": "ExpressionStatement", + "src": "4343:38:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 605, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "4414:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 604, + "name": "DomainConfigured", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1088, + "src": "4397:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4397:23:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 607, + "nodeType": "EmitStatement", + "src": "4392:28:2" + } + ] + }, + "documentation": "@dev Configures a domain, optionally transferring it to a new owner.\n@param name The name to configure.\n@param price The price in wei to charge for subdomain registrations.\n@param referralFeePPM The referral fee to offer, in parts per million.\n@param _owner The address to assign ownership of this domain to.\n@param _transfer The address to set as the transfer address for the name\n when the permanent registrar is replaced. Can only be set to a non-zero\n value once.", + "id": 609, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 505, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 492, + "src": "3727:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3721:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3721:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 503, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "3711:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3711:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 508, + "modifierName": { + "argumentTypes": null, + "id": 502, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "3700:10:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3700:34:2" + } + ], + "name": "configureDomainFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 492, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3597:18:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 491, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3597:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 494, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3617:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 493, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3617:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 496, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3629:19:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 495, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3629:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 498, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3650:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 497, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3650:15:2", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 500, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3674:17:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 499, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3674:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3596:96:2" + }, + "returnParameters": { + "id": 509, + "nodeType": "ParameterList", + "parameters": [], + "src": "3735:0:2" + }, + "scope": 1014, + "src": "3569:858:2", + "stateMutability": "nonpayable", + "superFunction": 305, + "visibility": "public" + }, + { + "body": { + "id": 657, + "nodeType": "Block", + "src": "4655:227:2", + "statements": [ + { + "assignments": [ + 622 + ], + "declarations": [ + { + "constant": false, + "id": 622, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 657, + "src": "4665:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 621, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4665:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 628, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 625, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 611, + "src": "4697:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4691:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4691:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 623, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4681:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4681:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4665:38:2" + }, + { + "assignments": [ + 630 + ], + "declarations": [ + { + "constant": false, + "id": 630, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 657, + "src": "4713:21:2", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 629, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "4713:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 634, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 631, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "4737:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 633, + "indexExpression": { + "argumentTypes": null, + "id": 632, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 622, + "src": "4745:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4737:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4713:38:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 636, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 622, + "src": "4781:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 635, + "name": "DomainUnlisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1092, + "src": "4766:14:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4766:21:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 638, + "nodeType": "EmitStatement", + "src": "4761:26:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 639, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "4798:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 641, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "4798:11:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4812:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "4798:16:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 644, + "nodeType": "ExpressionStatement", + "src": "4798:16:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 645, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "4824:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 647, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "4824:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4839:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4824:16:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 650, + "nodeType": "ExpressionStatement", + "src": "4824:16:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 651, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "4850:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 653, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "4850:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4874:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4850:25:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 656, + "nodeType": "ExpressionStatement", + "src": "4850:25:2" + } + ] + }, + "documentation": "@dev Unlists a domain\nMay only be called by the owner.\n@param name The name of the domain to unlist.", + "id": 658, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 616, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 611, + "src": "4647:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4641:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4641:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 614, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4631:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4631:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 619, + "modifierName": { + "argumentTypes": null, + "id": 613, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "4620:10:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4620:34:2" + } + ], + "name": "unlistDomain", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 612, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 611, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 658, + "src": "4593:18:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 610, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4593:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4592:20:2" + }, + "returnParameters": { + "id": 620, + "nodeType": "ParameterList", + "parameters": [], + "src": "4655:0:2" + }, + "scope": 1014, + "src": "4571:311:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 728, + "nodeType": "Block", + "src": "5529:372:2", + "statements": [ + { + "assignments": [ + 674 + ], + "declarations": [ + { + "constant": false, + "id": 674, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "5539:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 673, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5539:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 682, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 678, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "5581:8:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 679, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 660, + "src": "5591:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 676, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "5564:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5564:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5564:33:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 675, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5554:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5554:44:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5539:59:2" + }, + { + "assignments": [ + 684 + ], + "declarations": [ + { + "constant": false, + "id": 684, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "5608:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 683, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5608:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 696, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 688, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "5653:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 691, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 662, + "src": "5675:9:2", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5669:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5669:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 689, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5659:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5659:27:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 686, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "5636:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5636:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5636:51:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 685, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5626:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5626:62:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5608:80:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 699, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "5713:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 697, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "5703:3:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "5703:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5703:18:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5733:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 701, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5725:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5725:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "5703:34:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 712, + "nodeType": "IfStatement", + "src": "5699:85:2", + "trueBody": { + "id": 711, + "nodeType": "Block", + "src": "5739:45:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "", + "id": 705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5761:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5765:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5768:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5771:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 709, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5760:13:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", + "typeString": "tuple(literal_string \"\",int_const 0,int_const 0,int_const 0)" + } + }, + "functionReturnParameters": 672, + "id": 710, + "nodeType": "Return", + "src": "5753:20:2" + } + ] + } + }, + { + "assignments": [ + 714 + ], + "declarations": [ + { + "constant": false, + "id": 714, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "5794:19:2", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 713, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "5794:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 718, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 715, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "5816:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 717, + "indexExpression": { + "argumentTypes": null, + "id": 716, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 660, + "src": "5824:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5816:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5794:36:2" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 719, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 714, + "src": "5848:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "5848:9:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 721, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 714, + "src": "5859:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 722, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "5859:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5871:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 724, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 714, + "src": "5874:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 725, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "5874:19:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 726, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5847:47:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_string_storage_$_t_uint256_$_t_rational_0_by_1_$_t_uint256_$", + "typeString": "tuple(string storage ref,uint256,int_const 0,uint256)" + } + }, + "functionReturnParameters": 672, + "id": 727, + "nodeType": "Return", + "src": "5840:54:2" + } + ] + }, + "documentation": "@dev Returns information about a subdomain.\n@param label The label hash for the domain.\n@param subdomain The label for the subdomain.\n@return domain The name of the domain, or an empty string if the subdomain\n is unavailable.\n@return price The price to register a subdomain, in wei.\n@return rent The rent to retain a subdomain, in wei per second.\n@return referralFeePPM The referral fee for the dapp, in ppm.", + "id": 729, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "query", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 660, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5398:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 659, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5398:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 662, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5413:25:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 661, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5413:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5397:42:2" + }, + "returnParameters": { + "id": 672, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 665, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5463:20:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 664, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5463:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 667, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5485:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 666, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5485:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 669, + "name": "rent", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5497:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 668, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5497:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 671, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5508:19:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 670, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5508:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5462:66:2" + }, + "scope": 1014, + "src": "5383:518:2", + "stateMutability": "view", + "superFunction": 285, + "visibility": "external" + }, + { + "body": { + "id": 913, + "nodeType": "Block", + "src": "6415:1493:2", + "statements": [ + { + "assignments": [ + 745 + ], + "declarations": [ + { + "constant": false, + "id": 745, + "name": "subdomainOwner", + "nodeType": "VariableDeclaration", + "scope": 913, + "src": "6425:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 744, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6425:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 747, + "initialValue": { + "argumentTypes": null, + "id": 746, + "name": "_subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "6450:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6425:40:2" + }, + { + "assignments": [ + 749 + ], + "declarations": [ + { + "constant": false, + "id": 749, + "name": "domainNode", + "nodeType": "VariableDeclaration", + "scope": 913, + "src": "6475:18:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 748, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6475:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 757, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 753, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "6523:8:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 754, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 731, + "src": "6533:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 751, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "6506:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6506:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6506:33:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 750, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6496:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6496:44:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6475:65:2" + }, + { + "assignments": [ + 759 + ], + "declarations": [ + { + "constant": false, + "id": 759, + "name": "subdomainLabel", + "nodeType": "VariableDeclaration", + "scope": 913, + "src": "6550:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 758, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6550:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 765, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 762, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "6591:9:2", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6585:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6585:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 760, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6575:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6575:27:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6550:52:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 772, + "name": "domainNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "6711:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 773, + "name": "subdomainLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 759, + "src": "6723:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 770, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "6694:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6694:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6694:44:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 769, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6684:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6684:55:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 767, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "6674:3:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "6674:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6674:66:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6752:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 777, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6744:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6744:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "6674:80:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 766, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "6666:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6666:89:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 782, + "nodeType": "ExpressionStatement", + "src": "6666:89:2" + }, + { + "assignments": [ + 784 + ], + "declarations": [ + { + "constant": false, + "id": 784, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 913, + "src": "6766:21:2", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 783, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "6766:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 788, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 785, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "6790:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 787, + "indexExpression": { + "argumentTypes": null, + "id": 786, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 731, + "src": "6798:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6790:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6766:38:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 792, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "6892:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 793, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "6892:11:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6886:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6886:18:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + ], + "id": 790, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6876:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6876:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 796, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 731, + "src": "6909:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6876:38:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 789, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "6868:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6868:47:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 799, + "nodeType": "ExpressionStatement", + "src": "6868:47:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 801, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "6972:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6972:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 803, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "6985:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 804, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "6985:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6972:25:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 800, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "6964:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6964:34:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 807, + "nodeType": "ExpressionStatement", + "src": "6964:34:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 808, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "7044:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7044:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 810, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7056:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 811, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "7056:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7044:24:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 826, + "nodeType": "IfStatement", + "src": "7040:100:2", + "trueBody": { + "id": 825, + "nodeType": "Block", + "src": "7070:70:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 818, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "7104:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7104:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 820, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7116:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 821, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "7116:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7104:24:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 813, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "7084:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7084:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7084:19:2", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7084:45:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 824, + "nodeType": "ExpressionStatement", + "src": "7084:45:2" + } + ] + } + }, + { + "assignments": [ + 828 + ], + "declarations": [ + { + "constant": false, + "id": 828, + "name": "total", + "nodeType": "VariableDeclaration", + "scope": 913, + "src": "7183:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 827, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7183:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 831, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 829, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7199:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 830, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "7199:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7183:28:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 832, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7225:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 833, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "7225:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 834, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7249:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7225:25:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 836, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "7254:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7274:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7266:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7266:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7254:24:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7225:53:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 842, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "7282:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 843, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7294:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 844, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "7294:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7282:24:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7225:81:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 869, + "nodeType": "IfStatement", + "src": "7221:260:2", + "trueBody": { + "id": 868, + "nodeType": "Block", + "src": "7308:173:2", + "statements": [ + { + "assignments": [ + 848 + ], + "declarations": [ + { + "constant": false, + "id": 848, + "name": "referralFee", + "nodeType": "VariableDeclaration", + "scope": 868, + "src": "7322:19:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 847, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7322:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 857, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 849, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7345:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 850, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "7345:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 851, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7360:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 852, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "7360:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7345:36:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 854, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7344:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31303030303030", + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7385:7:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000_by_1", + "typeString": "int_const 1000000" + }, + "value": "1000000" + }, + "src": "7344:48:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7322:70:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 861, + "name": "referralFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 848, + "src": "7424:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 858, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "7406:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7406:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7406:30:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 863, + "nodeType": "ExpressionStatement", + "src": "7406:30:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 864, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 828, + "src": "7450:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 865, + "name": "referralFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 848, + "src": "7459:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7450:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 867, + "nodeType": "ExpressionStatement", + "src": "7450:20:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 870, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 828, + "src": "7532:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7540:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7532:9:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 882, + "nodeType": "IfStatement", + "src": "7528:68:2", + "trueBody": { + "id": 881, + "nodeType": "Block", + "src": "7543:53:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 878, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 828, + "src": "7579:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 873, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7557:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "7557:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7557:21:2", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7557:28:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 880, + "nodeType": "ExpressionStatement", + "src": "7557:28:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 883, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "7641:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7667:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7659:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7659:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7641:30:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 894, + "nodeType": "IfStatement", + "src": "7637:88:2", + "trueBody": { + "id": 893, + "nodeType": "Block", + "src": "7673:52:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 888, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "7687:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 889, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "7704:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7704:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7687:27:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 892, + "nodeType": "ExpressionStatement", + "src": "7687:27:2" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 896, + "name": "domainNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "7749:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 897, + "name": "subdomainLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 759, + "src": "7761:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 898, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "7777:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 900, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "7802:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 899, + "name": "Resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "7793:8:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Resolver_$1184_$", + "typeString": "type(contract Resolver)" + } + }, + "id": 901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7793:18:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + ], + "id": 895, + "name": "doRegistration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "7734:14:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_Resolver_$1184_$returns$__$", + "typeString": "function (bytes32,bytes32,address,contract Resolver)" + } + }, + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7734:78:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 903, + "nodeType": "ExpressionStatement", + "src": "7734:78:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 905, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 731, + "src": "7844:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 906, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "7851:9:2", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 907, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "7862:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 908, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "7878:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 909, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7888:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 910, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "7888:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 904, + "name": "NewRegistration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "7828:15:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,string memory,address,address,uint256)" + } + }, + "id": 911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7828:73:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 912, + "nodeType": "EmitStatement", + "src": "7823:78:2" + } + ] + }, + "documentation": "@dev Registers a subdomain.\n@param label The label hash of the domain to register a subdomain of.\n@param subdomain The desired subdomain label.\n@param _subdomainOwner The account that should own the newly configured subdomain.\n@param referrer The address of the account to receive the referral fee.", + "id": 914, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 742, + "modifierName": { + "argumentTypes": null, + "id": 741, + "name": "not_stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "6395:11:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "6395:11:2" + } + ], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 740, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 731, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "6275:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 730, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6275:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 733, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "6290:25:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 732, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6290:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 735, + "name": "_subdomainOwner", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "6317:23:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 734, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6317:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 737, + "name": "referrer", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "6342:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 736, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6342:15:2", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 739, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "6368:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 738, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6368:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6274:111:2" + }, + "returnParameters": { + "id": 743, + "nodeType": "ParameterList", + "parameters": [], + "src": "6415:0:2" + }, + "scope": 1014, + "src": "6257:1651:2", + "stateMutability": "payable", + "superFunction": 1142, + "visibility": "external" + }, + { + "body": { + "id": 925, + "nodeType": "Block", + "src": "8012:90:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "307846464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646", + "id": 923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8029:66:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9935" + }, + "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + "functionReturnParameters": 922, + "id": 924, + "nodeType": "Return", + "src": "8022:73:2" + } + ] + }, + "documentation": null, + "id": 926, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rentDue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 916, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "7931:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 915, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7931:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 918, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "7946:25:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 917, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7946:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7930:42:2" + }, + "returnParameters": { + "id": 922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 921, + "name": "timestamp", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "7996:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 920, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7996:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7995:16:2" + }, + "scope": 1014, + "src": "7914:188:2", + "stateMutability": "view", + "superFunction": 169, + "visibility": "external" + }, + { + "body": { + "id": 1001, + "nodeType": "Block", + "src": "8309:541:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 939, + "name": "stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "8327:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 938, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8319:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8319:16:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 941, + "nodeType": "ExpressionStatement", + "src": "8319:16:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 943, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "8353:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8374:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8366:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8366:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8353:25:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 942, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8345:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8345:34:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 949, + "nodeType": "ExpressionStatement", + "src": "8345:34:2" + }, + { + "assignments": [ + 951 + ], + "declarations": [ + { + "constant": false, + "id": 951, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1001, + "src": "8390:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 950, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8390:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 957, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 954, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "8422:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8416:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8416:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 952, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "8406:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8406:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8390:38:2" + }, + { + "assignments": [ + 959 + ], + "declarations": [ + { + "constant": false, + "id": 959, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1001, + "src": "8438:21:2", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 958, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "8438:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 963, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 960, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "8462:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 962, + "indexExpression": { + "argumentTypes": null, + "id": 961, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "8470:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8462:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8438:38:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 968, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "8520:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 970, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "8539:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8531:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8531:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 965, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "8501:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 964, + "name": "BaseRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "8487:13:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BaseRegistrar_$4882_$", + "typeString": "type(contract BaseRegistrar)" + } + }, + "id": 966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8487:24:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 6807, + "src": "8487:32:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8487:59:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 973, + "nodeType": "ExpressionStatement", + "src": "8487:59:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 978, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 959, + "src": "8631:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 979, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "8631:11:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 980, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 959, + "src": "8656:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 981, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "8656:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 982, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 959, + "src": "8682:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 983, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "8682:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 984, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 959, + "src": "8717:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 985, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "8717:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8751:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8743:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8743:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 975, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "8588:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 974, + "name": "EthRegistrarSubdomainRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1014, + "src": "8557:30:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_EthRegistrarSubdomainRegistrar_$1014_$", + "typeString": "type(contract EthRegistrarSubdomainRegistrar)" + } + }, + "id": 976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8557:41:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "configureDomainFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 609, + "src": "8557:60:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_payable_$_t_address_$returns$__$", + "typeString": "function (string memory,uint256,uint256,address payable,address) external" + } + }, + "id": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8557:208:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 990, + "nodeType": "ExpressionStatement", + "src": "8557:208:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "8776:21:2", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 991, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "8783:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 993, + "indexExpression": { + "argumentTypes": null, + "id": 992, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "8791:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8783:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 995, + "nodeType": "ExpressionStatement", + "src": "8776:21:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 997, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "8831:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 998, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "8838:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 996, + "name": "DomainTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "8813:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,string memory)" + } + }, + "id": 999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8813:30:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1000, + "nodeType": "EmitStatement", + "src": "8808:35:2" + } + ] + }, + "documentation": "@dev Migrates the domain to a new registrar.\n@param name The name of the domain to migrate.", + "id": 1002, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 933, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "8301:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8295:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8295:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 931, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "8285:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8285:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 936, + "modifierName": { + "argumentTypes": null, + "id": 930, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "8274:10:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "8274:34:2" + } + ], + "name": "migrate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 928, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1002, + "src": "8247:18:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 927, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8247:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8246:20:2" + }, + "returnParameters": { + "id": 937, + "nodeType": "ParameterList", + "parameters": [], + "src": "8309:0:2" + }, + "scope": 1014, + "src": "8230:620:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1012, + "nodeType": "Block", + "src": "8932:25:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1009, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6915, + 6916 + ], + "referencedDeclaration": 6915, + "src": "8942:6:2", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8942:8:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1011, + "nodeType": "ExpressionStatement", + "src": "8942:8:2" + } + ] + }, + "documentation": null, + "id": 1013, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "payRent", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1007, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1004, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "8873:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1003, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8873:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1006, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "8888:25:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1005, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8888:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8872:42:2" + }, + "returnParameters": { + "id": 1008, + "nodeType": "ParameterList", + "parameters": [], + "src": "8932:0:2" + }, + "scope": 1014, + "src": "8856:101:2", + "stateMutability": "payable", + "superFunction": 1158, + "visibility": "external" + } + ], + "scope": 1015, + "src": "1500:7459:2" + } + ], + "src": "0:8960:2" + }, + "legacyAST": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/EthRegistrarSubdomainRegistrar.sol", + "exportedSymbols": { + "EthRegistrarSubdomainRegistrar": [ + 1014 + ] + }, + "id": 1015, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 393, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "file": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "id": 394, + "nodeType": "ImportDirective", + "scope": 1015, + "sourceUnit": 4883, + "src": "25:62:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol", + "file": "./AbstractSubdomainRegistrar.sol", + "id": 395, + "nodeType": "ImportDirective", + "scope": 1015, + "sourceUnit": 307, + "src": "88:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 396, + "name": "AbstractSubdomainRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 306, + "src": "1543:26:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AbstractSubdomainRegistrar_$306", + "typeString": "contract AbstractSubdomainRegistrar" + } + }, + "id": 397, + "nodeType": "InheritanceSpecifier", + "src": "1543:26:2" + } + ], + "contractDependencies": [ + 306, + 1159 + ], + "contractKind": "contract", + "documentation": "@dev Implements an ENS registrar that sells subdomains on behalf of their owners.\n * Users may register a subdomain by calling `register` with the name of the domain\nthey wish to register under, and the label hash of the subdomain they want to\nregister. They must also specify the new owner of the domain, and the referrer,\nwho is paid an optional finder's fee. The registrar then configures a simple\ndefault resolver, which resolves `addr` lookups to the new owner, and sets\nthe `owner` account as the owner of the subdomain in ENS.\n * New domains may be added by calling `configureDomain`, then transferring\nownership in the ENS registry to this contract. Ownership in the contract\nmay be transferred using `transfer`, and a domain may be unlisted for sale\nusing `unlistDomain`. There is (deliberately) no way to recover ownership\nin ENS once the name is transferred to this registrar.\n * Critically, this contract does not check one key property of a listed domain:\n * - Is the name UTS46 normalised?\n * User applications MUST check these two elements for each domain before\noffering them to users for registration.\n * Applications should additionally check that the domains they are offering to\nregister are controlled by this registrar, since calls to `register` will\nfail if this is not the case.", + "fullyImplemented": true, + "id": 1014, + "linearizedBaseContracts": [ + 1014, + 306, + 1159 + ], + "name": "EthRegistrarSubdomainRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "EthRegistrarSubdomainRegistrar.Domain", + "id": 406, + "members": [ + { + "constant": false, + "id": 399, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "1601:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 398, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1601:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 401, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "1622:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1622:15:2", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 403, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "1653:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 402, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1653:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 405, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "1673:19:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 404, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1673:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Domain", + "nodeType": "StructDefinition", + "scope": 1014, + "src": "1577:122:2", + "visibility": "public" + }, + { + "constant": false, + "id": 410, + "name": "domains", + "nodeType": "VariableDeclaration", + "scope": 1014, + "src": "1705:35:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain)" + }, + "typeName": { + "id": 409, + "keyType": { + "id": 407, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1714:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1705:27:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain)" + }, + "valueType": { + "contractScope": null, + "id": 408, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "1725:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 418, + "nodeType": "Block", + "src": "1807:3:2", + "statements": [] + }, + "documentation": null, + "id": 419, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 415, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 412, + "src": "1795:3:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + } + ], + "id": 416, + "modifierName": { + "argumentTypes": null, + "id": 414, + "name": "AbstractSubdomainRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 306, + "src": "1768:26:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AbstractSubdomainRegistrar_$306_$", + "typeString": "type(contract AbstractSubdomainRegistrar)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1768:31:2" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 412, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 419, + "src": "1759:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 411, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1759:3:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1758:9:2" + }, + "returnParameters": { + "id": 417, + "nodeType": "ParameterList", + "parameters": [], + "src": "1807:0:2" + }, + "scope": 1014, + "src": "1747:63:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 450, + "nodeType": "Block", + "src": "2351:176:2", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 426, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "2365:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 428, + "indexExpression": { + "argumentTypes": null, + "id": 427, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "2373:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2365:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "id": 429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "2365:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2397:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2389:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2389:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2365:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 440, + "nodeType": "IfStatement", + "src": "2361:94:2", + "trueBody": { + "id": 439, + "nodeType": "Block", + "src": "2403:52:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 434, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "2424:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 436, + "indexExpression": { + "argumentTypes": null, + "id": 435, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "2432:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2424:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "id": 437, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "2424:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 425, + "id": 438, + "nodeType": "Return", + "src": "2417:27:2" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 446, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "2513:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2505:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2505:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 442, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "2486:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 441, + "name": "BaseRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "2472:13:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BaseRegistrar_$4882_$", + "typeString": "type(contract BaseRegistrar)" + } + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:24:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 6800, + "src": "2472:32:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:48:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 425, + "id": 449, + "nodeType": "Return", + "src": "2465:55:2" + } + ] + }, + "documentation": "@dev owner returns the address of the account that controls a domain.\n Initially this is a null address. If the name has been\n transferred to this contract, then the internal mapping is consulted\n to determine who controls it. If the owner is not set,\n the owner of the domain in the Registrar is returned.\n@param label The label hash of the deed to check.\n@return The address owning the deed.", + "id": 451, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 421, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 451, + "src": "2306:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 420, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2306:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2305:15:2" + }, + "returnParameters": { + "id": 425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 424, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 451, + "src": "2342:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 423, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2342:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2341:9:2" + }, + "scope": 1014, + "src": "2291:236:2", + "stateMutability": "view", + "superFunction": 292, + "visibility": "public" + }, + { + "body": { + "id": 489, + "nodeType": "Block", + "src": "2849:162:2", + "statements": [ + { + "assignments": [ + 466 + ], + "declarations": [ + { + "constant": false, + "id": 466, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "2859:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 465, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2859:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 472, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 469, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 453, + "src": "2891:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2885:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2885:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 467, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2875:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2875:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2859:38:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 474, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 466, + "src": "2925:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 475, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "2932:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 477, + "indexExpression": { + "argumentTypes": null, + "id": 476, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 466, + "src": "2940:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2932:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "id": 478, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "2932:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 479, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 455, + "src": "2954:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 473, + "name": "OwnerChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1084, + "src": "2912:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", + "typeString": "function (bytes32,address,address)" + } + }, + "id": 480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2912:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 481, + "nodeType": "EmitStatement", + "src": "2907:56:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 482, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "2973:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 484, + "indexExpression": { + "argumentTypes": null, + "id": 483, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 466, + "src": "2981:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2973:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "id": 485, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "2973:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 486, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 455, + "src": "2996:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2973:31:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 488, + "nodeType": "ExpressionStatement", + "src": "2973:31:2" + } + ] + }, + "documentation": "@dev Transfers internal control of a name to a new account. Does not update\n ENS.\n@param name The name to transfer.\n@param newOwner The address of the new owner.", + "id": 490, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 460, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 453, + "src": "2841:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2835:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2835:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 458, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "2825:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2825:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 463, + "modifierName": { + "argumentTypes": null, + "id": 457, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "2814:10:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2814:34:2" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 456, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 453, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 490, + "src": "2761:18:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 452, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2761:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 455, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 490, + "src": "2781:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 454, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2781:15:2", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2760:46:2" + }, + "returnParameters": { + "id": 464, + "nodeType": "ParameterList", + "parameters": [], + "src": "2849:0:2" + }, + "scope": 1014, + "src": "2743:268:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 608, + "nodeType": "Block", + "src": "3735:692:2", + "statements": [ + { + "assignments": [ + 511 + ], + "declarations": [ + { + "constant": false, + "id": 511, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 608, + "src": "3745:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 510, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3745:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 517, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 514, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 492, + "src": "3777:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3771:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3771:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 512, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "3761:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3761:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3745:38:2" + }, + { + "assignments": [ + 519 + ], + "declarations": [ + { + "constant": false, + "id": 519, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 608, + "src": "3793:21:2", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 518, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "3793:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 523, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 520, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "3817:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 522, + "indexExpression": { + "argumentTypes": null, + "id": 521, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "3825:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3817:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3793:38:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 529, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "3887:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3879:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3879:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 525, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "3860:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 524, + "name": "BaseRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "3846:13:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BaseRegistrar_$4882_$", + "typeString": "type(contract BaseRegistrar)" + } + }, + "id": 526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3846:24:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 6800, + "src": "3846:32:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3846:48:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 533, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6940, + "src": "3906:4:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + ], + "id": 532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3898:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3898:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3846:65:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 563, + "nodeType": "IfStatement", + "src": "3842:253:2", + "trueBody": { + "id": 562, + "nodeType": "Block", + "src": "3913:182:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 540, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "3965:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3965:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 543, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6940, + "src": "3985:4:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + ], + "id": 542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3977:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3977:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 546, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "4000:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3992:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3992:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 537, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "3941:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 536, + "name": "BaseRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "3927:13:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BaseRegistrar_$4882_$", + "typeString": "type(contract BaseRegistrar)" + } + }, + "id": 538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3927:24:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 6839, + "src": "3927:37:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) external" + } + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3927:80:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 549, + "nodeType": "ExpressionStatement", + "src": "3927:80:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 555, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "4062:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4054:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4054:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 558, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6940, + "src": "4078:4:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + ], + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4070:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4070:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 551, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "4035:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 550, + "name": "BaseRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "4021:13:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BaseRegistrar_$4882_$", + "typeString": "type(contract BaseRegistrar)" + } + }, + "id": 552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4021:24:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "reclaim", + "nodeType": "MemberAccess", + "referencedDeclaration": 4881, + "src": "4021:32:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address) external" + } + }, + "id": 560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4021:63:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 561, + "nodeType": "ExpressionStatement", + "src": "4021:63:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 564, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4109:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 565, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "4109:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 566, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 498, + "src": "4125:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4109:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 575, + "nodeType": "IfStatement", + "src": "4105:74:2", + "trueBody": { + "id": 574, + "nodeType": "Block", + "src": "4133:46:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 568, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4147:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "4147:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 571, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 498, + "src": "4162:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4147:21:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 573, + "nodeType": "ExpressionStatement", + "src": "4147:21:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 578, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4209:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 579, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "4209:11:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4203:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4203:18:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + ], + "id": 576, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4193:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4193:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 582, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "4226:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4193:38:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 591, + "nodeType": "IfStatement", + "src": "4189:114:2", + "trueBody": { + "id": 590, + "nodeType": "Block", + "src": "4233:70:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 584, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4274:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 586, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "4274:11:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 587, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 492, + "src": "4288:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4274:18:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 589, + "nodeType": "ExpressionStatement", + "src": "4274:18:2" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 592, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4313:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 594, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "4313:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 595, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 494, + "src": "4328:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4313:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 597, + "nodeType": "ExpressionStatement", + "src": "4313:20:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 598, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "4343:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 600, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "4343:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 601, + "name": "referralFeePPM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 496, + "src": "4367:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4343:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 603, + "nodeType": "ExpressionStatement", + "src": "4343:38:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 605, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "4414:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 604, + "name": "DomainConfigured", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1088, + "src": "4397:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4397:23:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 607, + "nodeType": "EmitStatement", + "src": "4392:28:2" + } + ] + }, + "documentation": "@dev Configures a domain, optionally transferring it to a new owner.\n@param name The name to configure.\n@param price The price in wei to charge for subdomain registrations.\n@param referralFeePPM The referral fee to offer, in parts per million.\n@param _owner The address to assign ownership of this domain to.\n@param _transfer The address to set as the transfer address for the name\n when the permanent registrar is replaced. Can only be set to a non-zero\n value once.", + "id": 609, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 505, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 492, + "src": "3727:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3721:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3721:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 503, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "3711:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3711:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 508, + "modifierName": { + "argumentTypes": null, + "id": 502, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "3700:10:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3700:34:2" + } + ], + "name": "configureDomainFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 492, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3597:18:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 491, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3597:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 494, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3617:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 493, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3617:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 496, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3629:19:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 495, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3629:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 498, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3650:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 497, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3650:15:2", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 500, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3674:17:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 499, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3674:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3596:96:2" + }, + "returnParameters": { + "id": 509, + "nodeType": "ParameterList", + "parameters": [], + "src": "3735:0:2" + }, + "scope": 1014, + "src": "3569:858:2", + "stateMutability": "nonpayable", + "superFunction": 305, + "visibility": "public" + }, + { + "body": { + "id": 657, + "nodeType": "Block", + "src": "4655:227:2", + "statements": [ + { + "assignments": [ + 622 + ], + "declarations": [ + { + "constant": false, + "id": 622, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 657, + "src": "4665:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 621, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4665:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 628, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 625, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 611, + "src": "4697:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4691:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4691:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 623, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4681:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4681:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4665:38:2" + }, + { + "assignments": [ + 630 + ], + "declarations": [ + { + "constant": false, + "id": 630, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 657, + "src": "4713:21:2", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 629, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "4713:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 634, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 631, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "4737:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 633, + "indexExpression": { + "argumentTypes": null, + "id": 632, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 622, + "src": "4745:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4737:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4713:38:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 636, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 622, + "src": "4781:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 635, + "name": "DomainUnlisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1092, + "src": "4766:14:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4766:21:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 638, + "nodeType": "EmitStatement", + "src": "4761:26:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 639, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "4798:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 641, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "4798:11:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4812:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "4798:16:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 644, + "nodeType": "ExpressionStatement", + "src": "4798:16:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 645, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "4824:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 647, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "4824:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4839:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4824:16:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 650, + "nodeType": "ExpressionStatement", + "src": "4824:16:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 651, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "4850:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 653, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "4850:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4874:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4850:25:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 656, + "nodeType": "ExpressionStatement", + "src": "4850:25:2" + } + ] + }, + "documentation": "@dev Unlists a domain\nMay only be called by the owner.\n@param name The name of the domain to unlist.", + "id": 658, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 616, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 611, + "src": "4647:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4641:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4641:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 614, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4631:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4631:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 619, + "modifierName": { + "argumentTypes": null, + "id": 613, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "4620:10:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4620:34:2" + } + ], + "name": "unlistDomain", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 612, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 611, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 658, + "src": "4593:18:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 610, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4593:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4592:20:2" + }, + "returnParameters": { + "id": 620, + "nodeType": "ParameterList", + "parameters": [], + "src": "4655:0:2" + }, + "scope": 1014, + "src": "4571:311:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 728, + "nodeType": "Block", + "src": "5529:372:2", + "statements": [ + { + "assignments": [ + 674 + ], + "declarations": [ + { + "constant": false, + "id": 674, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "5539:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 673, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5539:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 682, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 678, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "5581:8:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 679, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 660, + "src": "5591:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 676, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "5564:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5564:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5564:33:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 675, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5554:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5554:44:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5539:59:2" + }, + { + "assignments": [ + 684 + ], + "declarations": [ + { + "constant": false, + "id": 684, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "5608:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 683, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5608:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 696, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 688, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "5653:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 691, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 662, + "src": "5675:9:2", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5669:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5669:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 689, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5659:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5659:27:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 686, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "5636:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5636:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5636:51:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 685, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5626:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5626:62:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5608:80:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 699, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "5713:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 697, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "5703:3:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "5703:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5703:18:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5733:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 701, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5725:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5725:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "5703:34:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 712, + "nodeType": "IfStatement", + "src": "5699:85:2", + "trueBody": { + "id": 711, + "nodeType": "Block", + "src": "5739:45:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "", + "id": 705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5761:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5765:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5768:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5771:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 709, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5760:13:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", + "typeString": "tuple(literal_string \"\",int_const 0,int_const 0,int_const 0)" + } + }, + "functionReturnParameters": 672, + "id": 710, + "nodeType": "Return", + "src": "5753:20:2" + } + ] + } + }, + { + "assignments": [ + 714 + ], + "declarations": [ + { + "constant": false, + "id": 714, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "5794:19:2", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 713, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "5794:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 718, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 715, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "5816:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 717, + "indexExpression": { + "argumentTypes": null, + "id": 716, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 660, + "src": "5824:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5816:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5794:36:2" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 719, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 714, + "src": "5848:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "5848:9:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 721, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 714, + "src": "5859:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 722, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "5859:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5871:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 724, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 714, + "src": "5874:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 725, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "5874:19:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 726, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5847:47:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_string_storage_$_t_uint256_$_t_rational_0_by_1_$_t_uint256_$", + "typeString": "tuple(string storage ref,uint256,int_const 0,uint256)" + } + }, + "functionReturnParameters": 672, + "id": 727, + "nodeType": "Return", + "src": "5840:54:2" + } + ] + }, + "documentation": "@dev Returns information about a subdomain.\n@param label The label hash for the domain.\n@param subdomain The label for the subdomain.\n@return domain The name of the domain, or an empty string if the subdomain\n is unavailable.\n@return price The price to register a subdomain, in wei.\n@return rent The rent to retain a subdomain, in wei per second.\n@return referralFeePPM The referral fee for the dapp, in ppm.", + "id": 729, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "query", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 660, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5398:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 659, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5398:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 662, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5413:25:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 661, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5413:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5397:42:2" + }, + "returnParameters": { + "id": 672, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 665, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5463:20:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 664, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5463:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 667, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5485:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 666, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5485:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 669, + "name": "rent", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5497:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 668, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5497:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 671, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 729, + "src": "5508:19:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 670, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5508:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5462:66:2" + }, + "scope": 1014, + "src": "5383:518:2", + "stateMutability": "view", + "superFunction": 285, + "visibility": "external" + }, + { + "body": { + "id": 913, + "nodeType": "Block", + "src": "6415:1493:2", + "statements": [ + { + "assignments": [ + 745 + ], + "declarations": [ + { + "constant": false, + "id": 745, + "name": "subdomainOwner", + "nodeType": "VariableDeclaration", + "scope": 913, + "src": "6425:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 744, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6425:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 747, + "initialValue": { + "argumentTypes": null, + "id": 746, + "name": "_subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "6450:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6425:40:2" + }, + { + "assignments": [ + 749 + ], + "declarations": [ + { + "constant": false, + "id": 749, + "name": "domainNode", + "nodeType": "VariableDeclaration", + "scope": 913, + "src": "6475:18:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 748, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6475:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 757, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 753, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "6523:8:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 754, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 731, + "src": "6533:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 751, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "6506:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6506:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6506:33:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 750, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6496:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6496:44:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6475:65:2" + }, + { + "assignments": [ + 759 + ], + "declarations": [ + { + "constant": false, + "id": 759, + "name": "subdomainLabel", + "nodeType": "VariableDeclaration", + "scope": 913, + "src": "6550:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 758, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6550:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 765, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 762, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "6591:9:2", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6585:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6585:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 760, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6575:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6575:27:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6550:52:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 772, + "name": "domainNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "6711:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 773, + "name": "subdomainLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 759, + "src": "6723:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 770, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "6694:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6694:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6694:44:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 769, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6684:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6684:55:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 767, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "6674:3:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "6674:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6674:66:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6752:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 777, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6744:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6744:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "6674:80:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 766, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "6666:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6666:89:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 782, + "nodeType": "ExpressionStatement", + "src": "6666:89:2" + }, + { + "assignments": [ + 784 + ], + "declarations": [ + { + "constant": false, + "id": 784, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 913, + "src": "6766:21:2", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 783, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "6766:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 788, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 785, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "6790:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 787, + "indexExpression": { + "argumentTypes": null, + "id": 786, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 731, + "src": "6798:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6790:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6766:38:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 792, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "6892:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 793, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "6892:11:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6886:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6886:18:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + ], + "id": 790, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6876:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6876:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 796, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 731, + "src": "6909:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6876:38:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 789, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "6868:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6868:47:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 799, + "nodeType": "ExpressionStatement", + "src": "6868:47:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 801, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "6972:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6972:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 803, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "6985:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 804, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "6985:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6972:25:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 800, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "6964:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6964:34:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 807, + "nodeType": "ExpressionStatement", + "src": "6964:34:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 808, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "7044:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7044:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 810, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7056:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 811, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "7056:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7044:24:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 826, + "nodeType": "IfStatement", + "src": "7040:100:2", + "trueBody": { + "id": 825, + "nodeType": "Block", + "src": "7070:70:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 818, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "7104:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7104:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 820, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7116:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 821, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "7116:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7104:24:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 813, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "7084:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7084:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7084:19:2", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7084:45:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 824, + "nodeType": "ExpressionStatement", + "src": "7084:45:2" + } + ] + } + }, + { + "assignments": [ + 828 + ], + "declarations": [ + { + "constant": false, + "id": 828, + "name": "total", + "nodeType": "VariableDeclaration", + "scope": 913, + "src": "7183:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 827, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7183:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 831, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 829, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7199:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 830, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "7199:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7183:28:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 832, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7225:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 833, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "7225:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 834, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7249:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7225:25:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 836, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "7254:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7274:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7266:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7266:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7254:24:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7225:53:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 842, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "7282:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 843, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7294:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 844, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "7294:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7282:24:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7225:81:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 869, + "nodeType": "IfStatement", + "src": "7221:260:2", + "trueBody": { + "id": 868, + "nodeType": "Block", + "src": "7308:173:2", + "statements": [ + { + "assignments": [ + 848 + ], + "declarations": [ + { + "constant": false, + "id": 848, + "name": "referralFee", + "nodeType": "VariableDeclaration", + "scope": 868, + "src": "7322:19:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 847, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7322:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 857, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 849, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7345:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 850, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "7345:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 851, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7360:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 852, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "7360:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7345:36:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 854, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7344:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31303030303030", + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7385:7:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000_by_1", + "typeString": "int_const 1000000" + }, + "value": "1000000" + }, + "src": "7344:48:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7322:70:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 861, + "name": "referralFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 848, + "src": "7424:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 858, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "7406:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7406:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7406:30:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 863, + "nodeType": "ExpressionStatement", + "src": "7406:30:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 864, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 828, + "src": "7450:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 865, + "name": "referralFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 848, + "src": "7459:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7450:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 867, + "nodeType": "ExpressionStatement", + "src": "7450:20:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 870, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 828, + "src": "7532:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7540:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7532:9:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 882, + "nodeType": "IfStatement", + "src": "7528:68:2", + "trueBody": { + "id": 881, + "nodeType": "Block", + "src": "7543:53:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 878, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 828, + "src": "7579:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 873, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7557:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "7557:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7557:21:2", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7557:28:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 880, + "nodeType": "ExpressionStatement", + "src": "7557:28:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 883, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "7641:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7667:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7659:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7659:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7641:30:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 894, + "nodeType": "IfStatement", + "src": "7637:88:2", + "trueBody": { + "id": 893, + "nodeType": "Block", + "src": "7673:52:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 888, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "7687:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 889, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "7704:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7704:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7687:27:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 892, + "nodeType": "ExpressionStatement", + "src": "7687:27:2" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 896, + "name": "domainNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "7749:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 897, + "name": "subdomainLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 759, + "src": "7761:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 898, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "7777:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 900, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "7802:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 899, + "name": "Resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "7793:8:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Resolver_$1184_$", + "typeString": "type(contract Resolver)" + } + }, + "id": 901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7793:18:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + ], + "id": 895, + "name": "doRegistration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "7734:14:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_Resolver_$1184_$returns$__$", + "typeString": "function (bytes32,bytes32,address,contract Resolver)" + } + }, + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7734:78:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 903, + "nodeType": "ExpressionStatement", + "src": "7734:78:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 905, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 731, + "src": "7844:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 906, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "7851:9:2", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 907, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "7862:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 908, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "7878:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 909, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "7888:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 910, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "7888:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 904, + "name": "NewRegistration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "7828:15:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,string memory,address,address,uint256)" + } + }, + "id": 911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7828:73:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 912, + "nodeType": "EmitStatement", + "src": "7823:78:2" + } + ] + }, + "documentation": "@dev Registers a subdomain.\n@param label The label hash of the domain to register a subdomain of.\n@param subdomain The desired subdomain label.\n@param _subdomainOwner The account that should own the newly configured subdomain.\n@param referrer The address of the account to receive the referral fee.", + "id": 914, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 742, + "modifierName": { + "argumentTypes": null, + "id": 741, + "name": "not_stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "6395:11:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "6395:11:2" + } + ], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 740, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 731, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "6275:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 730, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6275:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 733, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "6290:25:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 732, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6290:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 735, + "name": "_subdomainOwner", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "6317:23:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 734, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6317:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 737, + "name": "referrer", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "6342:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 736, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6342:15:2", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 739, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "6368:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 738, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6368:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6274:111:2" + }, + "returnParameters": { + "id": 743, + "nodeType": "ParameterList", + "parameters": [], + "src": "6415:0:2" + }, + "scope": 1014, + "src": "6257:1651:2", + "stateMutability": "payable", + "superFunction": 1142, + "visibility": "external" + }, + { + "body": { + "id": 925, + "nodeType": "Block", + "src": "8012:90:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "307846464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646", + "id": 923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8029:66:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9935" + }, + "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + "functionReturnParameters": 922, + "id": 924, + "nodeType": "Return", + "src": "8022:73:2" + } + ] + }, + "documentation": null, + "id": 926, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rentDue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 916, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "7931:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 915, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7931:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 918, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "7946:25:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 917, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7946:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7930:42:2" + }, + "returnParameters": { + "id": 922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 921, + "name": "timestamp", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "7996:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 920, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7996:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7995:16:2" + }, + "scope": 1014, + "src": "7914:188:2", + "stateMutability": "view", + "superFunction": 169, + "visibility": "external" + }, + { + "body": { + "id": 1001, + "nodeType": "Block", + "src": "8309:541:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 939, + "name": "stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "8327:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 938, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8319:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8319:16:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 941, + "nodeType": "ExpressionStatement", + "src": "8319:16:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 943, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "8353:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8374:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8366:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8366:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8353:25:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 942, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8345:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8345:34:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 949, + "nodeType": "ExpressionStatement", + "src": "8345:34:2" + }, + { + "assignments": [ + 951 + ], + "declarations": [ + { + "constant": false, + "id": 951, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1001, + "src": "8390:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 950, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8390:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 957, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 954, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "8422:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8416:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8416:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 952, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "8406:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8406:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8390:38:2" + }, + { + "assignments": [ + 959 + ], + "declarations": [ + { + "constant": false, + "id": 959, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1001, + "src": "8438:21:2", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 958, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 406, + "src": "8438:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 963, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 960, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "8462:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 962, + "indexExpression": { + "argumentTypes": null, + "id": 961, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "8470:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8462:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8438:38:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 968, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "8520:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 970, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "8539:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8531:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8531:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 965, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "8501:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 964, + "name": "BaseRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "8487:13:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BaseRegistrar_$4882_$", + "typeString": "type(contract BaseRegistrar)" + } + }, + "id": 966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8487:24:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 6807, + "src": "8487:32:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8487:59:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 973, + "nodeType": "ExpressionStatement", + "src": "8487:59:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 978, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 959, + "src": "8631:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 979, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 399, + "src": "8631:11:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 980, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 959, + "src": "8656:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 981, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 403, + "src": "8656:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 982, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 959, + "src": "8682:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 983, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 405, + "src": "8682:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 984, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 959, + "src": "8717:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage_ptr", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage pointer" + } + }, + "id": 985, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 401, + "src": "8717:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8751:3:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8743:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8743:12:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 975, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "8588:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 974, + "name": "EthRegistrarSubdomainRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1014, + "src": "8557:30:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_EthRegistrarSubdomainRegistrar_$1014_$", + "typeString": "type(contract EthRegistrarSubdomainRegistrar)" + } + }, + "id": 976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8557:41:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EthRegistrarSubdomainRegistrar_$1014", + "typeString": "contract EthRegistrarSubdomainRegistrar" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "configureDomainFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 609, + "src": "8557:60:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_payable_$_t_address_$returns$__$", + "typeString": "function (string memory,uint256,uint256,address payable,address) external" + } + }, + "id": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8557:208:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 990, + "nodeType": "ExpressionStatement", + "src": "8557:208:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "8776:21:2", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 991, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 410, + "src": "8783:7:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$406_storage_$", + "typeString": "mapping(bytes32 => struct EthRegistrarSubdomainRegistrar.Domain storage ref)" + } + }, + "id": 993, + "indexExpression": { + "argumentTypes": null, + "id": 992, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "8791:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8783:14:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$406_storage", + "typeString": "struct EthRegistrarSubdomainRegistrar.Domain storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 995, + "nodeType": "ExpressionStatement", + "src": "8776:21:2" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 997, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "8831:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 998, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "8838:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 996, + "name": "DomainTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "8813:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,string memory)" + } + }, + "id": 999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8813:30:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1000, + "nodeType": "EmitStatement", + "src": "8808:35:2" + } + ] + }, + "documentation": "@dev Migrates the domain to a new registrar.\n@param name The name of the domain to migrate.", + "id": 1002, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 933, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "8301:4:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8295:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8295:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 931, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "8285:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8285:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 936, + "modifierName": { + "argumentTypes": null, + "id": 930, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "8274:10:2", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "8274:34:2" + } + ], + "name": "migrate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 928, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1002, + "src": "8247:18:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 927, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8247:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8246:20:2" + }, + "returnParameters": { + "id": 937, + "nodeType": "ParameterList", + "parameters": [], + "src": "8309:0:2" + }, + "scope": 1014, + "src": "8230:620:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1012, + "nodeType": "Block", + "src": "8932:25:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1009, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6915, + 6916 + ], + "referencedDeclaration": 6915, + "src": "8942:6:2", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8942:8:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1011, + "nodeType": "ExpressionStatement", + "src": "8942:8:2" + } + ] + }, + "documentation": null, + "id": 1013, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "payRent", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1007, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1004, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "8873:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1003, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8873:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1006, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "8888:25:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1005, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8888:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8872:42:2" + }, + "returnParameters": { + "id": 1008, + "nodeType": "ParameterList", + "parameters": [], + "src": "8932:0:2" + }, + "scope": 1014, + "src": "8856:101:2", + "stateMutability": "payable", + "superFunction": 1158, + "visibility": "external" + } + ], + "scope": 1015, + "src": "1500:7459:2" + } + ], + "src": "0:8960:2" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.745Z", + "devdoc": { + "details": "Implements an ENS registrar that sells subdomains on behalf of their owners. * Users may register a subdomain by calling `register` with the name of the domain they wish to register under, and the label hash of the subdomain they want to register. They must also specify the new owner of the domain, and the referrer, who is paid an optional finder's fee. The registrar then configures a simple default resolver, which resolves `addr` lookups to the new owner, and sets the `owner` account as the owner of the subdomain in ENS. * New domains may be added by calling `configureDomain`, then transferring ownership in the ENS registry to this contract. Ownership in the contract may be transferred using `transfer`, and a domain may be unlisted for sale using `unlistDomain`. There is (deliberately) no way to recover ownership in ENS once the name is transferred to this registrar. * Critically, this contract does not check one key property of a listed domain: * - Is the name UTS46 normalised? * User applications MUST check these two elements for each domain before offering them to users for registration. * Applications should additionally check that the domains they are offering to register are controlled by this registrar, since calls to `register` will fail if this is not the case.", + "methods": { + "configureDomain(string,uint256,uint256)": { + "details": "Configures a domain for sale.", + "params": { + "name": "The name to configure.", + "price": "The price in wei to charge for subdomain registrations", + "referralFeePPM": "The referral fee to offer, in parts per million" + } + }, + "configureDomainFor(string,uint256,uint256,address,address)": { + "details": "Configures a domain, optionally transferring it to a new owner.", + "params": { + "_owner": "The address to assign ownership of this domain to.", + "_transfer": "The address to set as the transfer address for the name when the permanent registrar is replaced. Can only be set to a non-zero value once.", + "name": "The name to configure.", + "price": "The price in wei to charge for subdomain registrations.", + "referralFeePPM": "The referral fee to offer, in parts per million." + } + }, + "migrate(string)": { + "details": "Migrates the domain to a new registrar.", + "params": { + "name": "The name of the domain to migrate." + } + }, + "owner(bytes32)": { + "details": "owner returns the address of the account that controls a domain. Initially this is a null address. If the name has been transferred to this contract, then the internal mapping is consulted to determine who controls it. If the owner is not set, the owner of the domain in the Registrar is returned.", + "params": { + "label": "The label hash of the deed to check." + }, + "return": "The address owning the deed." + }, + "query(bytes32,string)": { + "details": "Returns information about a subdomain.", + "params": { + "label": "The label hash for the domain.", + "subdomain": "The label for the subdomain." + }, + "return": "domain The name of the domain, or an empty string if the subdomain is unavailable.price The price to register a subdomain, in wei.rent The rent to retain a subdomain, in wei per second.referralFeePPM The referral fee for the dapp, in ppm." + }, + "register(bytes32,string,address,address,address)": { + "details": "Registers a subdomain.", + "params": { + "_subdomainOwner": "The account that should own the newly configured subdomain.", + "label": "The label hash of the domain to register a subdomain of.", + "referrer": "The address of the account to receive the referral fee.", + "subdomain": "The desired subdomain label." + } + }, + "setMigrationAddress(address)": { + "details": "Sets the address where domains are migrated to.", + "params": { + "_migration": "Address of the new registrar." + } + }, + "setResolver(string,address)": { + "details": "Sets the resolver record for a name in ENS.", + "params": { + "name": "The name to set the resolver for.", + "resolver": "The address of the resolver" + } + }, + "stop()": { + "details": "Stops the registrar, disabling configuring of new domains." + }, + "transfer(string,address)": { + "details": "Transfers internal control of a name to a new account. Does not update ENS.", + "params": { + "name": "The name to transfer.", + "newOwner": "The address of the new owner." + } + }, + "unlistDomain(string)": { + "details": "Unlists a domain May only be called by the owner.", + "params": { + "name": "The name of the domain to unlist." + } + } + } + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/EthRegistrarSubdomainRegistrar.sol b/contracts/EthRegistrarSubdomainRegistrar.sol deleted file mode 100644 index 656574f..0000000 --- a/contracts/EthRegistrarSubdomainRegistrar.sol +++ /dev/null @@ -1,229 +0,0 @@ -pragma solidity ^0.5.0; - -import "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol"; -import "./AbstractSubdomainRegistrar.sol"; - -/** - * @dev Implements an ENS registrar that sells subdomains on behalf of their owners. - * - * Users may register a subdomain by calling `register` with the name of the domain - * they wish to register under, and the label hash of the subdomain they want to - * register. They must also specify the new owner of the domain, and the referrer, - * who is paid an optional finder's fee. The registrar then configures a simple - * default resolver, which resolves `addr` lookups to the new owner, and sets - * the `owner` account as the owner of the subdomain in ENS. - * - * New domains may be added by calling `configureDomain`, then transferring - * ownership in the ENS registry to this contract. Ownership in the contract - * may be transferred using `transfer`, and a domain may be unlisted for sale - * using `unlistDomain`. There is (deliberately) no way to recover ownership - * in ENS once the name is transferred to this registrar. - * - * Critically, this contract does not check one key property of a listed domain: - * - * - Is the name UTS46 normalised? - * - * User applications MUST check these two elements for each domain before - * offering them to users for registration. - * - * Applications should additionally check that the domains they are offering to - * register are controlled by this registrar, since calls to `register` will - * fail if this is not the case. - */ -contract EthRegistrarSubdomainRegistrar is AbstractSubdomainRegistrar { - - struct Domain { - string name; - address payable owner; - uint price; - uint referralFeePPM; - } - - mapping (bytes32 => Domain) domains; - - constructor(ENS ens) AbstractSubdomainRegistrar(ens) public { } - - /** - * @dev owner returns the address of the account that controls a domain. - * Initially this is a null address. If the name has been - * transferred to this contract, then the internal mapping is consulted - * to determine who controls it. If the owner is not set, - * the owner of the domain in the Registrar is returned. - * @param label The label hash of the deed to check. - * @return The address owning the deed. - */ - function owner(bytes32 label) public view returns (address) { - if (domains[label].owner != address(0x0)) { - return domains[label].owner; - } - - return BaseRegistrar(registrar).ownerOf(uint256(label)); - } - - /** - * @dev Transfers internal control of a name to a new account. Does not update - * ENS. - * @param name The name to transfer. - * @param newOwner The address of the new owner. - */ - function transfer(string memory name, address payable newOwner) public owner_only(keccak256(bytes(name))) { - bytes32 label = keccak256(bytes(name)); - emit OwnerChanged(label, domains[label].owner, newOwner); - domains[label].owner = newOwner; - } - - /** - * @dev Configures a domain, optionally transferring it to a new owner. - * @param name The name to configure. - * @param price The price in wei to charge for subdomain registrations. - * @param referralFeePPM The referral fee to offer, in parts per million. - * @param _owner The address to assign ownership of this domain to. - * @param _transfer The address to set as the transfer address for the name - * when the permanent registrar is replaced. Can only be set to a non-zero - * value once. - */ - function configureDomainFor(string memory name, uint price, uint referralFeePPM, address payable _owner, address _transfer) public owner_only(keccak256(bytes(name))) { - bytes32 label = keccak256(bytes(name)); - Domain storage domain = domains[label]; - - if (BaseRegistrar(registrar).ownerOf(uint256(label)) != address(this)) { - BaseRegistrar(registrar).transferFrom(msg.sender, address(this), uint256(label)); - BaseRegistrar(registrar).reclaim(uint256(label), address(this)); - } - - if (domain.owner != _owner) { - domain.owner = _owner; - } - - if (keccak256(bytes(domain.name)) != label) { - // New listing - domain.name = name; - } - - domain.price = price; - domain.referralFeePPM = referralFeePPM; - - emit DomainConfigured(label); - } - - /** - * @dev Unlists a domain - * May only be called by the owner. - * @param name The name of the domain to unlist. - */ - function unlistDomain(string memory name) public owner_only(keccak256(bytes(name))) { - bytes32 label = keccak256(bytes(name)); - Domain storage domain = domains[label]; - emit DomainUnlisted(label); - - domain.name = ''; - domain.price = 0; - domain.referralFeePPM = 0; - } - - /** - * @dev Returns information about a subdomain. - * @param label The label hash for the domain. - * @param subdomain The label for the subdomain. - * @return domain The name of the domain, or an empty string if the subdomain - * is unavailable. - * @return price The price to register a subdomain, in wei. - * @return rent The rent to retain a subdomain, in wei per second. - * @return referralFeePPM The referral fee for the dapp, in ppm. - */ - function query(bytes32 label, string calldata subdomain) external view returns (string memory domain, uint price, uint rent, uint referralFeePPM) { - bytes32 node = keccak256(abi.encodePacked(TLD_NODE, label)); - bytes32 subnode = keccak256(abi.encodePacked(node, keccak256(bytes(subdomain)))); - - if (ens.owner(subnode) != address(0x0)) { - return ('', 0, 0, 0); - } - - Domain storage data = domains[label]; - return (data.name, data.price, 0, data.referralFeePPM); - } - - /** - * @dev Registers a subdomain. - * @param label The label hash of the domain to register a subdomain of. - * @param subdomain The desired subdomain label. - * @param _subdomainOwner The account that should own the newly configured subdomain. - * @param referrer The address of the account to receive the referral fee. - */ - function register(bytes32 label, string calldata subdomain, address _subdomainOwner, address payable referrer, address resolver) external not_stopped payable { - address subdomainOwner = _subdomainOwner; - bytes32 domainNode = keccak256(abi.encodePacked(TLD_NODE, label)); - bytes32 subdomainLabel = keccak256(bytes(subdomain)); - - // Subdomain must not be registered already. - require(ens.owner(keccak256(abi.encodePacked(domainNode, subdomainLabel))) == address(0)); - - Domain storage domain = domains[label]; - - // Domain must be available for registration - require(keccak256(bytes(domain.name)) == label); - - // User must have paid enough - require(msg.value >= domain.price); - - // Send any extra back - if (msg.value > domain.price) { - msg.sender.transfer(msg.value - domain.price); - } - - // Send any referral fee - uint256 total = domain.price; - if (domain.referralFeePPM > 0 && referrer != address(0x0) && referrer != domain.owner) { - uint256 referralFee = (domain.price * domain.referralFeePPM) / 1000000; - referrer.transfer(referralFee); - total -= referralFee; - } - - // Send the registration fee - if (total > 0) { - domain.owner.transfer(total); - } - - // Register the domain - if (subdomainOwner == address(0x0)) { - subdomainOwner = msg.sender; - } - doRegistration(domainNode, subdomainLabel, subdomainOwner, Resolver(resolver)); - - emit NewRegistration(label, subdomain, subdomainOwner, referrer, domain.price); - } - - function rentDue(bytes32 label, string calldata subdomain) external view returns (uint timestamp) { - return 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; - } - - /** - * @dev Migrates the domain to a new registrar. - * @param name The name of the domain to migrate. - */ - function migrate(string memory name) public owner_only(keccak256(bytes(name))) { - require(stopped); - require(migration != address(0x0)); - - bytes32 label = keccak256(bytes(name)); - Domain storage domain = domains[label]; - - BaseRegistrar(registrar).approve(migration, uint256(label)); - - EthRegistrarSubdomainRegistrar(migration).configureDomainFor( - domain.name, - domain.price, - domain.referralFeePPM, - domain.owner, - address(0x0) - ); - - delete domains[label]; - - emit DomainTransferred(label, name); - } - - function payRent(bytes32 label, string calldata subdomain) external payable { - revert(); - } -} diff --git a/contracts/HashRegistrar.json b/contracts/HashRegistrar.json new file mode 100644 index 0000000..2187fa7 --- /dev/null +++ b/contracts/HashRegistrar.json @@ -0,0 +1,39940 @@ +{ + "contractName": "HashRegistrar", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ENS", + "name": "_ens", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_rootNode", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_startDate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "registrationDate", + "type": "uint256" + } + ], + "name": "AuctionStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "status", + "type": "uint8" + } + ], + "name": "BidRevealed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "registrationDate", + "type": "uint256" + } + ], + "name": "HashInvalidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "registrationDate", + "type": "uint256" + } + ], + "name": "HashRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "HashReleased", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "bidder", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "deposit", + "type": "uint256" + } + ], + "name": "NewBid", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "launchLength", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "registryStarted", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rootNode", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "sealedBids", + "outputs": [ + { + "internalType": "contract Deed", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "startAuction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_hashes", + "type": "bytes32[]" + } + ], + "name": "startAuctions", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "sealedBid", + "type": "bytes32" + } + ], + "name": "newBid", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "hashes", + "type": "bytes32[]" + }, + { + "internalType": "bytes32", + "name": "sealedBid", + "type": "bytes32" + } + ], + "name": "startAuctionsAndBid", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "unsealBid", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "bidder", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "seal", + "type": "bytes32" + } + ], + "name": "cancelBid", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "finalizeAuction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "address payable", + "name": "newOwner", + "type": "address" + } + ], + "name": "transfer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "releaseDeed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "unhashedName", + "type": "string" + } + ], + "name": "invalidateName", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "labels", + "type": "bytes32[]" + } + ], + "name": "eraseNode", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "transferRegistrars", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "contract Deed", + "name": "deed", + "type": "address" + }, + { + "internalType": "uint256", + "name": "registrationDate", + "type": "uint256" + } + ], + "name": "acceptRegistrarTransfer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "entries", + "outputs": [ + { + "internalType": "enum Registrar.Mode", + "name": "", + "type": "uint8" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "state", + "outputs": [ + { + "internalType": "enum Registrar.Mode", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_timestamp", + "type": "uint256" + } + ], + "name": "isAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "getAllowedTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + } + ], + "name": "shaBid", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ENS\",\"name\":\"_ens\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_rootNode\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_startDate\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"AuctionStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"BidRevealed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"HashInvalidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"HashRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"HashReleased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"NewBid\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"contract Deed\",\"name\":\"deed\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"acceptRegistrarTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"seal\",\"type\":\"bytes32\"}],\"name\":\"cancelBid\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"entries\",\"outputs\":[{\"internalType\":\"enum Registrar.Mode\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"labels\",\"type\":\"bytes32[]\"}],\"name\":\"eraseNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"finalizeAuction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"getAllowedTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"unhashedName\",\"type\":\"string\"}],\"name\":\"invalidateName\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"}],\"name\":\"isAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"launchLength\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sealedBid\",\"type\":\"bytes32\"}],\"name\":\"newBid\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registryStarted\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"releaseDeed\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rootNode\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"sealedBids\",\"outputs\":[{\"internalType\":\"contract Deed\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"shaBid\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"startAuction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_hashes\",\"type\":\"bytes32[]\"}],\"name\":\"startAuctions\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32\",\"name\":\"sealedBid\",\"type\":\"bytes32\"}],\"name\":\"startAuctionsAndBid\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum Registrar.Mode\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"transferRegistrars\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"unsealBid\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The registrar handles the auction process for each subnode of the node it owns.\",\"methods\":{\"acceptRegistrarTransfer(bytes32,address,uint256)\":{\"details\":\"Accepts a transfer from a previous registrar; stubbed out here since there is no previous registrar implementing this interface.\",\"params\":{\"deed\":\"The Deed object for the name being transferred in.\",\"hash\":\"The sha3 hash of the label to transfer.\",\"registrationDate\":\"The date at which the name was originally registered.\"}},\"cancelBid(address,bytes32)\":{\"details\":\"Cancel a bid\",\"params\":{\"seal\":\"The value returned by the shaBid function\"}},\"constructor\":{\"details\":\"Constructs a new Registrar, with the provided address as the owner of the root node.\",\"params\":{\"_ens\":\"The address of the ENS\",\"_rootNode\":\"The hash of the rootnode.\"}},\"eraseNode(bytes32[])\":{\"details\":\"Allows anyone to delete the owner and resolver records for a (subdomain of) a name that is not currently owned in the registrar. If passing, eg, 'foo.bar.eth', the owner and resolver fields on 'foo.bar.eth' and 'bar.eth' will all be cleared.\",\"params\":{\"labels\":\"A series of label hashes identifying the name to zero out, rooted at the registrar's root. Must contain at least one element. For instance, to zero 'foo.bar.eth' on a registrar that owns '.eth', pass an array containing [keccak256('foo'), keccak256('bar')].\"}},\"finalizeAuction(bytes32)\":{\"details\":\"Finalize an auction after the registration date has passed\",\"params\":{\"_hash\":\"The hash of the name the auction is for\"}},\"getAllowedTime(bytes32)\":{\"details\":\"Returns available date for hash * The available time from the `registryStarted` for a hash is proportional to its numeric value.\",\"params\":{\"_hash\":\"The hash to start an auction on\"}},\"invalidateName(string)\":{\"details\":\"Submit a name 6 characters long or less. If it has been registered, the submitter will earn 50% of the deed value. * We are purposefully handicapping the simplified registrar as a way to force it into being restructured in a few years.\",\"params\":{\"unhashedName\":\"An invalid name to search for in the registry.\"}},\"isAllowed(bytes32,uint256)\":{\"details\":\"Determines if a name is available for registration yet * Each name will be assigned a random date in which its auction can be started, from 0 to 8 weeks\",\"params\":{\"_hash\":\"The hash to start an auction on\",\"_timestamp\":\"The timestamp to query about\"}},\"newBid(bytes32)\":{\"details\":\"Submit a new sealed bid on a desired hash in a blind auction * Bids are sent by sending a message to the main contract with a hash and an amount. The hash contains information about the bid, including the bidded hash, the bid amount, and a random salt. Bids are not tied to any one auction until they are revealed. The value of the bid itself can be masqueraded by sending more than the value of your actual bid. This is followed by a 48h reveal period. Bids revealed after this period will be burned and the ether unrecoverable. Since this is an auction, it is expected that most public hashes, like known domains and common dictionary words, will have multiple bidders pushing the price up.\",\"params\":{\"sealedBid\":\"A sealedBid, created by the shaBid function\"}},\"releaseDeed(bytes32)\":{\"details\":\"After some time, or if we're no longer the registrar, the owner can release the name and get their ether back.\",\"params\":{\"_hash\":\"The node to release\"}},\"shaBid(bytes32,address,uint256,bytes32)\":{\"details\":\"Hash the values required for a secret bid\",\"params\":{\"hash\":\"The node corresponding to the desired namehash\",\"salt\":\"A random value to ensure secrecy of the bid\",\"value\":\"The bid amount\"},\"return\":\"The hash of the bid values\"},\"startAuction(bytes32)\":{\"details\":\"Start an auction for an available hash\",\"params\":{\"_hash\":\"The hash to start an auction on\"}},\"startAuctions(bytes32[])\":{\"details\":\"Start multiple auctions for better anonymity * Anyone can start an auction by sending an array of hashes that they want to bid for. Arrays are sent so that someone can open up an auction for X dummy hashes when they are only really interested in bidding for one. This will increase the cost for an attacker to simply bid blindly on all new auctions. Dummy auctions that are open but not bid on are closed after a week.\",\"params\":{\"_hashes\":\"An array of hashes, at least one of which you presumably want to bid on\"}},\"startAuctionsAndBid(bytes32[],bytes32)\":{\"details\":\"Start a set of auctions and bid on one of them * This method functions identically to calling `startAuctions` followed by `newBid`, but all in one transaction.\",\"params\":{\"hashes\":\"A list of hashes to start auctions on.\",\"sealedBid\":\"A sealed bid for one of the auctions.\"}},\"transfer(bytes32,address)\":{\"details\":\"The owner of a domain may transfer it to someone else at any time.\",\"params\":{\"_hash\":\"The node to transfer\",\"newOwner\":\"The address to transfer ownership to\"}},\"transferRegistrars(bytes32)\":{\"details\":\"Transfers the deed to the current registrar, if different from this one. * Used during the upgrade process to a permanent registrar.\",\"params\":{\"_hash\":\"The name hash to transfer.\"}},\"unsealBid(bytes32,uint256,bytes32)\":{\"details\":\"Submit the properties of a bid to reveal them\",\"params\":{\"_hash\":\"The node in the sealedBid\",\"_salt\":\"The sale in the sealedBid\",\"_value\":\"The bid amount in the sealedBid\"}}},\"title\":\"Registrar\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens/contracts/HashRegistrar.sol\":\"HashRegistrar\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/Deed.sol\":{\"keccak256\":\"0x7b4abd2f65e2e093743077b899d0fb4952627ad7ff6104b840f9869f5baa5e96\",\"urls\":[\"bzz-raw://d72dc40eb83ded3cca64d6c1b9958f665f4cd61115fed4d32dfd62d0c6ded0fc\",\"dweb:/ipfs/Qmdkef7QyeJDF96ToptWRWroYYuD8XjCvrtxy46dA62iA2\"]},\"@ensdomains/ens/contracts/DeedImplementation.sol\":{\"keccak256\":\"0x91242ba8032d5e01a8a59da84afb4d0d5b1007d4257bde8e6caa20fbc700cdc7\",\"urls\":[\"bzz-raw://6810d6c6038674ba3736a199aa71d2a9bcbbb10bffc796f13e1b52de0de91854\",\"dweb:/ipfs/QmdSjH6EhvqTnqhVKkUkvs6PVT67wAxq4gwerFLZ4UsD5c\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ens/contracts/HashRegistrar.sol\":{\"keccak256\":\"0xfa35370373bb3f4393d2b32908c526651fbc46cad2e313c9c8b2e6d051083b11\",\"urls\":[\"bzz-raw://1dbfe101894eb558901c4020e113a5b63c0f1562112902736093df5eebe81afd\",\"dweb:/ipfs/QmPDdcczyuE8iAHauYWrLCG3FSF8vKmDAW2r2ZGvpR1NTs\"]},\"@ensdomains/ens/contracts/Registrar.sol\":{\"keccak256\":\"0xaef3f85ba0cf0544485d506a3f93719a90f8f28ef6c59f7175955768bec719bb\",\"urls\":[\"bzz-raw://fc1be7eec872590585a2dfbc0b3d0ef332444dd528ee75e96fb107f265ccc5e7\",\"dweb:/ipfs/QmUCo66Bpmic9rHjdjw2VrmmJ7c7Ma1oHJ2ZvbtctsDM6g\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b50604051620041cd380380620041cd833981810160405260608110156200003757600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160018190555060008111620000b35742620000b5565b805b6004819055505050506140ff80620000ce6000396000f3fe6080604052600436106101405760003560e01c806379ce9fac116100b6578063de10f04b1161006f578063de10f04b14610734578063e27fe50f146107ba578063ea9e107a14610840578063ede8acdb146108a5578063faff50a8146108e0578063febefd611461090b57610140565b806379ce9fac146105b1578063935033371461060c578063983b94fb146106695780639c67f06f146106a4578063ae1a0b0c146106cf578063ce92dced1461070657610140565b8063267b692211610108578063267b6922146103335780633f15457f146103d857806347872b421461042f5780635ddae2831461047e5780635e431709146104b957806361d585da1461055457610140565b80630230a07c1461014557806313c89a8f1461018057806315f73331146101cf57806322ec1244146102555780632525f5c1146102d8575b600080fd5b34801561015157600080fd5b5061017e6004803603602081101561016857600080fd5b810190808035906020019092919050505061098e565b005b34801561018c57600080fd5b506101b9600480360360208110156101a357600080fd5b8101908080359060200190929190505050610cf3565b6040518082815260200191505060405180910390f35b3480156101db57600080fd5b50610253600480360360208110156101f257600080fd5b810190808035906020019064010000000081111561020f57600080fd5b82018360208201111561022157600080fd5b8035906020019184600183028401116401000000008311171561024357600080fd5b9091929391929390505050610d16565b005b34801561026157600080fd5b506102c26004803603608081101561027857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611199565b6040518082815260200191505060405180910390f35b3480156102e457600080fd5b50610331600480360360408110156102fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611213565b005b34801561033f57600080fd5b5061036c6004803603602081101561035657600080fd5b8101908080359060200190929190505050611552565b6040518086600581111561037c57fe5b60ff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018281526020019550505050505060405180910390f35b3480156103e457600080fd5b506103ed6115c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043b57600080fd5b5061047c6004803603606081101561045257600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506115e6565b005b34801561048a57600080fd5b506104b7600480360360208110156104a157600080fd5b8101908080359060200190929190505050611e4f565b005b3480156104c557600080fd5b50610512600480360360408110156104dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061225d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561056057600080fd5b5061058d6004803603602081101561057757600080fd5b810190808035906020019092919050505061229f565b6040518082600581111561059d57fe5b60ff16815260200191505060405180910390f35b3480156105bd57600080fd5b5061060a600480360360408110156105d457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612328565b005b34801561061857600080fd5b5061064f6004803603604081101561062f57600080fd5b81019080803590602001909291908035906020019092919050505061255d565b604051808215151515815260200191505060405180910390f35b34801561067557600080fd5b506106a26004803603602081101561068c57600080fd5b8101908080359060200190929190505050612572565b005b3480156106b057600080fd5b506106b9612915565b6040518082815260200191505060405180910390f35b3480156106db57600080fd5b506106e461291b565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6107326004803603602081101561071c57600080fd5b8101908080359060200190929190505050612922565b005b34801561074057600080fd5b506107b86004803603602081101561075757600080fd5b810190808035906020019064010000000081111561077457600080fd5b82018360208201111561078657600080fd5b803590602001918460208302840111640100000000831117156107a857600080fd5b909192939192939050505061292e565b005b3480156107c657600080fd5b5061083e600480360360208110156107dd57600080fd5b81019080803590602001906401000000008111156107fa57600080fd5b82018360208201111561080c57600080fd5b8035906020019184602083028401116401000000008311171561082e57600080fd5b90919293919293905050506129db565b005b34801561084c57600080fd5b506108a36004803603606081101561086357600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612a29565b005b3480156108b157600080fd5b506108de600480360360208110156108c857600080fd5b8101908080359060200190929190505050612a2e565b005b3480156108ec57600080fd5b506108f5612a3a565b6040518082815260200191505060405180910390f35b61098c6004803603604081101561092157600080fd5b810190808035906020019064010000000081111561093e57600080fd5b82018360208201111561095057600080fd5b8035906020019184602083028401116401000000008311171561097257600080fd5b909192939192939080359060200190929190505050612a40565b005b806002600581111561099c57fe5b6109a58261229f565b60058111156109b057fe5b148015610a9e57506002600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d6020811015610a5e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610aa757600080fd5b600060026000848152602001908152602001600020905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506301e1338082600101540142101580610bda57503073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d6020811015610bb057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614155b610be357600080fd5b600082600201819055506000826003018190555060008260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c4484612a98565b8073ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e86040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c9957600080fd5b505af1158015610cad573d6000803e3d6000fd5b50505050837f292b79b9246fa2c8e77d3fe195b251f9cb839d7d038e667c069ee7708c631e1683600201546040518082815260200191505060405180910390a250505050565b60006080808360001c901c6249d40063ffffffff1602901c600454019050919050565b818160405160200180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001206002806005811115610d7757fe5b610d808361229f565b6005811115610d8b57fe5b14610d9557600080fd5b6006610de485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e24565b1115610def57600080fd5b6000848460405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012090506000600260008381526020019081526020016000209050610e6682612a98565b600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d257610ed38160020154662386f26fc10000612ee2565b81600201819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0c809726002836002015481610f2957fe5b0460006040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610f6d57600080fd5b505af1158015610f81573d6000803e3d6000fd5b505050508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313af4035336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561102857600080fd5b505af115801561103c573d6000803e3d6000fd5b505050508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e86040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156110b957600080fd5b505af11580156110cd573d6000803e3d6000fd5b505050505b85856040518083838082843780830192505050925050506040518091039020827f1f9c649fe47e58bb60f4e52f0d90e4c47a526c9f90c5113df842c025970b66ad83600201548460010154604051808381526020018281526020019250505060405180910390a3600081600201819055506000816003018190555060008160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050565b600084848484604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401838152602001828152602001945050505050604051602081830303815290604052805190602001209050949350505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156113555750621275006206978063ffffffff168273ffffffffffffffffffffffffffffffffffffffff166305b344106040518163ffffffff1660e01b815260040160206040518083038186803b15801561131457600080fd5b505afa158015611328573d6000803e3d6000fd5b505050506040513d602081101561133e57600080fd5b810190808051906020019092919050505001014210155b61135e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166313af4035336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156113dd57600080fd5b505af11580156113f1573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663bbe4277160056040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561144957600080fd5b505af115801561145d573d6000803e3d6000fd5b505050506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16827f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e760006005604051808381526020018260ff1681526020019250505060405180910390a3505050565b6000806000806000806002600088815260200190815260200160002090506115798761229f565b8160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826001015483600201548460030154955095509550955095505091939590929450565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006115f484338585611199565b90506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116a557600080fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060026000878152602001908152602001600020905060006117d8868473ffffffffffffffffffffffffffffffffffffffff16633fa4f2456040518163ffffffff1660e01b815260040160206040518083038186803b15801561179857600080fd5b505afa1580156117ac573d6000803e3d6000fd5b505050506040513d60208110156117c257600080fd5b8101908080519060200190929190505050612efe565b90508273ffffffffffffffffffffffffffffffffffffffff1663b0c809728260016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561183a57600080fd5b505af115801561184e573d6000803e3d6000fd5b50505050600061185d8861229f565b90506002600581111561186c57fe5b81600581111561187857fe5b141561194a578373ffffffffffffffffffffffffffffffffffffffff1663bbe4277160056040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156118d257600080fd5b505af11580156118e6573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16887f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7846001604051808381526020018260ff1681526020019250505060405180910390a3611e45565b6004600581111561195757fe5b81600581111561196357fe5b1461196d57600080fd5b662386f26fc10000821080611a1057506202a30063ffffffff168360010154038473ffffffffffffffffffffffffffffffffffffffff166305b344106040518163ffffffff1660e01b815260040160206040518083038186803b1580156119d357600080fd5b505afa1580156119e7573d6000803e3d6000fd5b505050506040513d60208110156119fd57600080fd5b8101908080519060200190929190505050115b15611ae2578373ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e36040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611a6a57600080fd5b505af1158015611a7e573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16887f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7846000604051808381526020018260ff1681526020019250505060405180910390a3611e44565b8260030154821115611c9757600073ffffffffffffffffffffffffffffffffffffffff168360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bde5760008360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e36040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611bc457600080fd5b505af1158015611bd8573d6000803e3d6000fd5b50505050505b82600301548360020181905550818360030181905550838360000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16887f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7846002604051808381526020018260ff1681526020019250505060405180910390a3611e43565b8260020154821115611d79578183600201819055508373ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e36040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611d0157600080fd5b505af1158015611d15573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16887f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7846003604051808381526020018260ff1681526020019250505060405180910390a3611e42565b8373ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e36040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611dce57600080fd5b505af1158015611de2573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16887f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7846004604051808381526020018260ff1681526020019250505060405180910390a35b5b5b5b5050505050505050565b8060026005811115611e5d57fe5b611e668261229f565b6005811115611e7157fe5b148015611f5f57506002600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ef557600080fd5b505afa158015611f09573d6000803e3d6000fd5b505050506040513d6020811015611f1f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611f6857600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611fde57600080fd5b505afa158015611ff2573d6000803e3d6000fd5b505050506040513d602081101561200857600080fd5b810190808051906020019092919050505090503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561205457600080fd5b60006002600085815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663faab9d39836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561210e57600080fd5b505af1158015612122573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663ea9e107a858360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600101546040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156121dd57600080fd5b505af11580156121f1573d6000803e3d6000fd5b5050505060008160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008160010181905550600081600201819055506000816003018190555050505050565b60036020528160005260406000206020528060005260406000206000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806002600084815260200190815260200160002090506122c1834261255d565b6122cf576005915050612323565b8060010154421015612306576202a30063ffffffff168160010154034210156122fc576001915050612323565b6004915050612323565b60008160030154141561231d576000915050612323565b60029150505b919050565b816002600581111561233657fe5b61233f8261229f565b600581111561234a57fe5b14801561243857506002600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156123ce57600080fd5b505afa1580156123e2573d6000803e3d6000fd5b505050506040513d60208110156123f857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61244157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561247b57600080fd5b60006002600085815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313af4035846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561253557600080fd5b505af1158015612549573d6000803e3d6000fd5b505050506125578484612f1a565b50505050565b600061256883610cf3565b8211905092915050565b806002600581111561258057fe5b6125898261229f565b600581111561259457fe5b14801561268257506002600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561261857600080fd5b505afa15801561262c573d6000803e3d6000fd5b505050506040513d602081101561264257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61268b57600080fd5b60006002600084815260200190815260200160002090506126b78160020154662386f26fc10000612ee2565b81600201819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0c80972826002015460016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561274757600080fd5b505af115801561275b573d6000803e3d6000fd5b5050505061280d838260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156127cd57600080fd5b505afa1580156127e1573d6000803e3d6000fd5b505050506040513d60208110156127f757600080fd5b8101908080519060200190929190505050612f1a565b8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561287757600080fd5b505afa15801561288b573d6000803e3d6000fd5b505050506040513d60208110156128a157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16837f0f0c27adfd84b60b6f456b0e87cdccb1e5fb9603991588d87fa99f5b6b61e67083600201548460010154604051808381526020018281526020019250505060405180910390a3505050565b60045481565b6249d40081565b61292b816130ef565b50565b600082829050141561293f57600080fd5b6002600581111561294c57fe5b61296d83836001868690500381811061296157fe5b9050602002013561229f565b600581111561297857fe5b141561298357600080fd5b6129d760018383905003838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506001546132f4565b5050565b612a25828280806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506135d6565b5050565b505050565b612a3781613612565b50565b60015481565b612a8a838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506135d6565b612a93816130ef565b505050565b3073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612b2357600080fd5b505afa158015612b37573d6000803e3d6000fd5b505050506040513d6020811015612b4d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415612e21576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab592360015483306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015612c2c57600080fd5b505af1158015612c40573d6000803e3d6000fd5b505050506040513d6020811015612c5657600080fd5b81019080805190602001909291905050505060006001548260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a8260006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612d4657600080fd5b505af1158015612d5a573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c38260006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612e0757600080fd5b505af1158015612e1b573d6000803e3d6000fd5b50505050505b50565b6000808060018401915081845101905060008090505b81831015612ed757600060ff845116905060808160ff161015612e6257600184019350612ec9565b60e08160ff161015612e7957600284019350612ec8565b60f08160ff161015612e9057600384019350612ec7565b60f88160ff161015612ea757600484019350612ec6565b60fc8160ff161015612ebe57600584019350612ec5565b6006840193505b5b5b5b5b508080600101915050612e3a565b809350505050919050565b600081831115612ef457829050612ef8565b8190505b92915050565b600081831015612f1057829050612f14565b8190505b92915050565b3073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612fa557600080fd5b505afa158015612fb9573d6000803e3d6000fd5b505050506040513d6020811015612fcf57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614156130eb576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab592360015484846040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156130ae57600080fd5b505af11580156130c2573d6000803e3d6000fd5b505050506040513d60208110156130d857600080fd5b8101908080519060200190929190505050505b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461319857600080fd5b662386f26fc100003410156131ac57600080fd5b600034336040516131bc906137f0565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040518091039082f08015801561320d573d6000803e3d6000fd5b509050905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16827fb556ff269c1b6714f432c36431e2041d28436a73b6c3f19c021827bbdc6bfc29346040518082815260200191505060405180910390a35050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59238284868151811061333e57fe5b6020026020010151306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156133b757600080fd5b505af11580156133cb573d6000803e3d6000fd5b505050506040513d60208110156133e157600080fd5b8101908080519060200190929190505050508082848151811061340057fe5b60200260200101516040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600083111561344f5761344e6001840383836132f4565b5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a8260006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156134f857600080fd5b505af115801561350c573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c38260006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156135b957600080fd5b505af11580156135cd573d6000803e3d6000fd5b50505050505050565b60008090505b815181101561360e576136018282815181106135f457fe5b6020026020010151613612565b80806001019150506135dc565b5050565b600454421015801561362c5750630784ce00600454014211155b801561371157503073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136be57600080fd5b505afa1580156136d2573d6000803e3d6000fd5b505050506040513d60208110156136e857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16145b61371a57600080fd5b60006137258261229f565b90506001600581111561373457fe5b81600581111561374057fe5b141561374c57506137ed565b6000600581111561375957fe5b81600581111561376557fe5b1461376f57600080fd5b60006002600084815260200190815260200160002090506206978063ffffffff16420181600101819055506000816002018190555060008160030181905550827f87e97e825a1d1fa0c54e1d36c7506c1dea8b1efd451fe68b000cf96f7cf4000382600101546040518082815260200191505060405180910390a250505b50565b6108cd806137fe8339019056fe60806040526040516108cd3803806108cd8339818101604052602081101561002657600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426003819055506001600560006101000a81548160ff02191690831515021790555034600481905550506107dc806100f16000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063674f220f11610066578063674f220f146101225780638da5cb5b1461016c578063b0c80972146101b6578063bbe42771146101f0578063faab9d391461021e57610093565b806305b34410146100985780630b5ab3d5146100b657806313af4035146100c05780633fa4f24514610104575b600080fd5b6100a0610262565b6040518082815260200191505060405180910390f35b6100be610267565b005b610102600480360360208110156100d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610271565b005b61010c61040d565b6040518082815260200191505060405180910390f35b61012a610417565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610174610441565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ee600480360360408110156101cc57600080fd5b810190808035906020019092919080351515906020019092919050505061046a565b005b61021c6004803603602081101561020657600080fd5b8101908080359060200190929190505050610561565b005b6102606004803603602081101561023457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610677565b005b600090565b61026f610715565b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102cb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561030557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf3681604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600454905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c457600080fd5b600560009054906101000a900460ff166104dd57600080fd5b8160045410156104ec57600080fd5b816004819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8347039081150290604051600060405180830381858888f1935050505080610554575080155b61055d57600080fd5b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105bb57600080fd5b600560009054906101000a900460ff166105d457600080fd5b6000600560006101000a81548160ff02191690831515021790555061dead73ffffffffffffffffffffffffffffffffffffffff166108fc6103e847846103e803028161061c57fe5b049081150290604051600060405180830381858888f1935050505061064057600080fd5b7fbb2ce2f51803bba16bc85282b47deeea9a5c6223eabea1077be696b3f265cf1360405160405180910390a1610674610715565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106d157600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900460ff161561072f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050156107a55761dead73ffffffffffffffffffffffffffffffffffffffff16ff5b56fea265627a7a72315820fa23328cf0f35337ca53fef0d5c1bb313e3cf1900ea3cbb3af65126b3f961f9664736f6c63430005100032a265627a7a723158203aaa12fb9dcd4143bac196da0e68ded255147fcc766506f2062d1a724521b02364736f6c63430005100032", + "deployedBytecode": "0x6080604052600436106101405760003560e01c806379ce9fac116100b6578063de10f04b1161006f578063de10f04b14610734578063e27fe50f146107ba578063ea9e107a14610840578063ede8acdb146108a5578063faff50a8146108e0578063febefd611461090b57610140565b806379ce9fac146105b1578063935033371461060c578063983b94fb146106695780639c67f06f146106a4578063ae1a0b0c146106cf578063ce92dced1461070657610140565b8063267b692211610108578063267b6922146103335780633f15457f146103d857806347872b421461042f5780635ddae2831461047e5780635e431709146104b957806361d585da1461055457610140565b80630230a07c1461014557806313c89a8f1461018057806315f73331146101cf57806322ec1244146102555780632525f5c1146102d8575b600080fd5b34801561015157600080fd5b5061017e6004803603602081101561016857600080fd5b810190808035906020019092919050505061098e565b005b34801561018c57600080fd5b506101b9600480360360208110156101a357600080fd5b8101908080359060200190929190505050610cf3565b6040518082815260200191505060405180910390f35b3480156101db57600080fd5b50610253600480360360208110156101f257600080fd5b810190808035906020019064010000000081111561020f57600080fd5b82018360208201111561022157600080fd5b8035906020019184600183028401116401000000008311171561024357600080fd5b9091929391929390505050610d16565b005b34801561026157600080fd5b506102c26004803603608081101561027857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611199565b6040518082815260200191505060405180910390f35b3480156102e457600080fd5b50610331600480360360408110156102fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611213565b005b34801561033f57600080fd5b5061036c6004803603602081101561035657600080fd5b8101908080359060200190929190505050611552565b6040518086600581111561037c57fe5b60ff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018281526020019550505050505060405180910390f35b3480156103e457600080fd5b506103ed6115c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043b57600080fd5b5061047c6004803603606081101561045257600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506115e6565b005b34801561048a57600080fd5b506104b7600480360360208110156104a157600080fd5b8101908080359060200190929190505050611e4f565b005b3480156104c557600080fd5b50610512600480360360408110156104dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061225d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561056057600080fd5b5061058d6004803603602081101561057757600080fd5b810190808035906020019092919050505061229f565b6040518082600581111561059d57fe5b60ff16815260200191505060405180910390f35b3480156105bd57600080fd5b5061060a600480360360408110156105d457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612328565b005b34801561061857600080fd5b5061064f6004803603604081101561062f57600080fd5b81019080803590602001909291908035906020019092919050505061255d565b604051808215151515815260200191505060405180910390f35b34801561067557600080fd5b506106a26004803603602081101561068c57600080fd5b8101908080359060200190929190505050612572565b005b3480156106b057600080fd5b506106b9612915565b6040518082815260200191505060405180910390f35b3480156106db57600080fd5b506106e461291b565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6107326004803603602081101561071c57600080fd5b8101908080359060200190929190505050612922565b005b34801561074057600080fd5b506107b86004803603602081101561075757600080fd5b810190808035906020019064010000000081111561077457600080fd5b82018360208201111561078657600080fd5b803590602001918460208302840111640100000000831117156107a857600080fd5b909192939192939050505061292e565b005b3480156107c657600080fd5b5061083e600480360360208110156107dd57600080fd5b81019080803590602001906401000000008111156107fa57600080fd5b82018360208201111561080c57600080fd5b8035906020019184602083028401116401000000008311171561082e57600080fd5b90919293919293905050506129db565b005b34801561084c57600080fd5b506108a36004803603606081101561086357600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612a29565b005b3480156108b157600080fd5b506108de600480360360208110156108c857600080fd5b8101908080359060200190929190505050612a2e565b005b3480156108ec57600080fd5b506108f5612a3a565b6040518082815260200191505060405180910390f35b61098c6004803603604081101561092157600080fd5b810190808035906020019064010000000081111561093e57600080fd5b82018360208201111561095057600080fd5b8035906020019184602083028401116401000000008311171561097257600080fd5b909192939192939080359060200190929190505050612a40565b005b806002600581111561099c57fe5b6109a58261229f565b60058111156109b057fe5b148015610a9e57506002600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d6020811015610a5e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610aa757600080fd5b600060026000848152602001908152602001600020905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506301e1338082600101540142101580610bda57503073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d6020811015610bb057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614155b610be357600080fd5b600082600201819055506000826003018190555060008260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c4484612a98565b8073ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e86040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c9957600080fd5b505af1158015610cad573d6000803e3d6000fd5b50505050837f292b79b9246fa2c8e77d3fe195b251f9cb839d7d038e667c069ee7708c631e1683600201546040518082815260200191505060405180910390a250505050565b60006080808360001c901c6249d40063ffffffff1602901c600454019050919050565b818160405160200180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001206002806005811115610d7757fe5b610d808361229f565b6005811115610d8b57fe5b14610d9557600080fd5b6006610de485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e24565b1115610def57600080fd5b6000848460405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012090506000600260008381526020019081526020016000209050610e6682612a98565b600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d257610ed38160020154662386f26fc10000612ee2565b81600201819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0c809726002836002015481610f2957fe5b0460006040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610f6d57600080fd5b505af1158015610f81573d6000803e3d6000fd5b505050508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313af4035336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561102857600080fd5b505af115801561103c573d6000803e3d6000fd5b505050508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e86040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156110b957600080fd5b505af11580156110cd573d6000803e3d6000fd5b505050505b85856040518083838082843780830192505050925050506040518091039020827f1f9c649fe47e58bb60f4e52f0d90e4c47a526c9f90c5113df842c025970b66ad83600201548460010154604051808381526020018281526020019250505060405180910390a3600081600201819055506000816003018190555060008160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050565b600084848484604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401838152602001828152602001945050505050604051602081830303815290604052805190602001209050949350505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156113555750621275006206978063ffffffff168273ffffffffffffffffffffffffffffffffffffffff166305b344106040518163ffffffff1660e01b815260040160206040518083038186803b15801561131457600080fd5b505afa158015611328573d6000803e3d6000fd5b505050506040513d602081101561133e57600080fd5b810190808051906020019092919050505001014210155b61135e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166313af4035336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156113dd57600080fd5b505af11580156113f1573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663bbe4277160056040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561144957600080fd5b505af115801561145d573d6000803e3d6000fd5b505050506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16827f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e760006005604051808381526020018260ff1681526020019250505060405180910390a3505050565b6000806000806000806002600088815260200190815260200160002090506115798761229f565b8160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826001015483600201548460030154955095509550955095505091939590929450565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006115f484338585611199565b90506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116a557600080fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060026000878152602001908152602001600020905060006117d8868473ffffffffffffffffffffffffffffffffffffffff16633fa4f2456040518163ffffffff1660e01b815260040160206040518083038186803b15801561179857600080fd5b505afa1580156117ac573d6000803e3d6000fd5b505050506040513d60208110156117c257600080fd5b8101908080519060200190929190505050612efe565b90508273ffffffffffffffffffffffffffffffffffffffff1663b0c809728260016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561183a57600080fd5b505af115801561184e573d6000803e3d6000fd5b50505050600061185d8861229f565b90506002600581111561186c57fe5b81600581111561187857fe5b141561194a578373ffffffffffffffffffffffffffffffffffffffff1663bbe4277160056040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156118d257600080fd5b505af11580156118e6573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16887f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7846001604051808381526020018260ff1681526020019250505060405180910390a3611e45565b6004600581111561195757fe5b81600581111561196357fe5b1461196d57600080fd5b662386f26fc10000821080611a1057506202a30063ffffffff168360010154038473ffffffffffffffffffffffffffffffffffffffff166305b344106040518163ffffffff1660e01b815260040160206040518083038186803b1580156119d357600080fd5b505afa1580156119e7573d6000803e3d6000fd5b505050506040513d60208110156119fd57600080fd5b8101908080519060200190929190505050115b15611ae2578373ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e36040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611a6a57600080fd5b505af1158015611a7e573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16887f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7846000604051808381526020018260ff1681526020019250505060405180910390a3611e44565b8260030154821115611c9757600073ffffffffffffffffffffffffffffffffffffffff168360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bde5760008360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e36040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611bc457600080fd5b505af1158015611bd8573d6000803e3d6000fd5b50505050505b82600301548360020181905550818360030181905550838360000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16887f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7846002604051808381526020018260ff1681526020019250505060405180910390a3611e43565b8260020154821115611d79578183600201819055508373ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e36040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611d0157600080fd5b505af1158015611d15573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16887f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7846003604051808381526020018260ff1681526020019250505060405180910390a3611e42565b8373ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e36040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611dce57600080fd5b505af1158015611de2573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16887f7b6c4b278d165a6b33958f8ea5dfb00c8c9d4d0acf1985bef5d10786898bc3e7846004604051808381526020018260ff1681526020019250505060405180910390a35b5b5b5b5050505050505050565b8060026005811115611e5d57fe5b611e668261229f565b6005811115611e7157fe5b148015611f5f57506002600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ef557600080fd5b505afa158015611f09573d6000803e3d6000fd5b505050506040513d6020811015611f1f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611f6857600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611fde57600080fd5b505afa158015611ff2573d6000803e3d6000fd5b505050506040513d602081101561200857600080fd5b810190808051906020019092919050505090503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561205457600080fd5b60006002600085815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663faab9d39836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561210e57600080fd5b505af1158015612122573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663ea9e107a858360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600101546040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156121dd57600080fd5b505af11580156121f1573d6000803e3d6000fd5b5050505060008160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008160010181905550600081600201819055506000816003018190555050505050565b60036020528160005260406000206020528060005260406000206000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806002600084815260200190815260200160002090506122c1834261255d565b6122cf576005915050612323565b8060010154421015612306576202a30063ffffffff168160010154034210156122fc576001915050612323565b6004915050612323565b60008160030154141561231d576000915050612323565b60029150505b919050565b816002600581111561233657fe5b61233f8261229f565b600581111561234a57fe5b14801561243857506002600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156123ce57600080fd5b505afa1580156123e2573d6000803e3d6000fd5b505050506040513d60208110156123f857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61244157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561247b57600080fd5b60006002600085815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313af4035846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561253557600080fd5b505af1158015612549573d6000803e3d6000fd5b505050506125578484612f1a565b50505050565b600061256883610cf3565b8211905092915050565b806002600581111561258057fe5b6125898261229f565b600581111561259457fe5b14801561268257506002600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561261857600080fd5b505afa15801561262c573d6000803e3d6000fd5b505050506040513d602081101561264257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61268b57600080fd5b60006002600084815260200190815260200160002090506126b78160020154662386f26fc10000612ee2565b81600201819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0c80972826002015460016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561274757600080fd5b505af115801561275b573d6000803e3d6000fd5b5050505061280d838260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156127cd57600080fd5b505afa1580156127e1573d6000803e3d6000fd5b505050506040513d60208110156127f757600080fd5b8101908080519060200190929190505050612f1a565b8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561287757600080fd5b505afa15801561288b573d6000803e3d6000fd5b505050506040513d60208110156128a157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16837f0f0c27adfd84b60b6f456b0e87cdccb1e5fb9603991588d87fa99f5b6b61e67083600201548460010154604051808381526020018281526020019250505060405180910390a3505050565b60045481565b6249d40081565b61292b816130ef565b50565b600082829050141561293f57600080fd5b6002600581111561294c57fe5b61296d83836001868690500381811061296157fe5b9050602002013561229f565b600581111561297857fe5b141561298357600080fd5b6129d760018383905003838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506001546132f4565b5050565b612a25828280806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506135d6565b5050565b505050565b612a3781613612565b50565b60015481565b612a8a838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506135d6565b612a93816130ef565b505050565b3073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612b2357600080fd5b505afa158015612b37573d6000803e3d6000fd5b505050506040513d6020811015612b4d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415612e21576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab592360015483306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015612c2c57600080fd5b505af1158015612c40573d6000803e3d6000fd5b505050506040513d6020811015612c5657600080fd5b81019080805190602001909291905050505060006001548260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a8260006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612d4657600080fd5b505af1158015612d5a573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c38260006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612e0757600080fd5b505af1158015612e1b573d6000803e3d6000fd5b50505050505b50565b6000808060018401915081845101905060008090505b81831015612ed757600060ff845116905060808160ff161015612e6257600184019350612ec9565b60e08160ff161015612e7957600284019350612ec8565b60f08160ff161015612e9057600384019350612ec7565b60f88160ff161015612ea757600484019350612ec6565b60fc8160ff161015612ebe57600584019350612ec5565b6006840193505b5b5b5b5b508080600101915050612e3a565b809350505050919050565b600081831115612ef457829050612ef8565b8190505b92915050565b600081831015612f1057829050612f14565b8190505b92915050565b3073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612fa557600080fd5b505afa158015612fb9573d6000803e3d6000fd5b505050506040513d6020811015612fcf57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614156130eb576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab592360015484846040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156130ae57600080fd5b505af11580156130c2573d6000803e3d6000fd5b505050506040513d60208110156130d857600080fd5b8101908080519060200190929190505050505b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461319857600080fd5b662386f26fc100003410156131ac57600080fd5b600034336040516131bc906137f0565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040518091039082f08015801561320d573d6000803e3d6000fd5b509050905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16827fb556ff269c1b6714f432c36431e2041d28436a73b6c3f19c021827bbdc6bfc29346040518082815260200191505060405180910390a35050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59238284868151811061333e57fe5b6020026020010151306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156133b757600080fd5b505af11580156133cb573d6000803e3d6000fd5b505050506040513d60208110156133e157600080fd5b8101908080519060200190929190505050508082848151811061340057fe5b60200260200101516040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600083111561344f5761344e6001840383836132f4565b5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a8260006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156134f857600080fd5b505af115801561350c573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c38260006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156135b957600080fd5b505af11580156135cd573d6000803e3d6000fd5b50505050505050565b60008090505b815181101561360e576136018282815181106135f457fe5b6020026020010151613612565b80806001019150506135dc565b5050565b600454421015801561362c5750630784ce00600454014211155b801561371157503073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36001546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136be57600080fd5b505afa1580156136d2573d6000803e3d6000fd5b505050506040513d60208110156136e857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16145b61371a57600080fd5b60006137258261229f565b90506001600581111561373457fe5b81600581111561374057fe5b141561374c57506137ed565b6000600581111561375957fe5b81600581111561376557fe5b1461376f57600080fd5b60006002600084815260200190815260200160002090506206978063ffffffff16420181600101819055506000816002018190555060008160030181905550827f87e97e825a1d1fa0c54e1d36c7506c1dea8b1efd451fe68b000cf96f7cf4000382600101546040518082815260200191505060405180910390a250505b50565b6108cd806137fe8339019056fe60806040526040516108cd3803806108cd8339818101604052602081101561002657600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426003819055506001600560006101000a81548160ff02191690831515021790555034600481905550506107dc806100f16000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063674f220f11610066578063674f220f146101225780638da5cb5b1461016c578063b0c80972146101b6578063bbe42771146101f0578063faab9d391461021e57610093565b806305b34410146100985780630b5ab3d5146100b657806313af4035146100c05780633fa4f24514610104575b600080fd5b6100a0610262565b6040518082815260200191505060405180910390f35b6100be610267565b005b610102600480360360208110156100d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610271565b005b61010c61040d565b6040518082815260200191505060405180910390f35b61012a610417565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610174610441565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ee600480360360408110156101cc57600080fd5b810190808035906020019092919080351515906020019092919050505061046a565b005b61021c6004803603602081101561020657600080fd5b8101908080359060200190929190505050610561565b005b6102606004803603602081101561023457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610677565b005b600090565b61026f610715565b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102cb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561030557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf3681604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600454905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c457600080fd5b600560009054906101000a900460ff166104dd57600080fd5b8160045410156104ec57600080fd5b816004819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8347039081150290604051600060405180830381858888f1935050505080610554575080155b61055d57600080fd5b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105bb57600080fd5b600560009054906101000a900460ff166105d457600080fd5b6000600560006101000a81548160ff02191690831515021790555061dead73ffffffffffffffffffffffffffffffffffffffff166108fc6103e847846103e803028161061c57fe5b049081150290604051600060405180830381858888f1935050505061064057600080fd5b7fbb2ce2f51803bba16bc85282b47deeea9a5c6223eabea1077be696b3f265cf1360405160405180910390a1610674610715565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106d157600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900460ff161561072f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050156107a55761dead73ffffffffffffffffffffffffffffffffffffffff16ff5b56fea265627a7a72315820fa23328cf0f35337ca53fef0d5c1bb313e3cf1900ea3cbb3af65126b3f961f9664736f6c63430005100032a265627a7a723158203aaa12fb9dcd4143bac196da0e68ded255147fcc766506f2062d1a724521b02364736f6c63430005100032", + "sourceMap": "586:18452:15:-;;;1779:183;8:9:-1;5:2;;;30:1;27;20:12;5:2;1779:183:15;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1779:183:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1860:4;1854:3;;:10;;;;;;;;;;;;;;;;;;1885:9;1874:8;:20;;;;1935:1;1922:10;:14;:33;;1952:3;1922:33;;;1939:10;1922:33;1904:15;:51;;;;1779:183;;;586:18452;;;;;;", + "deployedSourceMap": "586:18452:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8735:444;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8735:444:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8735:444:15;;;;;;;;;;;;;;;;;:::i;:::-;;14358:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14358:206:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14358:206:15;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9564:815;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9564:815:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9564:815:15;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;9564:815:15;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9564:815:15;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9564:815:15;;;;;;;;;;;;:::i;:::-;;14853:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14853:178:15;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;14853:178:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6637:844;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6637:844:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6637:844:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12611:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12611:229:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12611:229:15;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;628:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;628:14:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4547:1975;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4547:1975:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4547:1975:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11472:565;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11472:565:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11472:565:15;;;;;;;;;;;;;;;;;:::i;:::-;;719:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;719:64:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;719:64:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13069:585;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13069:585:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13069:585:15;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8272:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8272:259:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8272:259:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13973:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13973:144:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13973:144:15;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7641:422;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7641:422:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7641:422:15;;;;;;;;;;;;;;;;;:::i;:::-;;977:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;977:27:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;884:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;884:45:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3727:87;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3727:87:15;;;;;;;;;;;;;;;;;:::i;:::-;;11008:231;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11008:231:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11008:231:15;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11008:231:15;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11008:231:15;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;11008:231:15;;;;;;;;;;;;:::i;:::-;;2771:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2771:100:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2771:100:15;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2771:100:15;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2771:100:15;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2771:100:15;;;;;;;;;;;;:::i;:::-;;12433:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12433:172:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12433:172:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2094:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2094:83:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2094:83:15;;;;;;;;;;;;;;;;;:::i;:::-;;648:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;648:23:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4156:159;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4156:159:15;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4156:159:15;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4156:159:15;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4156:159:15;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8735:444;8790:5;1310:10;1294:26;;;;;;;;:12;1300:5;1294;:12::i;:::-;:26;;;;;;;;;:72;;;;;1338:8;:15;1347:5;1338:15;;;;;;;;;;;:20;;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1338:28:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1338:28:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1338:28:15;;;;;;;;;;;;;;;;1324:42;;:10;:42;;;1294:72;1286:81;;;;;;8807:15;8825:8;:15;8834:5;8825:15;;;;;;;;;;;8807:33;;8850:17;8870:1;:6;;;;;;;;;;;;8850:26;;8923:8;8902:1;:18;;;:29;8895:3;:36;;:76;;;;8966:4;8935:36;;:3;;;;;;;;;;;:9;;;8945:8;;8935:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8935:19:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8935:19:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8935:19:15;;;;;;;;;;;;;;;;:36;;;;8895:76;8887:85;;;;;;8993:1;8983;:7;;:11;;;;9019:1;9004;:12;;:16;;;;9044:1;9030;:6;;;:16;;;;;;;;;;;;;;;;;;9057:26;9077:5;9057:19;:26::i;:::-;9093:12;:22;;;9116:4;9093:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9093:28:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9093:28:15;;;;9149:5;9136:28;9156:1;:7;;;9136:28;;;;;;;;;;;;;;;;;;1377:1;;8735:444;;:::o;14358:206::-;14418:4;14501:3;14492;14482:5;14477:11;;:18;;922:7;14461:35;;;14460:44;;14441:15;;:64;14434:71;;14358:206;;;:::o;9564:815::-;9672:12;;9661:24;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9661:24:15;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;9661:24:15;;;9651:35;;;;;;9688:10;1211:6;1195:22;;;;;;;;:12;1201:5;1195;:12::i;:::-;:22;;;;;;;;;1187:31;;;;;;9746:1;9722:20;9729:12;;9722:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9722:20:15;;;;;;:6;:20::i;:::-;:25;;9714:34;;;;;;9758:12;9794;;9783:24;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9783:24:15;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;9783:24:15;;;9773:35;;;;;;9758:50;;9819:15;9837:8;:14;9846:4;9837:14;;;;;;;;;;;9819:32;;9862:25;9882:4;9862:19;:25::i;:::-;9929:3;9902:31;;9910:1;:6;;;;;;;;;;;;9902:31;;;9898:321;;10060:22;10064:1;:7;;;961:10;10060:3;:22::i;:::-;10050:1;:7;;:32;;;;10096:1;:6;;;;;;;;;;;;:17;;;10122:1;10114;:7;;;:9;;;;;;10125:5;10096:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10096:35:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10096:35:15;;;;10145:1;:6;;;;;;;;;;;;:15;;;10161:10;10145:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10145:27:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10145:27:15;;;;10186:1;:6;;;;;;;;;;;;:16;;;10203:4;10186:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10186:22:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10186:22:15;;;;9898:321;10256:12;;10234:64;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;10234:64:15;;;;;;;;;;;;;10250:4;10234:64;10270:1;:7;;;10279:1;:18;;;10234:64;;;;;;;;;;;;;;;;;;;;;;;;10319:1;10309;:7;;:11;;;;10345:1;10330;:12;;:16;;;;10370:1;10356;:6;;;:16;;;;;;;;;;;;;;;;;;1228:1;;9564:815;;;;:::o;14853:178::-;14945:7;14998:4;15004:5;15011;15018:4;14981:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14981:42:15;;;14971:53;;;;;;14964:60;;14853:178;;;;;;:::o;6637:844::-;6705:8;6716:10;:18;6727:6;6716:18;;;;;;;;;;;;;;;:24;6735:4;6716:24;;;;;;;;;;;;;;;;;;;;;6705:35;;7192:3;7168:28;;7176:3;7168:28;;;;:88;;;;;7249:7;827:6;7207:39;;:3;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7207:18:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7207:18:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7207:18:15;;;;;;;;;;;;;;;;:39;:49;7200:3;:56;;7168:88;7160:97;;;;;;7334:3;:12;;;7347:10;7334:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7334:24:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7334:24:15;;;;7368:3;:13;;;7382:1;7368:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7368:16:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7368:16:15;;;;7426:1;7394:10;:18;7405:6;7394:18;;;;;;;;;;;;;;;:24;7413:4;7394:24;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;7461:6;7443:31;;7455:4;7443:31;7469:1;7472;7443:31;;;;;;;;;;;;;;;;;;;;;;;;;;6637:844;;;:::o;12611:229::-;12666:4;12672:7;12681:4;12687;12693;12709:15;12727:8;:15;12736:5;12727:15;;;;;;;;;;;12709:33;;12760:12;12766:5;12760;:12::i;:::-;12782:1;:6;;;;;;;;;;;;12791:1;:18;;;12811:1;:7;;;12820:1;:12;;;12752:81;;;;;;;;;;;12611:229;;;;;;;:::o;628:14::-;;;;;;;;;;;;;:::o;4547:1975::-;4628:12;4643:40;4650:5;4657:10;4669:6;4677:5;4643:6;:40::i;:::-;4628:55;;4693:8;4704:10;:22;4715:10;4704:22;;;;;;;;;;;;;;;:28;4727:4;4704:28;;;;;;;;;;;;;;;;;;;;;4693:39;;4774:3;4750:28;;4758:3;4750:28;;;;4742:37;;;;;;4834:3;4790:10;:22;4801:10;4790:22;;;;;;;;;;;;;;;:28;4813:4;4790:28;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;4849:15;4867:8;:15;4876:5;4867:15;;;;;;;;;;;4849:33;;4892:10;4905:24;4909:6;4917:3;:9;;;:11;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4917:11:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4917:11:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4917:11:15;;;;;;;;;;;;;;;;4905:3;:24::i;:::-;4892:37;;4939:3;:14;;;4954:5;4961:4;4939:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4939:27:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4939:27:15;;;;4977:17;4997:12;5003:5;4997;:12::i;:::-;4977:32;;5039:10;5023:26;;;;;;;;:12;:26;;;;;;;;;5019:1497;;;5130:3;:13;;;5144:1;5130:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5130:16:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5130:16:15;;;;5184:10;5165:40;;5177:5;5165:40;5196:5;5203:1;5165:40;;;;;;;;;;;;;;;;;;;;;;;;;;5019:1497;;;5242:11;5226:27;;;;;;;;:12;:27;;;;;;;;;5222:1294;;5298:8;;;5222:1294;961:10;5327:5;:16;:74;;;;870:8;5368:33;;:1;:18;;;:33;5347:3;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5347:18:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5347:18:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5347:18:15;;;;;;;;;;;;;;;;:54;5327:74;5323:1193;;;5470:3;:13;;;5484:3;5470:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5470:18:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5470:18:15;;;;5526:10;5507:40;;5519:5;5507:40;5538:5;5545:1;5507:40;;;;;;;;;;;;;;;;;;;;;;;;;;5323:1193;;;5576:1;:12;;;5568:5;:20;5564:952;;;5711:3;5684:31;;5692:1;:6;;;;;;;;;;;;5684:31;;;5680:145;;5735:19;5757:1;:6;;;;;;;;;;;;5735:28;;5781:14;:24;;;5806:3;5781:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5781:29:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5781:29:15;;;;5680:145;;5972:1;:12;;;5962:1;:7;;:22;;;;6055:5;6040:1;:12;;:20;;;;6083:3;6074:1;:6;;;:12;;;;;;;;;;;;;;;;;;6124:10;6105:40;;6117:5;6105:40;6136:5;6143:1;6105:40;;;;;;;;;;;;;;;;;;;;;;;;;;5564:952;;;6174:1;:7;;;6166:5;:15;6162:354;;;6259:5;6249:1;:7;;:15;;;;6278:3;:13;;;6292:3;6278:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6278:18:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6278:18:15;;;;6334:10;6315:40;;6327:5;6315:40;6346:5;6353:1;6315:40;;;;;;;;;;;;;;;;;;;;;;;;;;6162:354;;;6428:3;:13;;;6442:3;6428:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6428:18:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6428:18:15;;;;6484:10;6465:40;;6477:5;6465:40;6496:5;6503:1;6465:40;;;;;;;;;;;;;;;;;;;;;;;;;;6162:354;5564:952;5323:1193;5019:1497;4547:1975;;;;;;;;:::o;11472:565::-;11534:5;1310:10;1294:26;;;;;;;;:12;1300:5;1294;:12::i;:::-;:26;;;;;;;;;:72;;;;;1338:8;:15;1347:5;1338:15;;;;;;;;;;;:20;;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1338:28:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1338:28:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1338:28:15;;;;;;;;;;;;;;;;1324:42;;:10;:42;;;1294:72;1286:81;;;;;;11551:17;11571:3;;;;;;;;;;;:9;;;11581:8;;11571:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11571:19:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11571:19:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11571:19:15;;;;;;;;;;;;;;;;11551:39;;11629:4;11608:26;;:9;:26;;;;11600:35;;;;;;11674:15;11692:8;:15;11701:5;11692:15;;;;;;;;;;;11674:33;;11717:1;:6;;;;;;;;;;;;:19;;;11737:9;11717:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11717:30:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11717:30:15;;;;11825:9;11815:44;;;11860:5;11867:1;:6;;;;;;;;;;;;11875:1;:18;;;11815:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11815:79:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11815:79:15;;;;11949:1;11935;:6;;;:16;;;;;;;;;;;;;;;;;;11982:1;11961;:18;;:22;;;;12003:1;11993;:7;;:11;;;;12029:1;12014;:12;;:16;;;;1377:1;;11472:565;;:::o;719:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13069:585::-;13120:4;13136:19;13158:8;:15;13167:5;13158:15;;;;;;;;;;;13136:37;;13189:21;13199:5;13206:3;13189:9;:21::i;:::-;13184:464;;13233:20;13226:27;;;;;13184:464;13280:5;:22;;;13274:3;:28;13270:378;;;870:8;13328:37;;:5;:22;;;:37;13322:3;:43;13318:158;;;13392:12;13385:19;;;;;13318:158;13450:11;13443:18;;;;;13270:378;13530:1;13510:5;:16;;;:21;13506:132;;;13558:9;13551:16;;;;;13506:132;13613:10;13606:17;;;13069:585;;;;:::o;8272:259::-;8350:5;1310:10;1294:26;;;;;;;;:12;1300:5;1294;:12::i;:::-;:26;;;;;;;;;:72;;;;;1338:8;:15;1347:5;1338:15;;;;;;;;;;;:20;;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1338:28:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1338:28:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1338:28:15;;;;;;;;;;;;;;;;1324:42;;:10;:42;;;1294:72;1286:81;;;;;;8395:3;8375:24;;:8;:24;;;;8367:33;;;;;;8411:15;8429:8;:15;8438:5;8429:15;;;;;;;;;;;8411:33;;8454:1;:6;;;;;;;;;;;;:15;;;8470:8;8454:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8454:25:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8454:25:15;;;;8489:35;8508:5;8515:8;8489:18;:35::i;:::-;1377:1;8272:259;;;:::o;13973:144::-;14045:12;14089:21;14104:5;14089:14;:21::i;:::-;14076:10;:34;14069:41;;13973:144;;;;:::o;7641:422::-;7700:5;1310:10;1294:26;;;;;;;;:12;1300:5;1294;:12::i;:::-;:26;;;;;;;;;:72;;;;;1338:8;:15;1347:5;1338:15;;;;;;;;;;;:20;;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1338:28:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1338:28:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1338:28:15;;;;;;;;;;;;;;;;1324:42;;:10;:42;;;1294:72;1286:81;;;;;;7717:15;7735:8;:15;7744:5;7735:15;;;;;;;;;;;7717:33;;7859:22;7863:1;:7;;;961:10;7859:3;:22::i;:::-;7849:1;:7;;:32;;;;7891:1;:6;;;;;;;;;;;;:17;;;7909:1;:7;;;7918:4;7891:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7891:32:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7891:32:15;;;;7934:41;7953:5;7960:1;:6;;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7960:14:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7960:14:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7960:14:15;;;;;;;;;;;;;;;;7934:18;:41::i;:::-;8012:1;:6;;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8012:14:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8012:14:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8012:14:15;;;;;;;;;;;;;;;;7990:66;;8005:5;7990:66;8028:1;:7;;;8037:1;:18;;;7990:66;;;;;;;;;;;;;;;;;;;;;;;;1377:1;7641:422;;:::o;977:27::-;;;;:::o;884:45::-;922:7;884:45;:::o;3727:87::-;3789:18;3797:9;3789:7;:18::i;:::-;3727:87;:::o;11008:231::-;11098:1;11081:6;;:13;;:18;;11073:27;;;;;;11154:10;11118:46;;;;;;;;:32;11124:6;;11147:1;11131:6;;:13;;:17;11124:25;;;;;;;;;;;;;11118:5;:32::i;:::-;:46;;;;;;;;;;11110:55;;;;;;11176:56;11212:1;11196:6;;:13;;:17;11215:6;;11176:56;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11176:56:15;;;;;;11223:8;;11176:19;:56::i;:::-;11008:231;;:::o;2771:100::-;2841:23;2856:7;;2841:23;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2841:23:15;;;;;;:14;:23::i;:::-;2771:100;;:::o;12433:172::-;;;;:::o;2094:83::-;2150:20;2164:5;2150:13;:20::i;:::-;2094:83;:::o;648:23::-;;;;:::o;4156:159::-;4258:22;4273:6;;4258:22;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4258:22:15;;;;;;:14;:22::i;:::-;4290:18;4298:9;4290:7;:18::i;:::-;4156:159;;;:::o;15037:355::-;15135:4;15104:36;;:3;;;;;;;;;;;:9;;;15114:8;;15104:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15104:19:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15104:19:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15104:19:15;;;;;;;;;;;;;;;;:36;;;15100:286;;;15156:3;;;;;;;;;;;:19;;;15176:8;;15186:5;15201:4;15156:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15156:51:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15156:51:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15156:51:15;;;;;;;;;;;;;;;;;15221:12;15263:8;;15273:5;15246:33;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15246:33:15;;;15236:44;;;;;;15221:59;;15294:3;;;;;;;;;;;:15;;;15310:4;15324:3;15294:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15294:35:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15294:35:15;;;;15343:3;;;;;;;;;;;:12;;;15356:4;15370:3;15343:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15343:32:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15343:32:15;;;;15100:286;;15037:355;:::o;18194:841::-;18250:4;18384:8;18402;18457:1;18454;18450:9;18443:16;;18493:3;18489:1;18483:8;18479:18;18472:25;;18516:8;18527:1;18516:12;;18538:471;18554:3;18548;:9;18538:471;;;18580:7;18633:4;18627:3;18621:10;18617:21;18612:26;;18661:4;18657:1;:8;;;18653:346;;;18692:1;18685:8;;;;18653:346;;;18722:4;18718:1;:8;;;18714:285;;;18753:1;18746:8;;;;18714:285;;;18783:4;18779:1;:8;;;18775:224;;;18814:1;18807:8;;;;18775:224;;;18844:4;18840:1;:8;;;18836:163;;;18875:1;18868:8;;;;18836:163;;;18905:4;18901:1;:8;;;18897:102;;;18936:1;18929:8;;;;18897:102;;;18983:1;18976:8;;;;18897:102;18836:163;18775:224;18714:285;18653:346;18538:471;18559:5;;;;;;;18538:471;;;19025:3;19018:10;;;;;18194:841;;;:::o;17526:141::-;17578:4;17602:1;17598;:5;17594:66;;;17624:1;17617:8;;;;17594:66;17659:1;17652:8;;17526:141;;;;;:::o;17877:::-;17929:4;17953:1;17949;:5;17945:66;;;17975:1;17968:8;;;;17945:66;18010:1;18003:8;;17877:141;;;;;:::o;17127:189::-;17243:4;17212:36;;:3;;;;;;;;;;;:9;;;17222:8;;17212:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17212:19:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17212:19:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17212:19:15;;;;;;;;;;;;;;;;:36;;;17208:101;;;17262:3;;;;;;;;;;;:19;;;17282:8;;17292:5;17299:9;17262:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17262:47:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17262:47:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17262:47:15;;;;;;;;;;;;;;;;;17208:101;17127:189;;:::o;16006:402::-;16123:3;16069:58;;16077:10;:22;16088:10;16077:22;;;;;;;;;;;;;;;:33;16100:9;16077:33;;;;;;;;;;;;;;;;;;;;;16069:58;;;16061:67;;;;;;961:10;16146:9;:21;;16138:30;;;;;;16233:8;16275:9;16286:10;16244:53;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16244:53:15;;;16233:64;;16343:3;16307:10;:22;16318:10;16307:22;;;;;;;;;;;;;;;:33;16330:9;16307:33;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16379:10;16361:40;;16368:9;16361:40;16391:9;16361:40;;;;;;;;;;;;;;;;;;16006:402;;:::o;16414:528::-;16549:3;;;;;;;;;;;:19;;;16569:4;16575:6;16582:3;16575:11;;;;;;;;;;;;;;16596:4;16549:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16549:53:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16549:53:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16549:53:15;;;;;;;;;;;;;;;;;16646:4;16652:6;16659:3;16652:11;;;;;;;;;;;;;;16629:35;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16629:35:15;;;16619:46;;;;;;16612:53;;16730:1;16724:3;:7;16720:80;;;16747:42;16773:1;16767:3;:7;16776:6;16784:4;16747:19;:42::i;:::-;16720:80;16858:3;;;;;;;;;;;:15;;;16874:4;16888:3;16858:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16858:35:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16858:35:15;;;;16903:3;;;;;;;;;;;:12;;;16916:4;16930:3;16903:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16903:32:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16903:32:15;;;;16414:528;;;:::o;15832:168::-;15906:6;15915:1;15906:10;;15901:93;15922:7;:14;15918:1;:18;15901:93;;;15958:25;15972:7;15980:1;15972:10;;;;;;;;;;;;;;15958:13;:25::i;:::-;15938:4;;;;;;;15901:93;;;;15832:168;:::o;15398:428::-;1440:15;;1433:3;:22;;:69;;;;;1484:18;1466:15;;:36;1459:3;:43;;1433:69;:109;;;;;1537:4;1506:36;;:3;;;;;;;;;;;:9;;;1516:8;;1506:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1506:19:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1506:19:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1506:19:15;;;;;;;;;;;;;;;;:36;;;1433:109;1425:118;;;;;;15470:9;15482:12;15488:5;15482;:12::i;:::-;15470:24;;15516:12;15508:20;;;;;;;;:4;:20;;;;;;;;;15504:33;;;15530:7;;;15504:33;15562:9;15554:17;;;;;;;;:4;:17;;;;;;;;;15546:26;;;;;;15583:24;15610:8;:15;15619:5;15610:15;;;;;;;;;;;15583:42;;827:6;15665:24;;:3;:24;15635:10;:27;;:54;;;;15718:1;15699:10;:16;;:20;;;;15753:1;15729:10;:21;;:25;;;;15784:5;15769:50;15791:10;:27;;;15769:50;;;;;;;;;;;;;;;;;;1553:1;;;15398:428;:::o;586:18452::-;;;;;;;;:::o", + "source": "pragma solidity ^0.5.0;\n\n\n/*\n\nTemporary Hash Registrar\n========================\n\nThis is a simplified version of a hash registrar. It is purporsefully limited:\nnames cannot be six letters or shorter, new auctions will stop after 4 years.\n\nThe plan is to test the basic features and then move to a new contract in at most\n2 years, when some sort of renewal mechanism will be enabled.\n*/\n\n\nimport \"./ENS.sol\";\nimport \"./DeedImplementation.sol\";\nimport \"./Registrar.sol\";\n\n/**\n * @title Registrar\n * @dev The registrar handles the auction process for each subnode of the node it owns.\n */\ncontract HashRegistrar is Registrar {\n ENS public ens;\n bytes32 public rootNode;\n\n mapping (bytes32 => Entry) _entries;\n mapping (address => mapping (bytes32 => Deed)) public sealedBids;\n\n uint32 constant totalAuctionLength = 5 days;\n uint32 constant revealPeriod = 48 hours;\n uint32 public constant launchLength = 8 weeks;\n\n uint constant minPrice = 0.01 ether;\n uint public registryStarted;\n\n struct Entry {\n Deed deed;\n uint registrationDate;\n uint value;\n uint highestBid;\n }\n\n modifier inState(bytes32 _hash, Mode _state) {\n require(state(_hash) == _state);\n _;\n }\n\n modifier onlyOwner(bytes32 _hash) {\n require(state(_hash) == Mode.Owned && msg.sender == _entries[_hash].deed.owner());\n _;\n }\n\n modifier registryOpen() {\n require(now >= registryStarted && now <= registryStarted + (365 * 4) * 1 days && ens.owner(rootNode) == address(this));\n _;\n }\n\n /**\n * @dev Constructs a new Registrar, with the provided address as the owner of the root node.\n *\n * @param _ens The address of the ENS\n * @param _rootNode The hash of the rootnode.\n */\n constructor(ENS _ens, bytes32 _rootNode, uint _startDate) public {\n ens = _ens;\n rootNode = _rootNode;\n registryStarted = _startDate > 0 ? _startDate : now;\n }\n\n /**\n * @dev Start an auction for an available hash\n *\n * @param _hash The hash to start an auction on\n */\n function startAuction(bytes32 _hash) external {\n _startAuction(_hash);\n }\n\n /**\n * @dev Start multiple auctions for better anonymity\n *\n * Anyone can start an auction by sending an array of hashes that they want to bid for.\n * Arrays are sent so that someone can open up an auction for X dummy hashes when they\n * are only really interested in bidding for one. This will increase the cost for an\n * attacker to simply bid blindly on all new auctions. Dummy auctions that are\n * open but not bid on are closed after a week.\n *\n * @param _hashes An array of hashes, at least one of which you presumably want to bid on\n */\n function startAuctions(bytes32[] calldata _hashes) external {\n _startAuctions(_hashes);\n }\n\n /**\n * @dev Submit a new sealed bid on a desired hash in a blind auction\n *\n * Bids are sent by sending a message to the main contract with a hash and an amount. The hash\n * contains information about the bid, including the bidded hash, the bid amount, and a random\n * salt. Bids are not tied to any one auction until they are revealed. The value of the bid\n * itself can be masqueraded by sending more than the value of your actual bid. This is\n * followed by a 48h reveal period. Bids revealed after this period will be burned and the ether unrecoverable.\n * Since this is an auction, it is expected that most public hashes, like known domains and common dictionary\n * words, will have multiple bidders pushing the price up.\n *\n * @param sealedBid A sealedBid, created by the shaBid function\n */\n function newBid(bytes32 sealedBid) external payable {\n _newBid(sealedBid);\n }\n\n /**\n * @dev Start a set of auctions and bid on one of them\n *\n * This method functions identically to calling `startAuctions` followed by `newBid`,\n * but all in one transaction.\n *\n * @param hashes A list of hashes to start auctions on.\n * @param sealedBid A sealed bid for one of the auctions.\n */\n function startAuctionsAndBid(bytes32[] calldata hashes, bytes32 sealedBid) external payable {\n _startAuctions(hashes);\n _newBid(sealedBid);\n }\n\n /**\n * @dev Submit the properties of a bid to reveal them\n *\n * @param _hash The node in the sealedBid\n * @param _value The bid amount in the sealedBid\n * @param _salt The sale in the sealedBid\n */\n function unsealBid(bytes32 _hash, uint _value, bytes32 _salt) external {\n bytes32 seal = shaBid(_hash, msg.sender, _value, _salt);\n Deed bid = sealedBids[msg.sender][seal];\n require(address(bid) != address(0x0));\n\n sealedBids[msg.sender][seal] = Deed(address(0x0));\n Entry storage h = _entries[_hash];\n uint value = min(_value, bid.value());\n bid.setBalance(value, true);\n\n Mode auctionState = state(_hash);\n if (auctionState == Mode.Owned) {\n // Too late! Bidder loses their bid. Gets 0.5% back.\n bid.closeDeed(5);\n emit BidRevealed(_hash, msg.sender, value, 1);\n } else if (auctionState != Mode.Reveal) {\n // Invalid phase\n revert();\n } else if (value < minPrice || bid.creationDate() > h.registrationDate - revealPeriod) {\n // Bid too low or too late, refund 99.5%\n bid.closeDeed(995);\n emit BidRevealed(_hash, msg.sender, value, 0);\n } else if (value > h.highestBid) {\n // New winner\n // Cancel the other bid, refund 99.5%\n if (address(h.deed) != address(0x0)) {\n Deed previousWinner = h.deed;\n previousWinner.closeDeed(995);\n }\n\n // Set new winner\n // Per the rules of a vickery auction, the value becomes the previous highestBid\n h.value = h.highestBid; // will be zero if there's only 1 bidder\n h.highestBid = value;\n h.deed = bid;\n emit BidRevealed(_hash, msg.sender, value, 2);\n } else if (value > h.value) {\n // Not winner, but affects second place\n h.value = value;\n bid.closeDeed(995);\n emit BidRevealed(_hash, msg.sender, value, 3);\n } else {\n // Bid doesn't affect auction\n bid.closeDeed(995);\n emit BidRevealed(_hash, msg.sender, value, 4);\n }\n }\n\n /**\n * @dev Cancel a bid\n *\n * @param seal The value returned by the shaBid function\n */\n function cancelBid(address bidder, bytes32 seal) external {\n Deed bid = sealedBids[bidder][seal];\n \n // If a sole bidder does not `unsealBid` in time, they have a few more days\n // where they can call `startAuction` (again) and then `unsealBid` during\n // the revealPeriod to get back their bid value.\n // For simplicity, they should call `startAuction` within\n // 9 days (2 weeks - totalAuctionLength), otherwise their bid will be\n // cancellable by anyone.\n require(address(bid) != address(0x0) && now >= bid.creationDate() + totalAuctionLength + 2 weeks);\n\n // Send the canceller 0.5% of the bid, and burn the rest.\n bid.setOwner(msg.sender);\n bid.closeDeed(5);\n sealedBids[bidder][seal] = Deed(0);\n emit BidRevealed(seal, bidder, 0, 5);\n }\n\n /**\n * @dev Finalize an auction after the registration date has passed\n *\n * @param _hash The hash of the name the auction is for\n */\n function finalizeAuction(bytes32 _hash) external onlyOwner(_hash) {\n Entry storage h = _entries[_hash];\n \n // Handles the case when there's only a single bidder (h.value is zero)\n h.value = max(h.value, minPrice);\n h.deed.setBalance(h.value, true);\n\n trySetSubnodeOwner(_hash, h.deed.owner());\n emit HashRegistered(_hash, h.deed.owner(), h.value, h.registrationDate);\n }\n\n /**\n * @dev The owner of a domain may transfer it to someone else at any time.\n *\n * @param _hash The node to transfer\n * @param newOwner The address to transfer ownership to\n */\n function transfer(bytes32 _hash, address payable newOwner) external onlyOwner(_hash) {\n require(newOwner != address(0x0));\n\n Entry storage h = _entries[_hash];\n h.deed.setOwner(newOwner);\n trySetSubnodeOwner(_hash, newOwner);\n }\n\n /**\n * @dev After some time, or if we're no longer the registrar, the owner can release\n * the name and get their ether back.\n *\n * @param _hash The node to release\n */\n function releaseDeed(bytes32 _hash) external onlyOwner(_hash) {\n Entry storage h = _entries[_hash];\n Deed deedContract = h.deed;\n\n require(now >= h.registrationDate + 365 days || ens.owner(rootNode) != address(this));\n\n h.value = 0;\n h.highestBid = 0;\n h.deed = Deed(0);\n\n _tryEraseSingleNode(_hash);\n deedContract.closeDeed(1000);\n emit HashReleased(_hash, h.value); \n }\n\n /**\n * @dev Submit a name 6 characters long or less. If it has been registered,\n * the submitter will earn 50% of the deed value. \n * \n * We are purposefully handicapping the simplified registrar as a way \n * to force it into being restructured in a few years.\n *\n * @param unhashedName An invalid name to search for in the registry.\n */\n function invalidateName(string calldata unhashedName)\n external\n inState(keccak256(abi.encode(unhashedName)), Mode.Owned)\n {\n require(strlen(unhashedName) <= 6);\n bytes32 hash = keccak256(abi.encode(unhashedName));\n\n Entry storage h = _entries[hash];\n\n _tryEraseSingleNode(hash);\n\n if (address(h.deed) != address(0x0)) {\n // Reward the discoverer with 50% of the deed\n // The previous owner gets 50%\n h.value = max(h.value, minPrice);\n h.deed.setBalance(h.value/2, false);\n h.deed.setOwner(msg.sender);\n h.deed.closeDeed(1000);\n }\n\n emit HashInvalidated(hash, unhashedName, h.value, h.registrationDate);\n\n h.value = 0;\n h.highestBid = 0;\n h.deed = Deed(0);\n }\n\n /**\n * @dev Allows anyone to delete the owner and resolver records for a (subdomain of) a\n * name that is not currently owned in the registrar. If passing, eg, 'foo.bar.eth',\n * the owner and resolver fields on 'foo.bar.eth' and 'bar.eth' will all be cleared.\n *\n * @param labels A series of label hashes identifying the name to zero out, rooted at the\n * registrar's root. Must contain at least one element. For instance, to zero \n * 'foo.bar.eth' on a registrar that owns '.eth', pass an array containing\n * [keccak256('foo'), keccak256('bar')].\n */\n function eraseNode(bytes32[] calldata labels) external {\n require(labels.length != 0);\n require(state(labels[labels.length - 1]) != Mode.Owned);\n\n _eraseNodeHierarchy(labels.length - 1, labels, rootNode);\n }\n\n /**\n * @dev Transfers the deed to the current registrar, if different from this one.\n *\n * Used during the upgrade process to a permanent registrar.\n *\n * @param _hash The name hash to transfer.\n */\n function transferRegistrars(bytes32 _hash) external onlyOwner(_hash) {\n address registrar = ens.owner(rootNode);\n require(registrar != address(this));\n\n // Migrate the deed\n Entry storage h = _entries[_hash];\n h.deed.setRegistrar(registrar);\n\n // Call the new registrar to accept the transfer\n Registrar(registrar).acceptRegistrarTransfer(_hash, h.deed, h.registrationDate);\n\n // Zero out the Entry\n h.deed = Deed(0);\n h.registrationDate = 0;\n h.value = 0;\n h.highestBid = 0;\n }\n\n /**\n * @dev Accepts a transfer from a previous registrar; stubbed out here since there\n * is no previous registrar implementing this interface.\n *\n * @param hash The sha3 hash of the label to transfer.\n * @param deed The Deed object for the name being transferred in.\n * @param registrationDate The date at which the name was originally registered.\n */\n function acceptRegistrarTransfer(bytes32 hash, Deed deed, uint registrationDate) external {\n hash; deed; registrationDate; // Don't warn about unused variables\n }\n\n function entries(bytes32 _hash) external view returns (Mode, address, uint, uint, uint) {\n Entry storage h = _entries[_hash];\n return (state(_hash), address(h.deed), h.registrationDate, h.value, h.highestBid);\n }\n\n // State transitions for names:\n // Open -> Auction (startAuction)\n // Auction -> Reveal\n // Reveal -> Owned\n // Reveal -> Open (if nobody bid)\n // Owned -> Open (releaseDeed or invalidateName)\n function state(bytes32 _hash) public view returns (Mode) {\n Entry storage entry = _entries[_hash];\n\n if (!isAllowed(_hash, now)) {\n return Mode.NotYetAvailable;\n } else if (now < entry.registrationDate) {\n if (now < entry.registrationDate - revealPeriod) {\n return Mode.Auction;\n } else {\n return Mode.Reveal;\n }\n } else {\n if (entry.highestBid == 0) {\n return Mode.Open;\n } else {\n return Mode.Owned;\n }\n }\n }\n\n /**\n * @dev Determines if a name is available for registration yet\n *\n * Each name will be assigned a random date in which its auction\n * can be started, from 0 to 8 weeks\n *\n * @param _hash The hash to start an auction on\n * @param _timestamp The timestamp to query about\n */\n function isAllowed(bytes32 _hash, uint _timestamp) public view returns (bool allowed) {\n return _timestamp > getAllowedTime(_hash);\n }\n\n /**\n * @dev Returns available date for hash\n *\n * The available time from the `registryStarted` for a hash is proportional\n * to its numeric value.\n *\n * @param _hash The hash to start an auction on\n */\n function getAllowedTime(bytes32 _hash) public view returns (uint) {\n return registryStarted + ((launchLength * (uint(_hash) >> 128)) >> 128);\n // Right shift operator: a >> b == a / 2**b\n }\n\n /**\n * @dev Hash the values required for a secret bid\n *\n * @param hash The node corresponding to the desired namehash\n * @param value The bid amount\n * @param salt A random value to ensure secrecy of the bid\n * @return The hash of the bid values\n */\n function shaBid(bytes32 hash, address owner, uint value, bytes32 salt) public pure returns (bytes32) {\n return keccak256(abi.encodePacked(hash, owner, value, salt));\n }\n\n function _tryEraseSingleNode(bytes32 label) internal {\n if (ens.owner(rootNode) == address(this)) {\n ens.setSubnodeOwner(rootNode, label, address(this));\n bytes32 node = keccak256(abi.encodePacked(rootNode, label));\n ens.setResolver(node, address(0x0));\n ens.setOwner(node, address(0x0));\n }\n }\n\n function _startAuction(bytes32 _hash) internal registryOpen() {\n Mode mode = state(_hash);\n if (mode == Mode.Auction) return;\n require(mode == Mode.Open);\n\n Entry storage newAuction = _entries[_hash];\n newAuction.registrationDate = now + totalAuctionLength;\n newAuction.value = 0;\n newAuction.highestBid = 0;\n emit AuctionStarted(_hash, newAuction.registrationDate);\n }\n\n function _startAuctions(bytes32[] memory _hashes) internal {\n for (uint i = 0; i < _hashes.length; i ++) {\n _startAuction(_hashes[i]);\n }\n }\n\n function _newBid(bytes32 sealedBid) internal {\n require(address(sealedBids[msg.sender][sealedBid]) == address(0x0));\n require(msg.value >= minPrice);\n\n // Creates a new hash contract with the owner\n Deed bid = (new DeedImplementation).value(msg.value)(msg.sender);\n sealedBids[msg.sender][sealedBid] = bid;\n emit NewBid(sealedBid, msg.sender, msg.value);\n }\n\n function _eraseNodeHierarchy(uint idx, bytes32[] memory labels, bytes32 node) internal {\n // Take ownership of the node\n ens.setSubnodeOwner(node, labels[idx], address(this));\n node = keccak256(abi.encodePacked(node, labels[idx]));\n\n // Recurse if there are more labels\n if (idx > 0) {\n _eraseNodeHierarchy(idx - 1, labels, node);\n }\n\n // Erase the resolver and owner records\n ens.setResolver(node, address(0x0));\n ens.setOwner(node, address(0x0));\n }\n\n /**\n * @dev Assign the owner in ENS, if we're still the registrar\n *\n * @param _hash hash to change owner\n * @param _newOwner new owner to transfer to\n */\n function trySetSubnodeOwner(bytes32 _hash, address _newOwner) internal {\n if (ens.owner(rootNode) == address(this))\n ens.setSubnodeOwner(rootNode, _hash, _newOwner);\n }\n\n /**\n * @dev Returns the maximum of two unsigned integers\n *\n * @param a A number to compare\n * @param b A number to compare\n * @return The maximum of two unsigned integers\n */\n function max(uint a, uint b) internal pure returns (uint) {\n if (a > b)\n return a;\n else\n return b;\n }\n\n /**\n * @dev Returns the minimum of two unsigned integers\n *\n * @param a A number to compare\n * @param b A number to compare\n * @return The minimum of two unsigned integers\n */\n function min(uint a, uint b) internal pure returns (uint) {\n if (a < b)\n return a;\n else\n return b;\n }\n\n /**\n * @dev Returns the length of a given string\n *\n * @param s The string to measure the length of\n * @return The length of the input string\n */\n function strlen(string memory s) internal pure returns (uint) {\n s; // Don't warn about unused variables\n // Starting here means the LSB will be the byte we care about\n uint ptr;\n uint end;\n assembly {\n ptr := add(s, 1)\n end := add(mload(s), ptr)\n }\n uint len = 0;\n for (len; ptr < end; len++) {\n uint8 b;\n assembly { b := and(mload(ptr), 0xFF) }\n if (b < 0x80) {\n ptr += 1;\n } else if (b < 0xE0) {\n ptr += 2;\n } else if (b < 0xF0) {\n ptr += 3;\n } else if (b < 0xF8) {\n ptr += 4;\n } else if (b < 0xFC) {\n ptr += 5;\n } else {\n ptr += 6;\n }\n }\n return len;\n }\n\n}\n", + "sourcePath": "@ensdomains/ens/contracts/HashRegistrar.sol", + "ast": { + "absolutePath": "@ensdomains/ens/contracts/HashRegistrar.sol", + "exportedSymbols": { + "HashRegistrar": [ + 4610 + ] + }, + "id": 4611, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3137, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:15" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "./ENS.sol", + "id": 3138, + "nodeType": "ImportDirective", + "scope": 4611, + "sourceUnit": 2617, + "src": "388:19:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/DeedImplementation.sol", + "file": "./DeedImplementation.sol", + "id": 3139, + "nodeType": "ImportDirective", + "scope": 4611, + "sourceUnit": 2480, + "src": "408:34:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Registrar.sol", + "file": "./Registrar.sol", + "id": 3140, + "nodeType": "ImportDirective", + "scope": 4611, + "sourceUnit": 4776, + "src": "443:25:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3141, + "name": "Registrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4775, + "src": "612:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 3142, + "nodeType": "InheritanceSpecifier", + "src": "612:9:15" + } + ], + "contractDependencies": [ + 2479, + 4775 + ], + "contractKind": "contract", + "documentation": "@title Registrar\n@dev The registrar handles the auction process for each subnode of the node it owns.", + "fullyImplemented": true, + "id": 4610, + "linearizedBaseContracts": [ + 4610, + 4775 + ], + "name": "HashRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3144, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "628:14:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 3143, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "628:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3146, + "name": "rootNode", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "648:23:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3145, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "648:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3150, + "name": "_entries", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "678:35:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry)" + }, + "typeName": { + "id": 3149, + "keyType": { + "id": 3147, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "687:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "678:26:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry)" + }, + "valueType": { + "contractScope": null, + "id": 3148, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "698:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3156, + "name": "sealedBids", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "719:64:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + }, + "typeName": { + "id": 3155, + "keyType": { + "id": 3151, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "728:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "719:46:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + }, + "valueType": { + "id": 3154, + "keyType": { + "id": 3152, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "748:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "739:25:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + }, + "valueType": { + "contractScope": null, + "id": 3153, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "759:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 3159, + "name": "totalAuctionLength", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "790:43:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 3157, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "790:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "35", + "id": 3158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "827:6:15", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_432000_by_1", + "typeString": "int_const 432000" + }, + "value": "5" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 3162, + "name": "revealPeriod", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "839:39:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 3160, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "839:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3438", + "id": 3161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "870:8:15", + "subdenomination": "hours", + "typeDescriptions": { + "typeIdentifier": "t_rational_172800_by_1", + "typeString": "int_const 172800" + }, + "value": "48" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 3165, + "name": "launchLength", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "884:45:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 3163, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "884:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "38", + "id": 3164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "922:7:15", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_4838400_by_1", + "typeString": "int_const 4838400" + }, + "value": "8" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 3168, + "name": "minPrice", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "936:35:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3166, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "936:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "302e3031", + "id": 3167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "961:10:15", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + }, + "value": "0.01" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3170, + "name": "registryStarted", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "977:27:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3169, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "977:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "HashRegistrar.Entry", + "id": 3179, + "members": [ + { + "constant": false, + "id": 3172, + "name": "deed", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "1034:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 3171, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "1034:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3174, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "1053:21:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3173, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1053:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3176, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "1084:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3175, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1084:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3178, + "name": "highestBid", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "1104:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3177, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1104:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Entry", + "nodeType": "StructDefinition", + "scope": 4610, + "src": "1011:115:15", + "visibility": "public" + }, + { + "body": { + "id": 3194, + "nodeType": "Block", + "src": "1177:59:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 3190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3187, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3181, + "src": "1201:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3186, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "1195:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 3188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1195:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3189, + "name": "_state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "1211:6:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "1195:22:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3185, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1187:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1187:31:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3192, + "nodeType": "ExpressionStatement", + "src": "1187:31:15" + }, + { + "id": 3193, + "nodeType": "PlaceholderStatement", + "src": "1228:1:15" + } + ] + }, + "documentation": null, + "id": 3195, + "name": "inState", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3181, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "1149:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3180, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1149:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3183, + "name": "_state", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "1164:11:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 3182, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "1164:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1148:28:15" + }, + "src": "1132:104:15", + "visibility": "internal" + }, + { + "body": { + "id": 3219, + "nodeType": "Block", + "src": "1276:109:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 3205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3201, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3197, + "src": "1300:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3200, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "1294:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 3202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1294:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3203, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "1310:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 3204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Owned", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1310:10:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "1294:26:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3206, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "1324:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1324:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3208, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "1338:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3210, + "indexExpression": { + "argumentTypes": null, + "id": 3209, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3197, + "src": "1347:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1338:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "id": 3211, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "1338:20:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2211, + "src": "1338:26:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1338:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1324:42:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1294:72:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3199, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1286:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1286:81:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3217, + "nodeType": "ExpressionStatement", + "src": "1286:81:15" + }, + { + "id": 3218, + "nodeType": "PlaceholderStatement", + "src": "1377:1:15" + } + ] + }, + "documentation": null, + "id": 3220, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3197, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3220, + "src": "1261:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3196, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1261:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1260:15:15" + }, + "src": "1242:143:15", + "visibility": "internal" + }, + { + "body": { + "id": 3249, + "nodeType": "Block", + "src": "1415:146:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3223, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "1433:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3224, + "name": "registryStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3170, + "src": "1440:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1433:22:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3226, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "1459:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3227, + "name": "registryStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3170, + "src": "1466:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_126144000_by_1", + "typeString": "int_const 126144000" + }, + "id": 3233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1460_by_1", + "typeString": "int_const 1460" + }, + "id": 3230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "333635", + "id": 3228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1485:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_365_by_1", + "typeString": "int_const 365" + }, + "value": "365" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 3229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1491:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "1485:7:15", + "typeDescriptions": { + "typeIdentifier": "t_rational_1460_by_1", + "typeString": "int_const 1460" + } + } + ], + "id": 3231, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1484:9:15", + "typeDescriptions": { + "typeIdentifier": "t_rational_1460_by_1", + "typeString": "int_const 1460" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 3232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1496:6:15", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "1" + }, + "src": "1484:18:15", + "typeDescriptions": { + "typeIdentifier": "t_rational_126144000_by_1", + "typeString": "int_const 126144000" + } + }, + "src": "1466:36:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1459:43:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1433:69:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3239, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "1516:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3237, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "1506:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1506:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1506:19:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3242, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "1537:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 3241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1529:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1529:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1506:36:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1433:109:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3222, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1425:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1425:118:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3247, + "nodeType": "ExpressionStatement", + "src": "1425:118:15" + }, + { + "id": 3248, + "nodeType": "PlaceholderStatement", + "src": "1553:1:15" + } + ] + }, + "documentation": null, + "id": 3250, + "name": "registryOpen", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3221, + "nodeType": "ParameterList", + "parameters": [], + "src": "1412:2:15" + }, + "src": "1391:170:15", + "visibility": "internal" + }, + { + "body": { + "id": 3276, + "nodeType": "Block", + "src": "1844:118:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3259, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "1854:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3260, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3252, + "src": "1860:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "src": "1854:10:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3262, + "nodeType": "ExpressionStatement", + "src": "1854:10:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3263, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "1874:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3264, + "name": "_rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3254, + "src": "1885:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1874:20:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3266, + "nodeType": "ExpressionStatement", + "src": "1874:20:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3267, + "name": "registryStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3170, + "src": "1904:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3268, + "name": "_startDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3256, + "src": "1922:10:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1935:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1922:14:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 3272, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "1952:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1922:33:15", + "trueExpression": { + "argumentTypes": null, + "id": 3271, + "name": "_startDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3256, + "src": "1939:10:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1904:51:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3275, + "nodeType": "ExpressionStatement", + "src": "1904:51:15" + } + ] + }, + "documentation": "@dev Constructs a new Registrar, with the provided address as the owner of the root node.\n * @param _ens The address of the ENS\n@param _rootNode The hash of the rootnode.", + "id": 3277, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3252, + "name": "_ens", + "nodeType": "VariableDeclaration", + "scope": 3277, + "src": "1791:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 3251, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1791:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3254, + "name": "_rootNode", + "nodeType": "VariableDeclaration", + "scope": 3277, + "src": "1801:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3253, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1801:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3256, + "name": "_startDate", + "nodeType": "VariableDeclaration", + "scope": 3277, + "src": "1820:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3255, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1820:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1790:46:15" + }, + "returnParameters": { + "id": 3258, + "nodeType": "ParameterList", + "parameters": [], + "src": "1844:0:15" + }, + "scope": 4610, + "src": "1779:183:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3286, + "nodeType": "Block", + "src": "2140:37:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3283, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3279, + "src": "2164:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3282, + "name": "_startAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4311, + "src": "2150:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2150:20:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3285, + "nodeType": "ExpressionStatement", + "src": "2150:20:15" + } + ] + }, + "documentation": "@dev Start an auction for an available hash\n * @param _hash The hash to start an auction on", + "id": 3287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "startAuction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3279, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "2116:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3278, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2116:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2115:15:15" + }, + "returnParameters": { + "id": 3281, + "nodeType": "ParameterList", + "parameters": [], + "src": "2140:0:15" + }, + "scope": 4610, + "src": "2094:83:15", + "stateMutability": "nonpayable", + "superFunction": 4682, + "visibility": "external" + }, + { + "body": { + "id": 3297, + "nodeType": "Block", + "src": "2831:40:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3294, + "name": "_hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3290, + "src": "2856:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + ], + "id": 3293, + "name": "_startAuctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4337, + "src": "2841:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32[] memory)" + } + }, + "id": 3295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2841:23:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3296, + "nodeType": "ExpressionStatement", + "src": "2841:23:15" + } + ] + }, + "documentation": "@dev Start multiple auctions for better anonymity\n * Anyone can start an auction by sending an array of hashes that they want to bid for.\nArrays are sent so that someone can open up an auction for X dummy hashes when they\nare only really interested in bidding for one. This will increase the cost for an\nattacker to simply bid blindly on all new auctions. Dummy auctions that are\nopen but not bid on are closed after a week.\n * @param _hashes An array of hashes, at least one of which you presumably want to bid on", + "id": 3298, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "startAuctions", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3290, + "name": "_hashes", + "nodeType": "VariableDeclaration", + "scope": 3298, + "src": "2794:26:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3288, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2794:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3289, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2794:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2793:28:15" + }, + "returnParameters": { + "id": 3292, + "nodeType": "ParameterList", + "parameters": [], + "src": "2831:0:15" + }, + "scope": 4610, + "src": "2771:100:15", + "stateMutability": "nonpayable", + "superFunction": 4688, + "visibility": "external" + }, + { + "body": { + "id": 3307, + "nodeType": "Block", + "src": "3779:35:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3304, + "name": "sealedBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3300, + "src": "3797:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3303, + "name": "_newBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "3789:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3789:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3306, + "nodeType": "ExpressionStatement", + "src": "3789:18:15" + } + ] + }, + "documentation": "@dev Submit a new sealed bid on a desired hash in a blind auction\n * Bids are sent by sending a message to the main contract with a hash and an amount. The hash\ncontains information about the bid, including the bidded hash, the bid amount, and a random\nsalt. Bids are not tied to any one auction until they are revealed. The value of the bid\nitself can be masqueraded by sending more than the value of your actual bid. This is\nfollowed by a 48h reveal period. Bids revealed after this period will be burned and the ether unrecoverable.\nSince this is an auction, it is expected that most public hashes, like known domains and common dictionary\nwords, will have multiple bidders pushing the price up.\n * @param sealedBid A sealedBid, created by the shaBid function", + "id": 3308, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "newBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3301, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3300, + "name": "sealedBid", + "nodeType": "VariableDeclaration", + "scope": 3308, + "src": "3743:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3299, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3743:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3742:19:15" + }, + "returnParameters": { + "id": 3302, + "nodeType": "ParameterList", + "parameters": [], + "src": "3779:0:15" + }, + "scope": 4610, + "src": "3727:87:15", + "stateMutability": "payable", + "superFunction": 4693, + "visibility": "external" + }, + { + "body": { + "id": 3324, + "nodeType": "Block", + "src": "4248:67:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3317, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3311, + "src": "4273:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + ], + "id": 3316, + "name": "_startAuctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4337, + "src": "4258:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32[] memory)" + } + }, + "id": 3318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4258:22:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3319, + "nodeType": "ExpressionStatement", + "src": "4258:22:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3321, + "name": "sealedBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3313, + "src": "4298:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3320, + "name": "_newBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "4290:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4290:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3323, + "nodeType": "ExpressionStatement", + "src": "4290:18:15" + } + ] + }, + "documentation": "@dev Start a set of auctions and bid on one of them\n * This method functions identically to calling `startAuctions` followed by `newBid`,\nbut all in one transaction.\n * @param hashes A list of hashes to start auctions on.\n@param sealedBid A sealed bid for one of the auctions.", + "id": 3325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "startAuctionsAndBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3311, + "name": "hashes", + "nodeType": "VariableDeclaration", + "scope": 3325, + "src": "4185:25:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3309, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4185:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3310, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4185:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3313, + "name": "sealedBid", + "nodeType": "VariableDeclaration", + "scope": 3325, + "src": "4212:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3312, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4212:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4184:46:15" + }, + "returnParameters": { + "id": 3315, + "nodeType": "ParameterList", + "parameters": [], + "src": "4248:0:15" + }, + "scope": 4610, + "src": "4156:159:15", + "stateMutability": "payable", + "superFunction": 4701, + "visibility": "external" + }, + { + "body": { + "id": 3556, + "nodeType": "Block", + "src": "4618:1904:15", + "statements": [ + { + "assignments": [ + 3335 + ], + "declarations": [ + { + "constant": false, + "id": 3335, + "name": "seal", + "nodeType": "VariableDeclaration", + "scope": 3556, + "src": "4628:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3334, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4628:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3343, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3337, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "4650:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3338, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4657:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4657:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3340, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "4669:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3341, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3331, + "src": "4677:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3336, + "name": "shaBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4198, + "src": "4643:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,address,uint256,bytes32) pure returns (bytes32)" + } + }, + "id": 3342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4643:40:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4628:55:15" + }, + { + "assignments": [ + 3345 + ], + "declarations": [ + { + "constant": false, + "id": 3345, + "name": "bid", + "nodeType": "VariableDeclaration", + "scope": 3556, + "src": "4693:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 3344, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "4693:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3352, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3346, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "4704:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 3349, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3347, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4715:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4715:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4704:22:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 3351, + "indexExpression": { + "argumentTypes": null, + "id": 3350, + "name": "seal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3335, + "src": "4727:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4704:28:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4693:39:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3355, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "4758:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 3354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4750:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4750:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4774:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4766:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4766:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4750:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3353, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4742:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4742:37:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3362, + "nodeType": "ExpressionStatement", + "src": "4742:37:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3363, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "4790:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 3367, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3364, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4801:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4801:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4790:22:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 3368, + "indexExpression": { + "argumentTypes": null, + "id": 3366, + "name": "seal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3335, + "src": "4813:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4790:28:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4834:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4826:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4826:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 3369, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "4821:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 3373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4821:18:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "4790:49:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3375, + "nodeType": "ExpressionStatement", + "src": "4790:49:15" + }, + { + "assignments": [ + 3377 + ], + "declarations": [ + { + "constant": false, + "id": 3377, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 3556, + "src": "4849:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3376, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "4849:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3381, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3378, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "4867:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3380, + "indexExpression": { + "argumentTypes": null, + "id": 3379, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "4876:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4867:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4849:33:15" + }, + { + "assignments": [ + 3383 + ], + "declarations": [ + { + "constant": false, + "id": 3383, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3556, + "src": "4892:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3382, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4892:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3390, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3385, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "4909:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 3386, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "4917:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2221, + "src": "4917:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 3388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4917:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3384, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4522, + "src": "4905:3:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4905:24:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4892:37:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3394, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "4954:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4961:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "id": 3391, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "4939:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 2198, + "src": "4939:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (uint256,bool) external" + } + }, + "id": 3396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4939:27:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3397, + "nodeType": "ExpressionStatement", + "src": "4939:27:15" + }, + { + "assignments": [ + 3399 + ], + "declarations": [ + { + "constant": false, + "id": 3399, + "name": "auctionState", + "nodeType": "VariableDeclaration", + "scope": 3556, + "src": "4977:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 3398, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "4977:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3403, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3401, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "5003:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3400, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "4997:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 3402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4997:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4977:32:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 3407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3404, + "name": "auctionState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3399, + "src": "5023:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3405, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "5039:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 3406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Owned", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5039:10:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "5023:26:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 3426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3423, + "name": "auctionState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3399, + "src": "5226:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3424, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "5242:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 3425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Reveal", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5242:11:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "5226:27:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3431, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "5327:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3432, + "name": "minPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3168, + "src": "5335:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5327:16:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 3434, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "5347:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "creationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2226, + "src": "5347:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 3436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5347:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3437, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5368:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "5368:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 3439, + "name": "revealPeriod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3162, + "src": "5389:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "5368:33:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5347:54:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5327:74:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3458, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "5568:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3459, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5576:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3460, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "5576:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5568:20:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3511, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6166:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3512, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "6174:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3513, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "6174:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6166:15:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3550, + "nodeType": "Block", + "src": "6372:144:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "393935", + "id": 3539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6442:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + }, + "value": "995" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + } + ], + "expression": { + "argumentTypes": null, + "id": 3536, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "6428:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "6428:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6428:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3541, + "nodeType": "ExpressionStatement", + "src": "6428:18:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3543, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "6477:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3544, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "6484:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6484:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3546, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6496:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "34", + "id": 3547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6503:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + } + ], + "id": 3542, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "6465:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6465:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3549, + "nodeType": "EmitStatement", + "src": "6460:45:15" + } + ] + }, + "id": 3551, + "nodeType": "IfStatement", + "src": "6162:354:15", + "trueBody": { + "id": 3535, + "nodeType": "Block", + "src": "6183:183:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3515, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "6249:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3517, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "6249:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3518, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6259:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6249:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3520, + "nodeType": "ExpressionStatement", + "src": "6249:15:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "393935", + "id": 3524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6292:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + }, + "value": "995" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + } + ], + "expression": { + "argumentTypes": null, + "id": 3521, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "6278:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "6278:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6278:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3526, + "nodeType": "ExpressionStatement", + "src": "6278:18:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3528, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "6327:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3529, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "6334:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6334:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3531, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6346:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "33", + "id": 3532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6353:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + } + ], + "id": 3527, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "6315:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6315:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3534, + "nodeType": "EmitStatement", + "src": "6310:45:15" + } + ] + } + }, + "id": 3552, + "nodeType": "IfStatement", + "src": "5564:952:15", + "trueBody": { + "id": 3510, + "nodeType": "Block", + "src": "5590:566:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3463, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5692:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "5692:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 3462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5684:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5684:15:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5711:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5703:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5703:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "5684:31:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3482, + "nodeType": "IfStatement", + "src": "5680:145:15", + "trueBody": { + "id": 3481, + "nodeType": "Block", + "src": "5717:108:15", + "statements": [ + { + "assignments": [ + 3471 + ], + "declarations": [ + { + "constant": false, + "id": 3471, + "name": "previousWinner", + "nodeType": "VariableDeclaration", + "scope": 3481, + "src": "5735:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 3470, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "5735:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3474, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3472, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5757:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3473, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "5757:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5735:28:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "393935", + "id": 3478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5806:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + }, + "value": "995" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + } + ], + "expression": { + "argumentTypes": null, + "id": 3475, + "name": "previousWinner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3471, + "src": "5781:14:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "5781:24:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5781:29:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3480, + "nodeType": "ExpressionStatement", + "src": "5781:29:15" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3483, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5962:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3485, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "5962:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3486, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5972:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3487, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "5972:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5962:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3489, + "nodeType": "ExpressionStatement", + "src": "5962:22:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3490, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "6040:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3492, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "6040:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3493, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6055:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6040:20:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3495, + "nodeType": "ExpressionStatement", + "src": "6040:20:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3496, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "6074:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "6074:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3499, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "6083:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "6074:12:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3501, + "nodeType": "ExpressionStatement", + "src": "6074:12:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3503, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "6117:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3504, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "6124:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6124:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3506, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6136:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "32", + "id": 3507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6143:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 3502, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "6105:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6105:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3509, + "nodeType": "EmitStatement", + "src": "6100:45:15" + } + ] + } + }, + "id": 3553, + "nodeType": "IfStatement", + "src": "5323:1193:15", + "trueBody": { + "id": 3457, + "nodeType": "Block", + "src": "5403:155:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "393935", + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5484:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + }, + "value": "995" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + } + ], + "expression": { + "argumentTypes": null, + "id": 3443, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "5470:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "5470:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5470:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3448, + "nodeType": "ExpressionStatement", + "src": "5470:18:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3450, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "5519:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3451, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "5526:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5526:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3453, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "5538:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5545:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3449, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "5507:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5507:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3456, + "nodeType": "EmitStatement", + "src": "5502:45:15" + } + ] + } + }, + "id": 3554, + "nodeType": "IfStatement", + "src": "5222:1294:15", + "trueBody": { + "id": 3430, + "nodeType": "Block", + "src": "5255:62:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3427, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6915, + 6916 + ], + "referencedDeclaration": 6915, + "src": "5298:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5298:8:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3429, + "nodeType": "ExpressionStatement", + "src": "5298:8:15" + } + ] + } + }, + "id": 3555, + "nodeType": "IfStatement", + "src": "5019:1497:15", + "trueBody": { + "id": 3422, + "nodeType": "Block", + "src": "5051:165:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "35", + "id": 3411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5144:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + } + ], + "expression": { + "argumentTypes": null, + "id": 3408, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "5130:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "5130:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5130:16:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3413, + "nodeType": "ExpressionStatement", + "src": "5130:16:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3415, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "5177:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3416, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "5184:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5184:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3418, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "5196:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "31", + "id": 3419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5203:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 3414, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "5165:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5165:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3421, + "nodeType": "EmitStatement", + "src": "5160:45:15" + } + ] + } + } + ] + }, + "documentation": "@dev Submit the properties of a bid to reveal them\n * @param _hash The node in the sealedBid\n@param _value The bid amount in the sealedBid\n@param _salt The sale in the sealedBid", + "id": 3557, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsealBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3327, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3557, + "src": "4566:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4566:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3329, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3557, + "src": "4581:11:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3328, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4581:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3331, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 3557, + "src": "4594:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3330, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4594:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4565:43:15" + }, + "returnParameters": { + "id": 3333, + "nodeType": "ParameterList", + "parameters": [], + "src": "4618:0:15" + }, + "scope": 4610, + "src": "4547:1975:15", + "stateMutability": "nonpayable", + "superFunction": 4710, + "visibility": "external" + }, + { + "body": { + "id": 3622, + "nodeType": "Block", + "src": "6695:786:15", + "statements": [ + { + "assignments": [ + 3565 + ], + "declarations": [ + { + "constant": false, + "id": 3565, + "name": "bid", + "nodeType": "VariableDeclaration", + "scope": 3622, + "src": "6705:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 3564, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "6705:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3571, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3566, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "6716:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 3568, + "indexExpression": { + "argumentTypes": null, + "id": 3567, + "name": "bidder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "6727:6:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6716:18:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 3570, + "indexExpression": { + "argumentTypes": null, + "id": 3569, + "name": "seal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "6735:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6716:24:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6705:35:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3574, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3565, + "src": "7176:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 3573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7168:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7168:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7192:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7184:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7184:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7168:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3580, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "7200:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 3581, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3565, + "src": "7207:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "creationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2226, + "src": "7207:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 3583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7207:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 3584, + "name": "totalAuctionLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3159, + "src": "7228:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "7207:39:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 3586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7249:7:15", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_1209600_by_1", + "typeString": "int_const 1209600" + }, + "value": "2" + }, + "src": "7207:49:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7200:56:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7168:88:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3572, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "7160:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7160:97:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3591, + "nodeType": "ExpressionStatement", + "src": "7160:97:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3595, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "7347:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7347:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 3592, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3565, + "src": "7334:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2186, + "src": "7334:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable) external" + } + }, + "id": 3597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7334:24:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3598, + "nodeType": "ExpressionStatement", + "src": "7334:24:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "35", + "id": 3602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7382:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + } + ], + "expression": { + "argumentTypes": null, + "id": 3599, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3565, + "src": "7368:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "7368:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7368:16:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3604, + "nodeType": "ExpressionStatement", + "src": "7368:16:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3605, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "7394:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 3608, + "indexExpression": { + "argumentTypes": null, + "id": 3606, + "name": "bidder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "7405:6:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7394:18:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 3609, + "indexExpression": { + "argumentTypes": null, + "id": 3607, + "name": "seal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "7413:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7394:24:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7426:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3610, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "7421:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 3612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7421:7:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "7394:34:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3614, + "nodeType": "ExpressionStatement", + "src": "7394:34:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3616, + "name": "seal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "7455:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3617, + "name": "bidder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "7461:6:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7469:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "35", + "id": 3619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7472:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + } + ], + "id": 3615, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "7443:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7443:31:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3621, + "nodeType": "EmitStatement", + "src": "7438:36:15" + } + ] + }, + "documentation": "@dev Cancel a bid\n * @param seal The value returned by the shaBid function", + "id": 3623, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "cancelBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3559, + "name": "bidder", + "nodeType": "VariableDeclaration", + "scope": 3623, + "src": "6656:14:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3558, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6656:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3561, + "name": "seal", + "nodeType": "VariableDeclaration", + "scope": 3623, + "src": "6672:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3560, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6672:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6655:30:15" + }, + "returnParameters": { + "id": 3563, + "nodeType": "ParameterList", + "parameters": [], + "src": "6695:0:15" + }, + "scope": 4610, + "src": "6637:844:15", + "stateMutability": "nonpayable", + "superFunction": 4717, + "visibility": "external" + }, + { + "body": { + "id": 3677, + "nodeType": "Block", + "src": "7707:356:15", + "statements": [ + { + "assignments": [ + 3632 + ], + "declarations": [ + { + "constant": false, + "id": 3632, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 3677, + "src": "7717:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3631, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "7717:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3636, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3633, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "7735:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3635, + "indexExpression": { + "argumentTypes": null, + "id": 3634, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3625, + "src": "7744:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7735:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7717:33:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3637, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "7849:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3639, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "7849:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3641, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "7863:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3642, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "7863:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3643, + "name": "minPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3168, + "src": "7872:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3640, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4504, + "src": "7859:3:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7859:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7849:32:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3646, + "nodeType": "ExpressionStatement", + "src": "7849:32:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3652, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "7909:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3653, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "7909:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7918:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3647, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "7891:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "7891:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 2198, + "src": "7891:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (uint256,bool) external" + } + }, + "id": 3655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7891:32:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3656, + "nodeType": "ExpressionStatement", + "src": "7891:32:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3658, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3625, + "src": "7953:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3659, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "7960:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3660, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "7960:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2211, + "src": "7960:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7960:14:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3657, + "name": "trySetSubnodeOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4486, + "src": "7934:18:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7934:41:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3664, + "nodeType": "ExpressionStatement", + "src": "7934:41:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3666, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3625, + "src": "8005:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3667, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "8012:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "8012:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2211, + "src": "8012:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8012:14:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3671, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "8028:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3672, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "8028:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3673, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "8037:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "8037:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3665, + "name": "HashRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4654, + "src": "7990:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256)" + } + }, + "id": 3675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7990:66:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3676, + "nodeType": "EmitStatement", + "src": "7985:71:15" + } + ] + }, + "documentation": "@dev Finalize an auction after the registration date has passed\n * @param _hash The hash of the name the auction is for", + "id": 3678, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 3628, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3625, + "src": "7700:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3629, + "modifierName": { + "argumentTypes": null, + "id": 3627, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3220, + "src": "7690:9:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "7690:16:15" + } + ], + "name": "finalizeAuction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3625, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3678, + "src": "7666:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3624, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7666:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7665:15:15" + }, + "returnParameters": { + "id": 3630, + "nodeType": "ParameterList", + "parameters": [], + "src": "7707:0:15" + }, + "scope": 4610, + "src": "7641:422:15", + "stateMutability": "nonpayable", + "superFunction": 4722, + "visibility": "external" + }, + { + "body": { + "id": 3715, + "nodeType": "Block", + "src": "8357:174:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 3693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3689, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3682, + "src": "8375:8:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8395:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8387:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8387:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8375:24:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3688, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8367:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8367:33:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3695, + "nodeType": "ExpressionStatement", + "src": "8367:33:15" + }, + { + "assignments": [ + 3697 + ], + "declarations": [ + { + "constant": false, + "id": 3697, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 3715, + "src": "8411:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3696, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "8411:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3701, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3698, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "8429:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3700, + "indexExpression": { + "argumentTypes": null, + "id": 3699, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3680, + "src": "8438:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8429:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8411:33:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3707, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3682, + "src": "8470:8:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3702, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3697, + "src": "8454:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3705, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "8454:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2186, + "src": "8454:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable) external" + } + }, + "id": 3708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8454:25:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3709, + "nodeType": "ExpressionStatement", + "src": "8454:25:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3711, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3680, + "src": "8508:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3712, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3682, + "src": "8515:8:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 3710, + "name": "trySetSubnodeOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4486, + "src": "8489:18:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8489:35:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3714, + "nodeType": "ExpressionStatement", + "src": "8489:35:15" + } + ] + }, + "documentation": "@dev The owner of a domain may transfer it to someone else at any time.\n * @param _hash The node to transfer\n@param newOwner The address to transfer ownership to", + "id": 3716, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 3685, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3680, + "src": "8350:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3686, + "modifierName": { + "argumentTypes": null, + "id": 3684, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3220, + "src": "8340:9:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "8340:16:15" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3680, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3716, + "src": "8290:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8290:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3682, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 3716, + "src": "8305:24:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 3681, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8305:15:15", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8289:41:15" + }, + "returnParameters": { + "id": 3687, + "nodeType": "ParameterList", + "parameters": [], + "src": "8357:0:15" + }, + "scope": 4610, + "src": "8272:259:15", + "stateMutability": "nonpayable", + "superFunction": 4729, + "visibility": "external" + }, + { + "body": { + "id": 3789, + "nodeType": "Block", + "src": "8797:382:15", + "statements": [ + { + "assignments": [ + 3725 + ], + "declarations": [ + { + "constant": false, + "id": 3725, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 3789, + "src": "8807:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3724, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "8807:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3729, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3726, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "8825:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3728, + "indexExpression": { + "argumentTypes": null, + "id": 3727, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3718, + "src": "8834:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8825:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8807:33:15" + }, + { + "assignments": [ + 3731 + ], + "declarations": [ + { + "constant": false, + "id": 3731, + "name": "deedContract", + "nodeType": "VariableDeclaration", + "scope": 3789, + "src": "8850:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 3730, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "8850:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3734, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3732, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "8870:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3733, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "8870:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8850:26:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3736, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "8895:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3737, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "8902:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3738, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "8902:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "333635", + "id": 3739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8923:8:15", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_31536000_by_1", + "typeString": "int_const 31536000" + }, + "value": "365" + }, + "src": "8902:29:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8895:36:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3744, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "8945:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3742, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "8935:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "8935:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8935:19:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3747, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "8966:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 3746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8958:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8958:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8935:36:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8895:76:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3735, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8887:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8887:85:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3752, + "nodeType": "ExpressionStatement", + "src": "8887:85:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3753, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "8983:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3755, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "8983:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 3756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8993:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8983:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3758, + "nodeType": "ExpressionStatement", + "src": "8983:11:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3759, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "9004:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3761, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "9004:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 3762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9019:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9004:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3764, + "nodeType": "ExpressionStatement", + "src": "9004:16:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3765, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "9030:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3767, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "9030:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9044:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3768, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "9039:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 3770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9039:7:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "9030:16:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3772, + "nodeType": "ExpressionStatement", + "src": "9030:16:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3774, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3718, + "src": "9077:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3773, + "name": "_tryEraseSingleNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4252, + "src": "9057:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9057:26:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3776, + "nodeType": "ExpressionStatement", + "src": "9057:26:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31303030", + "id": 3780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9116:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + } + ], + "expression": { + "argumentTypes": null, + "id": 3777, + "name": "deedContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3731, + "src": "9093:12:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "9093:22:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9093:28:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3782, + "nodeType": "ExpressionStatement", + "src": "9093:28:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3784, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3718, + "src": "9149:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3785, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "9156:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3786, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "9156:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3783, + "name": "HashReleased", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4660, + "src": "9136:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 3787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9136:28:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3788, + "nodeType": "EmitStatement", + "src": "9131:33:15" + } + ] + }, + "documentation": "@dev After some time, or if we're no longer the registrar, the owner can release\n the name and get their ether back.\n * @param _hash The node to release", + "id": 3790, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 3721, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3718, + "src": "8790:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3722, + "modifierName": { + "argumentTypes": null, + "id": 3720, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3220, + "src": "8780:9:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "8780:16:15" + } + ], + "name": "releaseDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3719, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3718, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3790, + "src": "8756:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3717, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8756:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8755:15:15" + }, + "returnParameters": { + "id": 3723, + "nodeType": "ParameterList", + "parameters": [], + "src": "8797:0:15" + }, + "scope": 4610, + "src": "8735:444:15", + "stateMutability": "nonpayable", + "superFunction": 4734, + "visibility": "external" + }, + { + "body": { + "id": 3910, + "nodeType": "Block", + "src": "9704:675:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3807, + "name": "unhashedName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9729:12:15", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 3806, + "name": "strlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4609, + "src": "9722:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) pure returns (uint256)" + } + }, + "id": 3808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9722:20:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "36", + "id": 3809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9746:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "src": "9722:25:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3805, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9714:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9714:34:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3812, + "nodeType": "ExpressionStatement", + "src": "9714:34:15" + }, + { + "assignments": [ + 3814 + ], + "declarations": [ + { + "constant": false, + "id": 3814, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 3910, + "src": "9758:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3813, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9758:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3821, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3818, + "name": "unhashedName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9794:12:15", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 3816, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "9783:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9783:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9783:24:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3815, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9773:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9773:35:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9758:50:15" + }, + { + "assignments": [ + 3823 + ], + "declarations": [ + { + "constant": false, + "id": 3823, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 3910, + "src": "9819:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3822, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "9819:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3827, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3824, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "9837:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3826, + "indexExpression": { + "argumentTypes": null, + "id": 3825, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3814, + "src": "9846:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9837:14:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9819:32:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3829, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3814, + "src": "9882:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3828, + "name": "_tryEraseSingleNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4252, + "src": "9862:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9862:25:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3831, + "nodeType": "ExpressionStatement", + "src": "9862:25:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3833, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "9910:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3834, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "9910:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 3832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9902:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9902:15:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9929:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9921:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9921:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "9902:31:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3880, + "nodeType": "IfStatement", + "src": "9898:321:15", + "trueBody": { + "id": 3879, + "nodeType": "Block", + "src": "9935:284:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3840, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10050:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "10050:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3844, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10064:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3845, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "10064:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3846, + "name": "minPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3168, + "src": "10073:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3843, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4504, + "src": "10060:3:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10060:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10050:32:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3849, + "nodeType": "ExpressionStatement", + "src": "10050:32:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3855, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10114:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3856, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "10114:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 3857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10122:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "10114:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10125:5:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3850, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10096:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3853, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "10096:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 2198, + "src": "10096:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (uint256,bool) external" + } + }, + "id": 3860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10096:35:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3861, + "nodeType": "ExpressionStatement", + "src": "10096:35:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3867, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "10161:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10161:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3862, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10145:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3865, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "10145:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2186, + "src": "10145:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable) external" + } + }, + "id": 3869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10145:27:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3870, + "nodeType": "ExpressionStatement", + "src": "10145:27:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31303030", + "id": 3876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10203:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3871, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10186:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3874, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "10186:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "10186:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10186:22:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3878, + "nodeType": "ExpressionStatement", + "src": "10186:22:15" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3882, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3814, + "src": "10250:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3883, + "name": "unhashedName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "10256:12:15", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3884, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10270:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3885, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "10270:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3886, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10279:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3887, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "10279:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3881, + "name": "HashInvalidated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4670, + "src": "10234:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,string memory,uint256,uint256)" + } + }, + "id": 3888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10234:64:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3889, + "nodeType": "EmitStatement", + "src": "10229:69:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3890, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10309:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3892, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "10309:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 3893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10319:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10309:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3895, + "nodeType": "ExpressionStatement", + "src": "10309:11:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3896, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10330:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3898, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "10330:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 3899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10345:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10330:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3901, + "nodeType": "ExpressionStatement", + "src": "10330:16:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3902, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10356:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "10356:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10370:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3905, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "10365:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 3907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10365:7:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "10356:16:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3909, + "nodeType": "ExpressionStatement", + "src": "10356:16:15" + } + ] + }, + "documentation": "@dev Submit a name 6 characters long or less. If it has been registered,\n the submitter will earn 50% of the deed value. \n\n * We are purposefully handicapping the simplified registrar as a way \nto force it into being restructured in a few years.\n * @param unhashedName An invalid name to search for in the registry.", + "id": 3911, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3798, + "name": "unhashedName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9672:12:15", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 3796, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "9661:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9661:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9661:24:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3795, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9651:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9651:35:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3801, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "9688:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 3802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Owned", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9688:10:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + } + ], + "id": 3803, + "modifierName": { + "argumentTypes": null, + "id": 3794, + "name": "inState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3195, + "src": "9643:7:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_Mode_$4620_$", + "typeString": "modifier (bytes32,enum Registrar.Mode)" + } + }, + "nodeType": "ModifierInvocation", + "src": "9643:56:15" + } + ], + "name": "invalidateName", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3792, + "name": "unhashedName", + "nodeType": "VariableDeclaration", + "scope": 3911, + "src": "9588:28:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3791, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9588:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9587:30:15" + }, + "returnParameters": { + "id": 3804, + "nodeType": "ParameterList", + "parameters": [], + "src": "9704:0:15" + }, + "scope": 4610, + "src": "9564:815:15", + "stateMutability": "nonpayable", + "superFunction": 4739, + "visibility": "external" + }, + { + "body": { + "id": 3947, + "nodeType": "Block", + "src": "11063:176:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3918, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3914, + "src": "11081:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 3919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11081:13:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11098:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11081:18:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3917, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "11073:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11073:27:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3923, + "nodeType": "ExpressionStatement", + "src": "11073:27:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 3935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3926, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3914, + "src": "11124:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 3931, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3927, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3914, + "src": "11131:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 3928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11131:13:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 3929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11147:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11131:17:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11124:25:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3925, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "11118:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 3932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11118:32:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3933, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "11154:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 3934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Owned", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11154:10:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "11118:46:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3924, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "11110:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11110:55:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3937, + "nodeType": "ExpressionStatement", + "src": "11110:55:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3939, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3914, + "src": "11196:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 3940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11196:13:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 3941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11212:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11196:17:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3943, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3914, + "src": "11215:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "argumentTypes": null, + "id": 3944, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "11223:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3938, + "name": "_eraseNodeHierarchy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "11176:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (uint256,bytes32[] memory,bytes32)" + } + }, + "id": 3945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11176:56:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3946, + "nodeType": "ExpressionStatement", + "src": "11176:56:15" + } + ] + }, + "documentation": "@dev Allows anyone to delete the owner and resolver records for a (subdomain of) a\n name that is not currently owned in the registrar. If passing, eg, 'foo.bar.eth',\n the owner and resolver fields on 'foo.bar.eth' and 'bar.eth' will all be cleared.\n * @param labels A series of label hashes identifying the name to zero out, rooted at the\n registrar's root. Must contain at least one element. For instance, to zero \n 'foo.bar.eth' on a registrar that owns '.eth', pass an array containing\n [keccak256('foo'), keccak256('bar')].", + "id": 3948, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "eraseNode", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3915, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3914, + "name": "labels", + "nodeType": "VariableDeclaration", + "scope": 3948, + "src": "11027:25:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3912, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11027:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3913, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11027:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11026:27:15" + }, + "returnParameters": { + "id": 3916, + "nodeType": "ParameterList", + "parameters": [], + "src": "11063:0:15" + }, + "scope": 4610, + "src": "11008:231:15", + "stateMutability": "nonpayable", + "superFunction": 4745, + "visibility": "external" + }, + { + "body": { + "id": 4022, + "nodeType": "Block", + "src": "11541:496:15", + "statements": [ + { + "assignments": [ + 3957 + ], + "declarations": [ + { + "constant": false, + "id": 3957, + "name": "registrar", + "nodeType": "VariableDeclaration", + "scope": 4022, + "src": "11551:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3956, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11551:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3962, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3960, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "11581:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3958, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "11571:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "11571:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11571:19:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11551:39:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3964, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3957, + "src": "11608:9:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3966, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "11629:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 3965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11621:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11621:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11608:26:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3963, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "11600:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11600:35:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3970, + "nodeType": "ExpressionStatement", + "src": "11600:35:15" + }, + { + "assignments": [ + 3972 + ], + "declarations": [ + { + "constant": false, + "id": 3972, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 4022, + "src": "11674:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3971, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "11674:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3976, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3973, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "11692:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3975, + "indexExpression": { + "argumentTypes": null, + "id": 3974, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3950, + "src": "11701:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11692:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11674:33:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3982, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3957, + "src": "11737:9:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3977, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11717:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3980, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "11717:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setRegistrar", + "nodeType": "MemberAccess", + "referencedDeclaration": 2191, + "src": "11717:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 3983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11717:30:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3984, + "nodeType": "ExpressionStatement", + "src": "11717:30:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3989, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3950, + "src": "11860:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3990, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11867:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3991, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "11867:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3992, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11875:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3993, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "11875:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3986, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3957, + "src": "11825:9:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3985, + "name": "Registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "11815:9:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Registrar_$4775_$", + "typeString": "type(contract Registrar)" + } + }, + "id": 3987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11815:20:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 3988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "acceptRegistrarTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 4759, + "src": "11815:44:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_contract$_Deed_$2227_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,contract Deed,uint256) external" + } + }, + "id": 3994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11815:79:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3995, + "nodeType": "ExpressionStatement", + "src": "11815:79:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3996, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11935:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3998, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "11935:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11949:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3999, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "11944:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 4001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11944:7:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "11935:16:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 4003, + "nodeType": "ExpressionStatement", + "src": "11935:16:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4004, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11961:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4006, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "11961:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4007, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11982:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11961:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4009, + "nodeType": "ExpressionStatement", + "src": "11961:22:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4010, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11993:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4012, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "11993:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12003:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11993:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4015, + "nodeType": "ExpressionStatement", + "src": "11993:11:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4016, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "12014:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4018, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "12014:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12029:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12014:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4021, + "nodeType": "ExpressionStatement", + "src": "12014:16:15" + } + ] + }, + "documentation": "@dev Transfers the deed to the current registrar, if different from this one.\n * Used during the upgrade process to a permanent registrar.\n * @param _hash The name hash to transfer.", + "id": 4023, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 3953, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3950, + "src": "11534:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3954, + "modifierName": { + "argumentTypes": null, + "id": 3952, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3220, + "src": "11524:9:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "11524:16:15" + } + ], + "name": "transferRegistrars", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3950, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4023, + "src": "11500:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3949, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11500:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11499:15:15" + }, + "returnParameters": { + "id": 3955, + "nodeType": "ParameterList", + "parameters": [], + "src": "11541:0:15" + }, + "scope": 4610, + "src": "11472:565:15", + "stateMutability": "nonpayable", + "superFunction": 4750, + "visibility": "external" + }, + { + "body": { + "id": 4038, + "nodeType": "Block", + "src": "12523:82:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4032, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4025, + "src": "12533:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4033, + "nodeType": "ExpressionStatement", + "src": "12533:4:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4034, + "name": "deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4027, + "src": "12539:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 4035, + "nodeType": "ExpressionStatement", + "src": "12539:4:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4036, + "name": "registrationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4029, + "src": "12545:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4037, + "nodeType": "ExpressionStatement", + "src": "12545:16:15" + } + ] + }, + "documentation": "@dev Accepts a transfer from a previous registrar; stubbed out here since there\n is no previous registrar implementing this interface.\n * @param hash The sha3 hash of the label to transfer.\n@param deed The Deed object for the name being transferred in.\n@param registrationDate The date at which the name was originally registered.", + "id": 4039, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "acceptRegistrarTransfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4025, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4039, + "src": "12466:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4024, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12466:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4027, + "name": "deed", + "nodeType": "VariableDeclaration", + "scope": 4039, + "src": "12480:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 4026, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "12480:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4029, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 4039, + "src": "12491:21:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4028, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12491:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12465:48:15" + }, + "returnParameters": { + "id": 4031, + "nodeType": "ParameterList", + "parameters": [], + "src": "12523:0:15" + }, + "scope": 4610, + "src": "12433:172:15", + "stateMutability": "nonpayable", + "superFunction": 4759, + "visibility": "external" + }, + { + "body": { + "id": 4075, + "nodeType": "Block", + "src": "12699:141:15", + "statements": [ + { + "assignments": [ + 4055 + ], + "declarations": [ + { + "constant": false, + "id": 4055, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 4075, + "src": "12709:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 4054, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "12709:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4059, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4056, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "12727:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 4058, + "indexExpression": { + "argumentTypes": null, + "id": 4057, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4041, + "src": "12736:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12727:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12709:33:15" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4061, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4041, + "src": "12766:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4060, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "12760:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 4062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12760:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4064, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4055, + "src": "12782:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "12782:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 4063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12774:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12774:15:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4067, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4055, + "src": "12791:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4068, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "12791:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4069, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4055, + "src": "12811:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4070, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "12811:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4071, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4055, + "src": "12820:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4072, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "12820:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4073, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12759:74:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "functionReturnParameters": 4053, + "id": 4074, + "nodeType": "Return", + "src": "12752:81:15" + } + ] + }, + "documentation": null, + "id": 4076, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "entries", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4041, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12628:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4040, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12628:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12627:15:15" + }, + "returnParameters": { + "id": 4053, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4044, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12666:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 4043, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "12666:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4046, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12672:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12672:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4048, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12681:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4047, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12681:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4050, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12687:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4049, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12687:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4052, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12693:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4051, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12693:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12665:33:15" + }, + "scope": 4610, + "src": "12611:229:15", + "stateMutability": "view", + "superFunction": 4774, + "visibility": "external" + }, + { + "body": { + "id": 4134, + "nodeType": "Block", + "src": "13126:528:15", + "statements": [ + { + "assignments": [ + 4084 + ], + "declarations": [ + { + "constant": false, + "id": 4084, + "name": "entry", + "nodeType": "VariableDeclaration", + "scope": 4134, + "src": "13136:19:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 4083, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "13136:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4088, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4085, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "13158:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 4087, + "indexExpression": { + "argumentTypes": null, + "id": 4086, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4078, + "src": "13167:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13158:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13136:37:15" + }, + { + "condition": { + "argumentTypes": null, + "id": 4093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "13188:22:15", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4090, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4078, + "src": "13199:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4091, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "13206:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4089, + "name": "isAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4151, + "src": "13189:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view returns (bool)" + } + }, + "id": 4092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13189:21:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4098, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "13274:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4099, + "name": "entry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4084, + "src": "13280:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4100, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "13280:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13274:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4131, + "nodeType": "Block", + "src": "13492:156:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4118, + "name": "entry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4084, + "src": "13510:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4119, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "13510:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13530:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13510:21:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4129, + "nodeType": "Block", + "src": "13588:50:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4126, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "13613:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Owned", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13613:10:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "functionReturnParameters": 4082, + "id": 4128, + "nodeType": "Return", + "src": "13606:17:15" + } + ] + }, + "id": 4130, + "nodeType": "IfStatement", + "src": "13506:132:15", + "trueBody": { + "id": 4125, + "nodeType": "Block", + "src": "13533:49:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4122, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "13558:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Open", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13558:9:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "functionReturnParameters": 4082, + "id": 4124, + "nodeType": "Return", + "src": "13551:16:15" + } + ] + } + } + ] + }, + "id": 4132, + "nodeType": "IfStatement", + "src": "13270:378:15", + "trueBody": { + "id": 4117, + "nodeType": "Block", + "src": "13304:182:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4102, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "13322:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4103, + "name": "entry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4084, + "src": "13328:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "13328:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 4105, + "name": "revealPeriod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3162, + "src": "13353:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "13328:37:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13322:43:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4115, + "nodeType": "Block", + "src": "13425:51:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4112, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "13450:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Reveal", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13450:11:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "functionReturnParameters": 4082, + "id": 4114, + "nodeType": "Return", + "src": "13443:18:15" + } + ] + }, + "id": 4116, + "nodeType": "IfStatement", + "src": "13318:158:15", + "trueBody": { + "id": 4111, + "nodeType": "Block", + "src": "13367:52:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4108, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "13392:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Auction", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13392:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "functionReturnParameters": 4082, + "id": 4110, + "nodeType": "Return", + "src": "13385:19:15" + } + ] + } + } + ] + } + }, + "id": 4133, + "nodeType": "IfStatement", + "src": "13184:464:15", + "trueBody": { + "id": 4097, + "nodeType": "Block", + "src": "13212:52:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4094, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "13233:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "NotYetAvailable", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13233:20:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "functionReturnParameters": 4082, + "id": 4096, + "nodeType": "Return", + "src": "13226:27:15" + } + ] + } + } + ] + }, + "documentation": null, + "id": 4135, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "state", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4078, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4135, + "src": "13084:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4077, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13084:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13083:15:15" + }, + "returnParameters": { + "id": 4082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4081, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4135, + "src": "13120:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 4080, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "13120:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13119:6:15" + }, + "scope": 4610, + "src": "13069:585:15", + "stateMutability": "view", + "superFunction": 4677, + "visibility": "public" + }, + { + "body": { + "id": 4150, + "nodeType": "Block", + "src": "14059:58:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4144, + "name": "_timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4139, + "src": "14076:10:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4146, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4137, + "src": "14104:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4145, + "name": "getAllowedTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4174, + "src": "14089:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14089:21:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14076:34:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4143, + "id": 4149, + "nodeType": "Return", + "src": "14069:41:15" + } + ] + }, + "documentation": "@dev Determines if a name is available for registration yet\n * Each name will be assigned a random date in which its auction\ncan be started, from 0 to 8 weeks\n * @param _hash The hash to start an auction on\n@param _timestamp The timestamp to query about", + "id": 4151, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAllowed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4137, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4151, + "src": "13992:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4136, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13992:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4139, + "name": "_timestamp", + "nodeType": "VariableDeclaration", + "scope": 4151, + "src": "14007:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4138, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14007:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13991:32:15" + }, + "returnParameters": { + "id": 4143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4142, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 4151, + "src": "14045:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4141, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14045:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14044:14:15" + }, + "scope": 4610, + "src": "13973:144:15", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4173, + "nodeType": "Block", + "src": "14424:140:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4158, + "name": "registryStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3170, + "src": "14441:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4159, + "name": "launchLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3165, + "src": "14461:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4161, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4153, + "src": "14482:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4160, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14477:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 4162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14477:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313238", + "id": 4163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14492:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "14477:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4165, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14476:20:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14461:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4167, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14460:37:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313238", + "id": 4168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14501:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "14460:44:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4170, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14459:46:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14441:64:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4157, + "id": 4172, + "nodeType": "Return", + "src": "14434:71:15" + } + ] + }, + "documentation": "@dev Returns available date for hash\n * The available time from the `registryStarted` for a hash is proportional\nto its numeric value.\n * @param _hash The hash to start an auction on", + "id": 4174, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAllowedTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4153, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4174, + "src": "14382:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4152, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14382:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14381:15:15" + }, + "returnParameters": { + "id": 4157, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4156, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4174, + "src": "14418:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4155, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14418:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14417:6:15" + }, + "scope": 4610, + "src": "14358:206:15", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4197, + "nodeType": "Block", + "src": "14954:77:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4190, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4176, + "src": "14998:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4191, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4178, + "src": "15004:5:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4192, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4180, + "src": "15011:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4193, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4182, + "src": "15018:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4188, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "14981:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14981:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14981:42:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4187, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "14971:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14971:53:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 4186, + "id": 4196, + "nodeType": "Return", + "src": "14964:60:15" + } + ] + }, + "documentation": "@dev Hash the values required for a secret bid\n * @param hash The node corresponding to the desired namehash\n@param value The bid amount\n@param salt A random value to ensure secrecy of the bid\n@return The hash of the bid values", + "id": 4198, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "shaBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4183, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4176, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4198, + "src": "14869:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4175, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14869:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4178, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4198, + "src": "14883:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4177, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14883:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4180, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 4198, + "src": "14898:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4179, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14898:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4182, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 4198, + "src": "14910:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4181, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14910:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14868:55:15" + }, + "returnParameters": { + "id": 4186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4185, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4198, + "src": "14945:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4184, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14945:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14944:9:15" + }, + "scope": 4610, + "src": "14853:178:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4251, + "nodeType": "Block", + "src": "15090:302:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4205, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "15114:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4203, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "15104:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "15104:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 4206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15104:19:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4208, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "15135:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 4207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15127:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15127:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15104:36:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4250, + "nodeType": "IfStatement", + "src": "15100:286:15", + "trueBody": { + "id": 4249, + "nodeType": "Block", + "src": "15142:244:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4214, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "15176:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4215, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4200, + "src": "15186:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4217, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "15201:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 4216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15193:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15193:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4211, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "15156:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "15156:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 4219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15156:51:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4220, + "nodeType": "ExpressionStatement", + "src": "15156:51:15" + }, + { + "assignments": [ + 4222 + ], + "declarations": [ + { + "constant": false, + "id": 4222, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 4249, + "src": "15221:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4221, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15221:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4230, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4226, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "15263:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4227, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4200, + "src": "15273:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4224, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "15246:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15246:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15246:33:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4223, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "15236:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15236:44:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15221:59:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4234, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4222, + "src": "15310:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 4236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15324:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15316:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15316:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 4231, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "15294:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "15294:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 4238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15294:35:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4239, + "nodeType": "ExpressionStatement", + "src": "15294:35:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4243, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4222, + "src": "15356:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 4245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15370:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15362:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15362:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 4240, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "15343:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2564, + "src": "15343:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 4247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15343:32:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4248, + "nodeType": "ExpressionStatement", + "src": "15343:32:15" + } + ] + } + } + ] + }, + "documentation": null, + "id": 4252, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_tryEraseSingleNode", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4200, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 4252, + "src": "15066:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4199, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15066:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15065:15:15" + }, + "returnParameters": { + "id": 4202, + "nodeType": "ParameterList", + "parameters": [], + "src": "15090:0:15" + }, + "scope": 4610, + "src": "15037:355:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4310, + "nodeType": "Block", + "src": "15460:366:15", + "statements": [ + { + "assignments": [ + 4260 + ], + "declarations": [ + { + "constant": false, + "id": 4260, + "name": "mode", + "nodeType": "VariableDeclaration", + "scope": 4310, + "src": "15470:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 4259, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "15470:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4264, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4262, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4254, + "src": "15488:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4261, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "15482:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 4263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15482:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15470:24:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 4268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4265, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4260, + "src": "15508:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4266, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "15516:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Auction", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15516:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "15508:20:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4270, + "nodeType": "IfStatement", + "src": "15504:33:15", + "trueBody": { + "expression": null, + "functionReturnParameters": 4258, + "id": 4269, + "nodeType": "Return", + "src": "15530:7:15" + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 4275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4272, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4260, + "src": "15554:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4273, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "15562:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Open", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15562:9:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "15554:17:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4271, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "15546:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15546:26:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4277, + "nodeType": "ExpressionStatement", + "src": "15546:26:15" + }, + { + "assignments": [ + 4279 + ], + "declarations": [ + { + "constant": false, + "id": 4279, + "name": "newAuction", + "nodeType": "VariableDeclaration", + "scope": 4310, + "src": "15583:24:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 4278, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "15583:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4283, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4280, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "15610:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 4282, + "indexExpression": { + "argumentTypes": null, + "id": 4281, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4254, + "src": "15619:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15610:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15583:42:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4284, + "name": "newAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4279, + "src": "15635:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4286, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "15635:27:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4287, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "15665:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 4288, + "name": "totalAuctionLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3159, + "src": "15671:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "15665:24:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15635:54:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4291, + "nodeType": "ExpressionStatement", + "src": "15635:54:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4292, + "name": "newAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4279, + "src": "15699:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "15699:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15718:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15699:20:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4297, + "nodeType": "ExpressionStatement", + "src": "15699:20:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4298, + "name": "newAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4279, + "src": "15729:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "15729:21:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15753:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15729:25:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4303, + "nodeType": "ExpressionStatement", + "src": "15729:25:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4305, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4254, + "src": "15784:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4306, + "name": "newAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4279, + "src": "15791:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4307, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "15791:27:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4304, + "name": "AuctionStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4626, + "src": "15769:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 4308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15769:50:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4309, + "nodeType": "EmitStatement", + "src": "15764:55:15" + } + ] + }, + "documentation": null, + "id": 4311, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [], + "id": 4257, + "modifierName": { + "argumentTypes": null, + "id": 4256, + "name": "registryOpen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3250, + "src": "15445:12:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "15445:14:15" + } + ], + "name": "_startAuction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4254, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4311, + "src": "15421:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4253, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15421:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15420:15:15" + }, + "returnParameters": { + "id": 4258, + "nodeType": "ParameterList", + "parameters": [], + "src": "15460:0:15" + }, + "scope": 4610, + "src": "15398:428:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4336, + "nodeType": "Block", + "src": "15891:109:15", + "statements": [ + { + "body": { + "id": 4334, + "nodeType": "Block", + "src": "15944:50:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4329, + "name": "_hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "15972:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4331, + "indexExpression": { + "argumentTypes": null, + "id": 4330, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "15980:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15972:10:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4328, + "name": "_startAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4311, + "src": "15958:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 4332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15958:25:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4333, + "nodeType": "ExpressionStatement", + "src": "15958:25:15" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4321, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "15918:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4322, + "name": "_hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "15922:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15922:14:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15918:18:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4335, + "initializationExpression": { + "assignments": [ + 4318 + ], + "declarations": [ + { + "constant": false, + "id": 4318, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 4335, + "src": "15906:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4317, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15906:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4320, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 4319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15915:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "15906:10:15" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 4326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15938:4:15", + "subExpression": { + "argumentTypes": null, + "id": 4325, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "15938:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4327, + "nodeType": "ExpressionStatement", + "src": "15938:4:15" + }, + "nodeType": "ForStatement", + "src": "15901:93:15" + } + ] + }, + "documentation": null, + "id": 4337, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_startAuctions", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4314, + "name": "_hashes", + "nodeType": "VariableDeclaration", + "scope": 4337, + "src": "15856:24:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4312, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15856:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4313, + "length": null, + "nodeType": "ArrayTypeName", + "src": "15856:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15855:26:15" + }, + "returnParameters": { + "id": 4316, + "nodeType": "ParameterList", + "parameters": [], + "src": "15891:0:15" + }, + "scope": 4610, + "src": "15832:168:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4394, + "nodeType": "Block", + "src": "16051:357:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4344, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "16077:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 4347, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4345, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16088:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16088:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16077:22:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 4349, + "indexExpression": { + "argumentTypes": null, + "id": 4348, + "name": "sealedBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4339, + "src": "16100:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16077:33:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 4343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16069:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16069:42:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 4352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16123:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16115:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16115:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "16069:58:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4342, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "16061:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16061:67:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4356, + "nodeType": "ExpressionStatement", + "src": "16061:67:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4358, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16146:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16146:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 4360, + "name": "minPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3168, + "src": "16159:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16146:21:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4357, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "16138:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16138:30:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4363, + "nodeType": "ExpressionStatement", + "src": "16138:30:15" + }, + { + "assignments": [ + 4365 + ], + "declarations": [ + { + "constant": false, + "id": 4365, + "name": "bid", + "nodeType": "VariableDeclaration", + "scope": 4394, + "src": "16233:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 4364, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "16233:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4376, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4373, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16286:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16286:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4370, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16275:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16275:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 4367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "16245:22:15", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_payable$_t_address_payable_$returns$_t_contract$_DeedImplementation_$2479_$", + "typeString": "function (address payable) payable returns (contract DeedImplementation)" + }, + "typeName": { + "contractScope": null, + "id": 4366, + "name": "DeedImplementation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2479, + "src": "16249:18:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + } + } + ], + "id": 4368, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16244:24:15", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_payable$_t_address_payable_$returns$_t_contract$_DeedImplementation_$2479_$", + "typeString": "function (address payable) payable returns (contract DeedImplementation)" + } + }, + "id": 4369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16244:30:15", + "typeDescriptions": { + "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_creation_payable$_t_address_payable_$returns$_t_contract$_DeedImplementation_$2479_$value_$", + "typeString": "function (uint256) pure returns (function (address payable) payable returns (contract DeedImplementation))" + } + }, + "id": 4372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16244:41:15", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_payable$_t_address_payable_$returns$_t_contract$_DeedImplementation_$2479_$value", + "typeString": "function (address payable) payable returns (contract DeedImplementation)" + } + }, + "id": 4375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16244:53:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16233:64:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4377, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "16307:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 4381, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4378, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16318:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16318:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16307:22:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 4382, + "indexExpression": { + "argumentTypes": null, + "id": 4380, + "name": "sealedBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4339, + "src": "16330:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16307:33:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4383, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4365, + "src": "16343:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "16307:39:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 4385, + "nodeType": "ExpressionStatement", + "src": "16307:39:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4387, + "name": "sealedBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4339, + "src": "16368:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4388, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16379:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16379:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4390, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16391:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16391:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4386, + "name": "NewBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4634, + "src": "16361:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256)" + } + }, + "id": 4392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16361:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4393, + "nodeType": "EmitStatement", + "src": "16356:45:15" + } + ] + }, + "documentation": null, + "id": 4395, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_newBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4340, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4339, + "name": "sealedBid", + "nodeType": "VariableDeclaration", + "scope": 4395, + "src": "16023:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4338, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16023:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16022:19:15" + }, + "returnParameters": { + "id": 4341, + "nodeType": "ParameterList", + "parameters": [], + "src": "16051:0:15" + }, + "scope": 4610, + "src": "16006:402:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4460, + "nodeType": "Block", + "src": "16501:441:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4408, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16569:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4409, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4400, + "src": "16575:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4411, + "indexExpression": { + "argumentTypes": null, + "id": 4410, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "16582:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16575:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4413, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "16596:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 4412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16588:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16588:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4405, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "16549:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "16549:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 4415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16549:53:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4416, + "nodeType": "ExpressionStatement", + "src": "16549:53:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4417, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16612:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4421, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16646:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4422, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4400, + "src": "16652:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4424, + "indexExpression": { + "argumentTypes": null, + "id": 4423, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "16659:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16652:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4419, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "16629:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16629:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16629:35:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4418, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "16619:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16619:46:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16612:53:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4428, + "nodeType": "ExpressionStatement", + "src": "16612:53:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4429, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "16724:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16730:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16724:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4441, + "nodeType": "IfStatement", + "src": "16720:80:15", + "trueBody": { + "id": 4440, + "nodeType": "Block", + "src": "16733:67:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4433, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "16767:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 4434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16773:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "16767:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4436, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4400, + "src": "16776:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "argumentTypes": null, + "id": 4437, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16784:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4432, + "name": "_eraseNodeHierarchy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "16747:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (uint256,bytes32[] memory,bytes32)" + } + }, + "id": 4438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16747:42:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4439, + "nodeType": "ExpressionStatement", + "src": "16747:42:15" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4445, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16874:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 4447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16888:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16880:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16880:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 4442, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "16858:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "16858:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 4449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16858:35:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4450, + "nodeType": "ExpressionStatement", + "src": "16858:35:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4454, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16916:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 4456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16930:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16922:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16922:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 4451, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "16903:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2564, + "src": "16903:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 4458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16903:32:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4459, + "nodeType": "ExpressionStatement", + "src": "16903:32:15" + } + ] + }, + "documentation": null, + "id": 4461, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_eraseNodeHierarchy", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4397, + "name": "idx", + "nodeType": "VariableDeclaration", + "scope": 4461, + "src": "16443:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4396, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16443:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4400, + "name": "labels", + "nodeType": "VariableDeclaration", + "scope": 4461, + "src": "16453:23:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4398, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16453:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4399, + "length": null, + "nodeType": "ArrayTypeName", + "src": "16453:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4402, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 4461, + "src": "16478:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4401, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16478:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16442:49:15" + }, + "returnParameters": { + "id": 4404, + "nodeType": "ParameterList", + "parameters": [], + "src": "16501:0:15" + }, + "scope": 4610, + "src": "16414:528:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4485, + "nodeType": "Block", + "src": "17198:118:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4470, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "17222:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4468, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "17212:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "17212:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 4471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17212:19:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4473, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "17243:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 4472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17235:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17235:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17212:36:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4484, + "nodeType": "IfStatement", + "src": "17208:101:15", + "trueBody": { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4479, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "17282:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4480, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4463, + "src": "17292:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4481, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4465, + "src": "17299:9:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4476, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "17262:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "17262:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 4482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17262:47:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4483, + "nodeType": "ExpressionStatement", + "src": "17262:47:15" + } + } + ] + }, + "documentation": "@dev Assign the owner in ENS, if we're still the registrar\n * @param _hash hash to change owner\n@param _newOwner new owner to transfer to", + "id": 4486, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "trySetSubnodeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4463, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4486, + "src": "17155:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4462, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17155:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4465, + "name": "_newOwner", + "nodeType": "VariableDeclaration", + "scope": 4486, + "src": "17170:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4464, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17170:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17154:34:15" + }, + "returnParameters": { + "id": 4467, + "nodeType": "ParameterList", + "parameters": [], + "src": "17198:0:15" + }, + "scope": 4610, + "src": "17127:189:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4503, + "nodeType": "Block", + "src": "17584:83:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4495, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4488, + "src": "17598:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 4496, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4490, + "src": "17602:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17598:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "expression": { + "argumentTypes": null, + "id": 4500, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4490, + "src": "17659:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4494, + "id": 4501, + "nodeType": "Return", + "src": "17652:8:15" + }, + "id": 4502, + "nodeType": "IfStatement", + "src": "17594:66:15", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 4498, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4488, + "src": "17624:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4494, + "id": 4499, + "nodeType": "Return", + "src": "17617:8:15" + } + } + ] + }, + "documentation": "@dev Returns the maximum of two unsigned integers\n * @param a A number to compare\n@param b A number to compare\n@return The maximum of two unsigned integers", + "id": 4504, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "max", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4488, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 4504, + "src": "17539:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4487, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17539:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4490, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 4504, + "src": "17547:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4489, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17547:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17538:16:15" + }, + "returnParameters": { + "id": 4494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4493, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4504, + "src": "17578:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4492, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17578:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17577:6:15" + }, + "scope": 4610, + "src": "17526:141:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4521, + "nodeType": "Block", + "src": "17935:83:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4513, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4506, + "src": "17949:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 4514, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4508, + "src": "17953:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17949:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "expression": { + "argumentTypes": null, + "id": 4518, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4508, + "src": "18010:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4512, + "id": 4519, + "nodeType": "Return", + "src": "18003:8:15" + }, + "id": 4520, + "nodeType": "IfStatement", + "src": "17945:66:15", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 4516, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4506, + "src": "17975:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4512, + "id": 4517, + "nodeType": "Return", + "src": "17968:8:15" + } + } + ] + }, + "documentation": "@dev Returns the minimum of two unsigned integers\n * @param a A number to compare\n@param b A number to compare\n@return The minimum of two unsigned integers", + "id": 4522, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "min", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4506, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "17890:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4505, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17890:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4508, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "17898:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4507, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17898:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17889:16:15" + }, + "returnParameters": { + "id": 4512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4511, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "17929:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4510, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17929:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17928:6:15" + }, + "scope": 4610, + "src": "17877:141:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4608, + "nodeType": "Block", + "src": "18256:779:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4529, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4524, + "src": "18266:1:15", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 4530, + "nodeType": "ExpressionStatement", + "src": "18266:1:15" + }, + { + "assignments": [ + 4532 + ], + "declarations": [ + { + "constant": false, + "id": 4532, + "name": "ptr", + "nodeType": "VariableDeclaration", + "scope": 4608, + "src": "18384:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4531, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18384:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4533, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "18384:8:15" + }, + { + "assignments": [ + 4535 + ], + "declarations": [ + { + "constant": false, + "id": 4535, + "name": "end", + "nodeType": "VariableDeclaration", + "scope": 4608, + "src": "18402:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4534, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18402:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4536, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "18402:8:15" + }, + { + "externalReferences": [ + { + "ptr": { + "declaration": 4532, + "isOffset": false, + "isSlot": false, + "src": "18443:3:15", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 4524, + "isOffset": false, + "isSlot": false, + "src": "18454:1:15", + "valueSize": 1 + } + }, + { + "end": { + "declaration": 4535, + "isOffset": false, + "isSlot": false, + "src": "18472:3:15", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 4524, + "isOffset": false, + "isSlot": false, + "src": "18489:1:15", + "valueSize": 1 + } + }, + { + "ptr": { + "declaration": 4532, + "isOffset": false, + "isSlot": false, + "src": "18493:3:15", + "valueSize": 1 + } + } + ], + "id": 4537, + "nodeType": "InlineAssembly", + "operations": "{\n ptr := add(s, 1)\n end := add(mload(s), ptr)\n}", + "src": "18420:87:15" + }, + { + "assignments": [ + 4539 + ], + "declarations": [ + { + "constant": false, + "id": 4539, + "name": "len", + "nodeType": "VariableDeclaration", + "scope": 4608, + "src": "18516:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4538, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18516:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4541, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 4540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18527:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "18516:12:15" + }, + { + "body": { + "id": 4604, + "nodeType": "Block", + "src": "18566:443:15", + "statements": [ + { + "assignments": [ + 4551 + ], + "declarations": [ + { + "constant": false, + "id": 4551, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 4604, + "src": "18580:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4550, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "18580:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4552, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "18580:7:15" + }, + { + "externalReferences": [ + { + "b": { + "declaration": 4551, + "isOffset": false, + "isSlot": false, + "src": "18612:1:15", + "valueSize": 1 + } + }, + { + "ptr": { + "declaration": 4532, + "isOffset": false, + "isSlot": false, + "src": "18627:3:15", + "valueSize": 1 + } + } + ], + "id": 4553, + "nodeType": "InlineAssembly", + "operations": "{ b := and(mload(ptr), 0xFF) }", + "src": "18601:39:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4554, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4551, + "src": "18657:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783830", + "id": 4555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18661:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "0x80" + }, + "src": "18657:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4562, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4551, + "src": "18718:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30784530", + "id": 4563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18722:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_224_by_1", + "typeString": "int_const 224" + }, + "value": "0xE0" + }, + "src": "18718:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4570, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4551, + "src": "18779:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30784630", + "id": 4571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18783:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_240_by_1", + "typeString": "int_const 240" + }, + "value": "0xF0" + }, + "src": "18779:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4578, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4551, + "src": "18840:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30784638", + "id": 4579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18844:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_248_by_1", + "typeString": "int_const 248" + }, + "value": "0xF8" + }, + "src": "18840:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4586, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4551, + "src": "18901:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30784643", + "id": 4587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18905:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_252_by_1", + "typeString": "int_const 252" + }, + "value": "0xFC" + }, + "src": "18901:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4598, + "nodeType": "Block", + "src": "18958:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4594, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18976:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "36", + "id": 4595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18983:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "src": "18976:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4597, + "nodeType": "ExpressionStatement", + "src": "18976:8:15" + } + ] + }, + "id": 4599, + "nodeType": "IfStatement", + "src": "18897:102:15", + "trueBody": { + "id": 4593, + "nodeType": "Block", + "src": "18911:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4589, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18929:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 4590, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18936:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "18929:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4592, + "nodeType": "ExpressionStatement", + "src": "18929:8:15" + } + ] + } + }, + "id": 4600, + "nodeType": "IfStatement", + "src": "18836:163:15", + "trueBody": { + "id": 4585, + "nodeType": "Block", + "src": "18850:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4581, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18868:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "34", + "id": 4582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18875:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "18868:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4584, + "nodeType": "ExpressionStatement", + "src": "18868:8:15" + } + ] + } + }, + "id": 4601, + "nodeType": "IfStatement", + "src": "18775:224:15", + "trueBody": { + "id": 4577, + "nodeType": "Block", + "src": "18789:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4573, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18807:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 4574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18814:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "18807:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4576, + "nodeType": "ExpressionStatement", + "src": "18807:8:15" + } + ] + } + }, + "id": 4602, + "nodeType": "IfStatement", + "src": "18714:285:15", + "trueBody": { + "id": 4569, + "nodeType": "Block", + "src": "18728:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4565, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18746:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 4566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18753:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "18746:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4568, + "nodeType": "ExpressionStatement", + "src": "18746:8:15" + } + ] + } + }, + "id": 4603, + "nodeType": "IfStatement", + "src": "18653:346:15", + "trueBody": { + "id": 4561, + "nodeType": "Block", + "src": "18667:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4557, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18685:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 4558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18692:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "18685:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4560, + "nodeType": "ExpressionStatement", + "src": "18685:8:15" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4544, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18548:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 4545, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4535, + "src": "18554:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18548:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4605, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 4542, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4539, + "src": "18543:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4543, + "nodeType": "ExpressionStatement", + "src": "18543:3:15" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 4548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "18559:5:15", + "subExpression": { + "argumentTypes": null, + "id": 4547, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4539, + "src": "18559:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4549, + "nodeType": "ExpressionStatement", + "src": "18559:5:15" + }, + "nodeType": "ForStatement", + "src": "18538:471:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4606, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4539, + "src": "19025:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4528, + "id": 4607, + "nodeType": "Return", + "src": "19018:10:15" + } + ] + }, + "documentation": "@dev Returns the length of a given string\n * @param s The string to measure the length of\n@return The length of the input string", + "id": 4609, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "strlen", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4525, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4524, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 4609, + "src": "18210:15:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4523, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18210:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18209:17:15" + }, + "returnParameters": { + "id": 4528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4527, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4609, + "src": "18250:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4526, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18250:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18249:6:15" + }, + "scope": 4610, + "src": "18194:841:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 4611, + "src": "586:18452:15" + } + ], + "src": "0:19039:15" + }, + "legacyAST": { + "absolutePath": "@ensdomains/ens/contracts/HashRegistrar.sol", + "exportedSymbols": { + "HashRegistrar": [ + 4610 + ] + }, + "id": 4611, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3137, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:15" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "./ENS.sol", + "id": 3138, + "nodeType": "ImportDirective", + "scope": 4611, + "sourceUnit": 2617, + "src": "388:19:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/DeedImplementation.sol", + "file": "./DeedImplementation.sol", + "id": 3139, + "nodeType": "ImportDirective", + "scope": 4611, + "sourceUnit": 2480, + "src": "408:34:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Registrar.sol", + "file": "./Registrar.sol", + "id": 3140, + "nodeType": "ImportDirective", + "scope": 4611, + "sourceUnit": 4776, + "src": "443:25:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3141, + "name": "Registrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4775, + "src": "612:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 3142, + "nodeType": "InheritanceSpecifier", + "src": "612:9:15" + } + ], + "contractDependencies": [ + 2479, + 4775 + ], + "contractKind": "contract", + "documentation": "@title Registrar\n@dev The registrar handles the auction process for each subnode of the node it owns.", + "fullyImplemented": true, + "id": 4610, + "linearizedBaseContracts": [ + 4610, + 4775 + ], + "name": "HashRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3144, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "628:14:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 3143, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "628:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3146, + "name": "rootNode", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "648:23:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3145, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "648:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3150, + "name": "_entries", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "678:35:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry)" + }, + "typeName": { + "id": 3149, + "keyType": { + "id": 3147, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "687:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "678:26:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry)" + }, + "valueType": { + "contractScope": null, + "id": 3148, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "698:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3156, + "name": "sealedBids", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "719:64:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + }, + "typeName": { + "id": 3155, + "keyType": { + "id": 3151, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "728:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "719:46:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + }, + "valueType": { + "id": 3154, + "keyType": { + "id": 3152, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "748:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "739:25:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + }, + "valueType": { + "contractScope": null, + "id": 3153, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "759:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 3159, + "name": "totalAuctionLength", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "790:43:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 3157, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "790:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "35", + "id": 3158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "827:6:15", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_432000_by_1", + "typeString": "int_const 432000" + }, + "value": "5" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 3162, + "name": "revealPeriod", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "839:39:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 3160, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "839:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3438", + "id": 3161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "870:8:15", + "subdenomination": "hours", + "typeDescriptions": { + "typeIdentifier": "t_rational_172800_by_1", + "typeString": "int_const 172800" + }, + "value": "48" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 3165, + "name": "launchLength", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "884:45:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 3163, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "884:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "38", + "id": 3164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "922:7:15", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_4838400_by_1", + "typeString": "int_const 4838400" + }, + "value": "8" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 3168, + "name": "minPrice", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "936:35:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3166, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "936:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "302e3031", + "id": 3167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "961:10:15", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + }, + "value": "0.01" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3170, + "name": "registryStarted", + "nodeType": "VariableDeclaration", + "scope": 4610, + "src": "977:27:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3169, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "977:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "HashRegistrar.Entry", + "id": 3179, + "members": [ + { + "constant": false, + "id": 3172, + "name": "deed", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "1034:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 3171, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "1034:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3174, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "1053:21:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3173, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1053:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3176, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "1084:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3175, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1084:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3178, + "name": "highestBid", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "1104:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3177, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1104:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Entry", + "nodeType": "StructDefinition", + "scope": 4610, + "src": "1011:115:15", + "visibility": "public" + }, + { + "body": { + "id": 3194, + "nodeType": "Block", + "src": "1177:59:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 3190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3187, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3181, + "src": "1201:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3186, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "1195:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 3188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1195:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3189, + "name": "_state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "1211:6:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "1195:22:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3185, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1187:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1187:31:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3192, + "nodeType": "ExpressionStatement", + "src": "1187:31:15" + }, + { + "id": 3193, + "nodeType": "PlaceholderStatement", + "src": "1228:1:15" + } + ] + }, + "documentation": null, + "id": 3195, + "name": "inState", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3181, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "1149:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3180, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1149:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3183, + "name": "_state", + "nodeType": "VariableDeclaration", + "scope": 3195, + "src": "1164:11:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 3182, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "1164:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1148:28:15" + }, + "src": "1132:104:15", + "visibility": "internal" + }, + { + "body": { + "id": 3219, + "nodeType": "Block", + "src": "1276:109:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 3205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3201, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3197, + "src": "1300:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3200, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "1294:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 3202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1294:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3203, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "1310:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 3204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Owned", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1310:10:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "1294:26:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3206, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "1324:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1324:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3208, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "1338:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3210, + "indexExpression": { + "argumentTypes": null, + "id": 3209, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3197, + "src": "1347:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1338:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "id": 3211, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "1338:20:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2211, + "src": "1338:26:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1338:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1324:42:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1294:72:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3199, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1286:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1286:81:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3217, + "nodeType": "ExpressionStatement", + "src": "1286:81:15" + }, + { + "id": 3218, + "nodeType": "PlaceholderStatement", + "src": "1377:1:15" + } + ] + }, + "documentation": null, + "id": 3220, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3197, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3220, + "src": "1261:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3196, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1261:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1260:15:15" + }, + "src": "1242:143:15", + "visibility": "internal" + }, + { + "body": { + "id": 3249, + "nodeType": "Block", + "src": "1415:146:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3223, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "1433:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3224, + "name": "registryStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3170, + "src": "1440:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1433:22:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3226, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "1459:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3227, + "name": "registryStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3170, + "src": "1466:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_126144000_by_1", + "typeString": "int_const 126144000" + }, + "id": 3233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1460_by_1", + "typeString": "int_const 1460" + }, + "id": 3230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "333635", + "id": 3228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1485:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_365_by_1", + "typeString": "int_const 365" + }, + "value": "365" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 3229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1491:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "1485:7:15", + "typeDescriptions": { + "typeIdentifier": "t_rational_1460_by_1", + "typeString": "int_const 1460" + } + } + ], + "id": 3231, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1484:9:15", + "typeDescriptions": { + "typeIdentifier": "t_rational_1460_by_1", + "typeString": "int_const 1460" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 3232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1496:6:15", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "1" + }, + "src": "1484:18:15", + "typeDescriptions": { + "typeIdentifier": "t_rational_126144000_by_1", + "typeString": "int_const 126144000" + } + }, + "src": "1466:36:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1459:43:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1433:69:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3239, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "1516:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3237, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "1506:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1506:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1506:19:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3242, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "1537:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 3241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1529:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1529:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1506:36:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1433:109:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3222, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1425:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1425:118:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3247, + "nodeType": "ExpressionStatement", + "src": "1425:118:15" + }, + { + "id": 3248, + "nodeType": "PlaceholderStatement", + "src": "1553:1:15" + } + ] + }, + "documentation": null, + "id": 3250, + "name": "registryOpen", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3221, + "nodeType": "ParameterList", + "parameters": [], + "src": "1412:2:15" + }, + "src": "1391:170:15", + "visibility": "internal" + }, + { + "body": { + "id": 3276, + "nodeType": "Block", + "src": "1844:118:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3259, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "1854:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3260, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3252, + "src": "1860:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "src": "1854:10:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3262, + "nodeType": "ExpressionStatement", + "src": "1854:10:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3263, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "1874:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3264, + "name": "_rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3254, + "src": "1885:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1874:20:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3266, + "nodeType": "ExpressionStatement", + "src": "1874:20:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3267, + "name": "registryStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3170, + "src": "1904:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3268, + "name": "_startDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3256, + "src": "1922:10:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1935:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1922:14:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 3272, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "1952:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1922:33:15", + "trueExpression": { + "argumentTypes": null, + "id": 3271, + "name": "_startDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3256, + "src": "1939:10:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1904:51:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3275, + "nodeType": "ExpressionStatement", + "src": "1904:51:15" + } + ] + }, + "documentation": "@dev Constructs a new Registrar, with the provided address as the owner of the root node.\n * @param _ens The address of the ENS\n@param _rootNode The hash of the rootnode.", + "id": 3277, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3252, + "name": "_ens", + "nodeType": "VariableDeclaration", + "scope": 3277, + "src": "1791:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 3251, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1791:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3254, + "name": "_rootNode", + "nodeType": "VariableDeclaration", + "scope": 3277, + "src": "1801:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3253, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1801:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3256, + "name": "_startDate", + "nodeType": "VariableDeclaration", + "scope": 3277, + "src": "1820:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3255, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1820:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1790:46:15" + }, + "returnParameters": { + "id": 3258, + "nodeType": "ParameterList", + "parameters": [], + "src": "1844:0:15" + }, + "scope": 4610, + "src": "1779:183:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3286, + "nodeType": "Block", + "src": "2140:37:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3283, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3279, + "src": "2164:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3282, + "name": "_startAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4311, + "src": "2150:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2150:20:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3285, + "nodeType": "ExpressionStatement", + "src": "2150:20:15" + } + ] + }, + "documentation": "@dev Start an auction for an available hash\n * @param _hash The hash to start an auction on", + "id": 3287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "startAuction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3279, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3287, + "src": "2116:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3278, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2116:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2115:15:15" + }, + "returnParameters": { + "id": 3281, + "nodeType": "ParameterList", + "parameters": [], + "src": "2140:0:15" + }, + "scope": 4610, + "src": "2094:83:15", + "stateMutability": "nonpayable", + "superFunction": 4682, + "visibility": "external" + }, + { + "body": { + "id": 3297, + "nodeType": "Block", + "src": "2831:40:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3294, + "name": "_hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3290, + "src": "2856:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + ], + "id": 3293, + "name": "_startAuctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4337, + "src": "2841:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32[] memory)" + } + }, + "id": 3295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2841:23:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3296, + "nodeType": "ExpressionStatement", + "src": "2841:23:15" + } + ] + }, + "documentation": "@dev Start multiple auctions for better anonymity\n * Anyone can start an auction by sending an array of hashes that they want to bid for.\nArrays are sent so that someone can open up an auction for X dummy hashes when they\nare only really interested in bidding for one. This will increase the cost for an\nattacker to simply bid blindly on all new auctions. Dummy auctions that are\nopen but not bid on are closed after a week.\n * @param _hashes An array of hashes, at least one of which you presumably want to bid on", + "id": 3298, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "startAuctions", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3290, + "name": "_hashes", + "nodeType": "VariableDeclaration", + "scope": 3298, + "src": "2794:26:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3288, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2794:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3289, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2794:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2793:28:15" + }, + "returnParameters": { + "id": 3292, + "nodeType": "ParameterList", + "parameters": [], + "src": "2831:0:15" + }, + "scope": 4610, + "src": "2771:100:15", + "stateMutability": "nonpayable", + "superFunction": 4688, + "visibility": "external" + }, + { + "body": { + "id": 3307, + "nodeType": "Block", + "src": "3779:35:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3304, + "name": "sealedBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3300, + "src": "3797:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3303, + "name": "_newBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "3789:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3789:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3306, + "nodeType": "ExpressionStatement", + "src": "3789:18:15" + } + ] + }, + "documentation": "@dev Submit a new sealed bid on a desired hash in a blind auction\n * Bids are sent by sending a message to the main contract with a hash and an amount. The hash\ncontains information about the bid, including the bidded hash, the bid amount, and a random\nsalt. Bids are not tied to any one auction until they are revealed. The value of the bid\nitself can be masqueraded by sending more than the value of your actual bid. This is\nfollowed by a 48h reveal period. Bids revealed after this period will be burned and the ether unrecoverable.\nSince this is an auction, it is expected that most public hashes, like known domains and common dictionary\nwords, will have multiple bidders pushing the price up.\n * @param sealedBid A sealedBid, created by the shaBid function", + "id": 3308, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "newBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3301, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3300, + "name": "sealedBid", + "nodeType": "VariableDeclaration", + "scope": 3308, + "src": "3743:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3299, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3743:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3742:19:15" + }, + "returnParameters": { + "id": 3302, + "nodeType": "ParameterList", + "parameters": [], + "src": "3779:0:15" + }, + "scope": 4610, + "src": "3727:87:15", + "stateMutability": "payable", + "superFunction": 4693, + "visibility": "external" + }, + { + "body": { + "id": 3324, + "nodeType": "Block", + "src": "4248:67:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3317, + "name": "hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3311, + "src": "4273:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + ], + "id": 3316, + "name": "_startAuctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4337, + "src": "4258:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32[] memory)" + } + }, + "id": 3318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4258:22:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3319, + "nodeType": "ExpressionStatement", + "src": "4258:22:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3321, + "name": "sealedBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3313, + "src": "4298:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3320, + "name": "_newBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "4290:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4290:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3323, + "nodeType": "ExpressionStatement", + "src": "4290:18:15" + } + ] + }, + "documentation": "@dev Start a set of auctions and bid on one of them\n * This method functions identically to calling `startAuctions` followed by `newBid`,\nbut all in one transaction.\n * @param hashes A list of hashes to start auctions on.\n@param sealedBid A sealed bid for one of the auctions.", + "id": 3325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "startAuctionsAndBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3311, + "name": "hashes", + "nodeType": "VariableDeclaration", + "scope": 3325, + "src": "4185:25:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3309, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4185:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3310, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4185:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3313, + "name": "sealedBid", + "nodeType": "VariableDeclaration", + "scope": 3325, + "src": "4212:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3312, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4212:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4184:46:15" + }, + "returnParameters": { + "id": 3315, + "nodeType": "ParameterList", + "parameters": [], + "src": "4248:0:15" + }, + "scope": 4610, + "src": "4156:159:15", + "stateMutability": "payable", + "superFunction": 4701, + "visibility": "external" + }, + { + "body": { + "id": 3556, + "nodeType": "Block", + "src": "4618:1904:15", + "statements": [ + { + "assignments": [ + 3335 + ], + "declarations": [ + { + "constant": false, + "id": 3335, + "name": "seal", + "nodeType": "VariableDeclaration", + "scope": 3556, + "src": "4628:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3334, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4628:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3343, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3337, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "4650:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3338, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4657:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4657:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3340, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "4669:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3341, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3331, + "src": "4677:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3336, + "name": "shaBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4198, + "src": "4643:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,address,uint256,bytes32) pure returns (bytes32)" + } + }, + "id": 3342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4643:40:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4628:55:15" + }, + { + "assignments": [ + 3345 + ], + "declarations": [ + { + "constant": false, + "id": 3345, + "name": "bid", + "nodeType": "VariableDeclaration", + "scope": 3556, + "src": "4693:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 3344, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "4693:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3352, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3346, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "4704:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 3349, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3347, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4715:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4715:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4704:22:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 3351, + "indexExpression": { + "argumentTypes": null, + "id": 3350, + "name": "seal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3335, + "src": "4727:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4704:28:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4693:39:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3355, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "4758:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 3354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4750:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4750:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4774:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4766:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4766:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4750:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3353, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4742:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4742:37:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3362, + "nodeType": "ExpressionStatement", + "src": "4742:37:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3363, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "4790:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 3367, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3364, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "4801:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4801:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4790:22:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 3368, + "indexExpression": { + "argumentTypes": null, + "id": 3366, + "name": "seal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3335, + "src": "4813:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4790:28:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4834:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4826:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4826:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 3369, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "4821:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 3373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4821:18:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "4790:49:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3375, + "nodeType": "ExpressionStatement", + "src": "4790:49:15" + }, + { + "assignments": [ + 3377 + ], + "declarations": [ + { + "constant": false, + "id": 3377, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 3556, + "src": "4849:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3376, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "4849:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3381, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3378, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "4867:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3380, + "indexExpression": { + "argumentTypes": null, + "id": 3379, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "4876:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4867:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4849:33:15" + }, + { + "assignments": [ + 3383 + ], + "declarations": [ + { + "constant": false, + "id": 3383, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3556, + "src": "4892:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3382, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4892:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3390, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3385, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "4909:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 3386, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "4917:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2221, + "src": "4917:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 3388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4917:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3384, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4522, + "src": "4905:3:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4905:24:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4892:37:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3394, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "4954:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4961:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "id": 3391, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "4939:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 2198, + "src": "4939:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (uint256,bool) external" + } + }, + "id": 3396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4939:27:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3397, + "nodeType": "ExpressionStatement", + "src": "4939:27:15" + }, + { + "assignments": [ + 3399 + ], + "declarations": [ + { + "constant": false, + "id": 3399, + "name": "auctionState", + "nodeType": "VariableDeclaration", + "scope": 3556, + "src": "4977:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 3398, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "4977:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3403, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3401, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "5003:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3400, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "4997:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 3402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4997:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4977:32:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 3407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3404, + "name": "auctionState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3399, + "src": "5023:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3405, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "5039:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 3406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Owned", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5039:10:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "5023:26:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 3426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3423, + "name": "auctionState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3399, + "src": "5226:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3424, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "5242:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 3425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Reveal", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5242:11:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "5226:27:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3431, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "5327:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3432, + "name": "minPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3168, + "src": "5335:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5327:16:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 3434, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "5347:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "creationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2226, + "src": "5347:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 3436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5347:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3437, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5368:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "5368:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 3439, + "name": "revealPeriod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3162, + "src": "5389:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "5368:33:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5347:54:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5327:74:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3458, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "5568:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3459, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5576:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3460, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "5576:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5568:20:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3511, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6166:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3512, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "6174:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3513, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "6174:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6166:15:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3550, + "nodeType": "Block", + "src": "6372:144:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "393935", + "id": 3539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6442:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + }, + "value": "995" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + } + ], + "expression": { + "argumentTypes": null, + "id": 3536, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "6428:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "6428:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6428:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3541, + "nodeType": "ExpressionStatement", + "src": "6428:18:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3543, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "6477:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3544, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "6484:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6484:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3546, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6496:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "34", + "id": 3547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6503:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + } + ], + "id": 3542, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "6465:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6465:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3549, + "nodeType": "EmitStatement", + "src": "6460:45:15" + } + ] + }, + "id": 3551, + "nodeType": "IfStatement", + "src": "6162:354:15", + "trueBody": { + "id": 3535, + "nodeType": "Block", + "src": "6183:183:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3515, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "6249:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3517, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "6249:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3518, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6259:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6249:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3520, + "nodeType": "ExpressionStatement", + "src": "6249:15:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "393935", + "id": 3524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6292:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + }, + "value": "995" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + } + ], + "expression": { + "argumentTypes": null, + "id": 3521, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "6278:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "6278:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6278:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3526, + "nodeType": "ExpressionStatement", + "src": "6278:18:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3528, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "6327:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3529, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "6334:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6334:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3531, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6346:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "33", + "id": 3532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6353:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + } + ], + "id": 3527, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "6315:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6315:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3534, + "nodeType": "EmitStatement", + "src": "6310:45:15" + } + ] + } + }, + "id": 3552, + "nodeType": "IfStatement", + "src": "5564:952:15", + "trueBody": { + "id": 3510, + "nodeType": "Block", + "src": "5590:566:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3463, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5692:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "5692:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 3462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5684:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5684:15:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5711:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5703:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5703:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "5684:31:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3482, + "nodeType": "IfStatement", + "src": "5680:145:15", + "trueBody": { + "id": 3481, + "nodeType": "Block", + "src": "5717:108:15", + "statements": [ + { + "assignments": [ + 3471 + ], + "declarations": [ + { + "constant": false, + "id": 3471, + "name": "previousWinner", + "nodeType": "VariableDeclaration", + "scope": 3481, + "src": "5735:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 3470, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "5735:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3474, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3472, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5757:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3473, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "5757:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5735:28:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "393935", + "id": 3478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5806:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + }, + "value": "995" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + } + ], + "expression": { + "argumentTypes": null, + "id": 3475, + "name": "previousWinner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3471, + "src": "5781:14:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "5781:24:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5781:29:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3480, + "nodeType": "ExpressionStatement", + "src": "5781:29:15" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3483, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5962:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3485, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "5962:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3486, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "5972:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3487, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "5972:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5962:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3489, + "nodeType": "ExpressionStatement", + "src": "5962:22:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3490, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "6040:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3492, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "6040:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3493, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6055:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6040:20:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3495, + "nodeType": "ExpressionStatement", + "src": "6040:20:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3496, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "6074:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "6074:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3499, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "6083:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "6074:12:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3501, + "nodeType": "ExpressionStatement", + "src": "6074:12:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3503, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "6117:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3504, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "6124:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6124:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3506, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "6136:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "32", + "id": 3507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6143:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 3502, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "6105:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6105:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3509, + "nodeType": "EmitStatement", + "src": "6100:45:15" + } + ] + } + }, + "id": 3553, + "nodeType": "IfStatement", + "src": "5323:1193:15", + "trueBody": { + "id": 3457, + "nodeType": "Block", + "src": "5403:155:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "393935", + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5484:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + }, + "value": "995" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_995_by_1", + "typeString": "int_const 995" + } + ], + "expression": { + "argumentTypes": null, + "id": 3443, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "5470:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "5470:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5470:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3448, + "nodeType": "ExpressionStatement", + "src": "5470:18:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3450, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "5519:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3451, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "5526:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5526:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3453, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "5538:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5545:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3449, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "5507:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5507:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3456, + "nodeType": "EmitStatement", + "src": "5502:45:15" + } + ] + } + }, + "id": 3554, + "nodeType": "IfStatement", + "src": "5222:1294:15", + "trueBody": { + "id": 3430, + "nodeType": "Block", + "src": "5255:62:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3427, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6915, + 6916 + ], + "referencedDeclaration": 6915, + "src": "5298:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5298:8:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3429, + "nodeType": "ExpressionStatement", + "src": "5298:8:15" + } + ] + } + }, + "id": 3555, + "nodeType": "IfStatement", + "src": "5019:1497:15", + "trueBody": { + "id": 3422, + "nodeType": "Block", + "src": "5051:165:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "35", + "id": 3411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5144:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + } + ], + "expression": { + "argumentTypes": null, + "id": 3408, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3345, + "src": "5130:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "5130:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5130:16:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3413, + "nodeType": "ExpressionStatement", + "src": "5130:16:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3415, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "5177:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3416, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "5184:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5184:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 3418, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3383, + "src": "5196:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "31", + "id": 3419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5203:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 3414, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "5165:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5165:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3421, + "nodeType": "EmitStatement", + "src": "5160:45:15" + } + ] + } + } + ] + }, + "documentation": "@dev Submit the properties of a bid to reveal them\n * @param _hash The node in the sealedBid\n@param _value The bid amount in the sealedBid\n@param _salt The sale in the sealedBid", + "id": 3557, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsealBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3327, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3557, + "src": "4566:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4566:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3329, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3557, + "src": "4581:11:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3328, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4581:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3331, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 3557, + "src": "4594:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3330, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4594:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4565:43:15" + }, + "returnParameters": { + "id": 3333, + "nodeType": "ParameterList", + "parameters": [], + "src": "4618:0:15" + }, + "scope": 4610, + "src": "4547:1975:15", + "stateMutability": "nonpayable", + "superFunction": 4710, + "visibility": "external" + }, + { + "body": { + "id": 3622, + "nodeType": "Block", + "src": "6695:786:15", + "statements": [ + { + "assignments": [ + 3565 + ], + "declarations": [ + { + "constant": false, + "id": 3565, + "name": "bid", + "nodeType": "VariableDeclaration", + "scope": 3622, + "src": "6705:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 3564, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "6705:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3571, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3566, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "6716:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 3568, + "indexExpression": { + "argumentTypes": null, + "id": 3567, + "name": "bidder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "6727:6:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6716:18:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 3570, + "indexExpression": { + "argumentTypes": null, + "id": 3569, + "name": "seal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "6735:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6716:24:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6705:35:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3574, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3565, + "src": "7176:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 3573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7168:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7168:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7192:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7184:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7184:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7168:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3580, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "7200:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 3581, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3565, + "src": "7207:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "creationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2226, + "src": "7207:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 3583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7207:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 3584, + "name": "totalAuctionLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3159, + "src": "7228:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "7207:39:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 3586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7249:7:15", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_1209600_by_1", + "typeString": "int_const 1209600" + }, + "value": "2" + }, + "src": "7207:49:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7200:56:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7168:88:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3572, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "7160:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7160:97:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3591, + "nodeType": "ExpressionStatement", + "src": "7160:97:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3595, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "7347:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7347:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 3592, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3565, + "src": "7334:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2186, + "src": "7334:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable) external" + } + }, + "id": 3597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7334:24:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3598, + "nodeType": "ExpressionStatement", + "src": "7334:24:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "35", + "id": 3602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7382:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + } + ], + "expression": { + "argumentTypes": null, + "id": 3599, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3565, + "src": "7368:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "7368:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7368:16:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3604, + "nodeType": "ExpressionStatement", + "src": "7368:16:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3605, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "7394:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 3608, + "indexExpression": { + "argumentTypes": null, + "id": 3606, + "name": "bidder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "7405:6:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7394:18:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 3609, + "indexExpression": { + "argumentTypes": null, + "id": 3607, + "name": "seal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "7413:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7394:24:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7426:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3610, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "7421:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 3612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7421:7:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "7394:34:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3614, + "nodeType": "ExpressionStatement", + "src": "7394:34:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3616, + "name": "seal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "7455:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3617, + "name": "bidder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "7461:6:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7469:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "35", + "id": 3619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7472:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + } + ], + "id": 3615, + "name": "BidRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "7443:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint8)" + } + }, + "id": 3620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7443:31:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3621, + "nodeType": "EmitStatement", + "src": "7438:36:15" + } + ] + }, + "documentation": "@dev Cancel a bid\n * @param seal The value returned by the shaBid function", + "id": 3623, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "cancelBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3559, + "name": "bidder", + "nodeType": "VariableDeclaration", + "scope": 3623, + "src": "6656:14:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3558, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6656:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3561, + "name": "seal", + "nodeType": "VariableDeclaration", + "scope": 3623, + "src": "6672:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3560, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6672:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6655:30:15" + }, + "returnParameters": { + "id": 3563, + "nodeType": "ParameterList", + "parameters": [], + "src": "6695:0:15" + }, + "scope": 4610, + "src": "6637:844:15", + "stateMutability": "nonpayable", + "superFunction": 4717, + "visibility": "external" + }, + { + "body": { + "id": 3677, + "nodeType": "Block", + "src": "7707:356:15", + "statements": [ + { + "assignments": [ + 3632 + ], + "declarations": [ + { + "constant": false, + "id": 3632, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 3677, + "src": "7717:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3631, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "7717:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3636, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3633, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "7735:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3635, + "indexExpression": { + "argumentTypes": null, + "id": 3634, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3625, + "src": "7744:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7735:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7717:33:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3637, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "7849:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3639, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "7849:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3641, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "7863:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3642, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "7863:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3643, + "name": "minPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3168, + "src": "7872:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3640, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4504, + "src": "7859:3:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7859:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7849:32:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3646, + "nodeType": "ExpressionStatement", + "src": "7849:32:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3652, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "7909:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3653, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "7909:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7918:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3647, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "7891:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "7891:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 2198, + "src": "7891:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (uint256,bool) external" + } + }, + "id": 3655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7891:32:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3656, + "nodeType": "ExpressionStatement", + "src": "7891:32:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3658, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3625, + "src": "7953:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3659, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "7960:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3660, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "7960:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2211, + "src": "7960:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7960:14:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3657, + "name": "trySetSubnodeOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4486, + "src": "7934:18:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7934:41:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3664, + "nodeType": "ExpressionStatement", + "src": "7934:41:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3666, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3625, + "src": "8005:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3667, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "8012:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "8012:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2211, + "src": "8012:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8012:14:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3671, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "8028:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3672, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "8028:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3673, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "8037:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "8037:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3665, + "name": "HashRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4654, + "src": "7990:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256)" + } + }, + "id": 3675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7990:66:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3676, + "nodeType": "EmitStatement", + "src": "7985:71:15" + } + ] + }, + "documentation": "@dev Finalize an auction after the registration date has passed\n * @param _hash The hash of the name the auction is for", + "id": 3678, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 3628, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3625, + "src": "7700:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3629, + "modifierName": { + "argumentTypes": null, + "id": 3627, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3220, + "src": "7690:9:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "7690:16:15" + } + ], + "name": "finalizeAuction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3625, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3678, + "src": "7666:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3624, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7666:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7665:15:15" + }, + "returnParameters": { + "id": 3630, + "nodeType": "ParameterList", + "parameters": [], + "src": "7707:0:15" + }, + "scope": 4610, + "src": "7641:422:15", + "stateMutability": "nonpayable", + "superFunction": 4722, + "visibility": "external" + }, + { + "body": { + "id": 3715, + "nodeType": "Block", + "src": "8357:174:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 3693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3689, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3682, + "src": "8375:8:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8395:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8387:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8387:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8375:24:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3688, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8367:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8367:33:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3695, + "nodeType": "ExpressionStatement", + "src": "8367:33:15" + }, + { + "assignments": [ + 3697 + ], + "declarations": [ + { + "constant": false, + "id": 3697, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 3715, + "src": "8411:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3696, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "8411:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3701, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3698, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "8429:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3700, + "indexExpression": { + "argumentTypes": null, + "id": 3699, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3680, + "src": "8438:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8429:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8411:33:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3707, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3682, + "src": "8470:8:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3702, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3697, + "src": "8454:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3705, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "8454:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2186, + "src": "8454:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable) external" + } + }, + "id": 3708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8454:25:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3709, + "nodeType": "ExpressionStatement", + "src": "8454:25:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3711, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3680, + "src": "8508:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3712, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3682, + "src": "8515:8:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 3710, + "name": "trySetSubnodeOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4486, + "src": "8489:18:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8489:35:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3714, + "nodeType": "ExpressionStatement", + "src": "8489:35:15" + } + ] + }, + "documentation": "@dev The owner of a domain may transfer it to someone else at any time.\n * @param _hash The node to transfer\n@param newOwner The address to transfer ownership to", + "id": 3716, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 3685, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3680, + "src": "8350:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3686, + "modifierName": { + "argumentTypes": null, + "id": 3684, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3220, + "src": "8340:9:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "8340:16:15" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3680, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3716, + "src": "8290:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8290:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3682, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 3716, + "src": "8305:24:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 3681, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8305:15:15", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8289:41:15" + }, + "returnParameters": { + "id": 3687, + "nodeType": "ParameterList", + "parameters": [], + "src": "8357:0:15" + }, + "scope": 4610, + "src": "8272:259:15", + "stateMutability": "nonpayable", + "superFunction": 4729, + "visibility": "external" + }, + { + "body": { + "id": 3789, + "nodeType": "Block", + "src": "8797:382:15", + "statements": [ + { + "assignments": [ + 3725 + ], + "declarations": [ + { + "constant": false, + "id": 3725, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 3789, + "src": "8807:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3724, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "8807:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3729, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3726, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "8825:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3728, + "indexExpression": { + "argumentTypes": null, + "id": 3727, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3718, + "src": "8834:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8825:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8807:33:15" + }, + { + "assignments": [ + 3731 + ], + "declarations": [ + { + "constant": false, + "id": 3731, + "name": "deedContract", + "nodeType": "VariableDeclaration", + "scope": 3789, + "src": "8850:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 3730, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "8850:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3734, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3732, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "8870:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3733, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "8870:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8850:26:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3736, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "8895:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3737, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "8902:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3738, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "8902:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "333635", + "id": 3739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8923:8:15", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_31536000_by_1", + "typeString": "int_const 31536000" + }, + "value": "365" + }, + "src": "8902:29:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8895:36:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3744, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "8945:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3742, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "8935:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "8935:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8935:19:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3747, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "8966:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 3746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8958:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8958:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8935:36:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8895:76:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3735, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8887:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8887:85:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3752, + "nodeType": "ExpressionStatement", + "src": "8887:85:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3753, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "8983:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3755, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "8983:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 3756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8993:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8983:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3758, + "nodeType": "ExpressionStatement", + "src": "8983:11:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3759, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "9004:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3761, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "9004:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 3762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9019:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9004:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3764, + "nodeType": "ExpressionStatement", + "src": "9004:16:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3765, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "9030:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3767, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "9030:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9044:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3768, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "9039:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 3770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9039:7:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "9030:16:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3772, + "nodeType": "ExpressionStatement", + "src": "9030:16:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3774, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3718, + "src": "9077:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3773, + "name": "_tryEraseSingleNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4252, + "src": "9057:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9057:26:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3776, + "nodeType": "ExpressionStatement", + "src": "9057:26:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31303030", + "id": 3780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9116:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + } + ], + "expression": { + "argumentTypes": null, + "id": 3777, + "name": "deedContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3731, + "src": "9093:12:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "9093:22:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9093:28:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3782, + "nodeType": "ExpressionStatement", + "src": "9093:28:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3784, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3718, + "src": "9149:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3785, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "9156:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3786, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "9156:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3783, + "name": "HashReleased", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4660, + "src": "9136:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 3787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9136:28:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3788, + "nodeType": "EmitStatement", + "src": "9131:33:15" + } + ] + }, + "documentation": "@dev After some time, or if we're no longer the registrar, the owner can release\n the name and get their ether back.\n * @param _hash The node to release", + "id": 3790, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 3721, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3718, + "src": "8790:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3722, + "modifierName": { + "argumentTypes": null, + "id": 3720, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3220, + "src": "8780:9:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "8780:16:15" + } + ], + "name": "releaseDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3719, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3718, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 3790, + "src": "8756:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3717, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8756:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8755:15:15" + }, + "returnParameters": { + "id": 3723, + "nodeType": "ParameterList", + "parameters": [], + "src": "8797:0:15" + }, + "scope": 4610, + "src": "8735:444:15", + "stateMutability": "nonpayable", + "superFunction": 4734, + "visibility": "external" + }, + { + "body": { + "id": 3910, + "nodeType": "Block", + "src": "9704:675:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3807, + "name": "unhashedName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9729:12:15", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 3806, + "name": "strlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4609, + "src": "9722:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) pure returns (uint256)" + } + }, + "id": 3808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9722:20:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "36", + "id": 3809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9746:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "src": "9722:25:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3805, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9714:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9714:34:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3812, + "nodeType": "ExpressionStatement", + "src": "9714:34:15" + }, + { + "assignments": [ + 3814 + ], + "declarations": [ + { + "constant": false, + "id": 3814, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 3910, + "src": "9758:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3813, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9758:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3821, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3818, + "name": "unhashedName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9794:12:15", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 3816, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "9783:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9783:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9783:24:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3815, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9773:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9773:35:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9758:50:15" + }, + { + "assignments": [ + 3823 + ], + "declarations": [ + { + "constant": false, + "id": 3823, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 3910, + "src": "9819:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3822, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "9819:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3827, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3824, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "9837:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3826, + "indexExpression": { + "argumentTypes": null, + "id": 3825, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3814, + "src": "9846:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9837:14:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9819:32:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3829, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3814, + "src": "9882:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3828, + "name": "_tryEraseSingleNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4252, + "src": "9862:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9862:25:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3831, + "nodeType": "ExpressionStatement", + "src": "9862:25:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3833, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "9910:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3834, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "9910:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 3832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9902:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9902:15:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 3837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9929:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9921:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9921:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "9902:31:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3880, + "nodeType": "IfStatement", + "src": "9898:321:15", + "trueBody": { + "id": 3879, + "nodeType": "Block", + "src": "9935:284:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3840, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10050:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "10050:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3844, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10064:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3845, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "10064:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3846, + "name": "minPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3168, + "src": "10073:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3843, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4504, + "src": "10060:3:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10060:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10050:32:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3849, + "nodeType": "ExpressionStatement", + "src": "10050:32:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3855, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10114:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3856, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "10114:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 3857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10122:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "10114:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10125:5:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3850, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10096:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3853, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "10096:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 2198, + "src": "10096:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (uint256,bool) external" + } + }, + "id": 3860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10096:35:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3861, + "nodeType": "ExpressionStatement", + "src": "10096:35:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3867, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "10161:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10161:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3862, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10145:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3865, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "10145:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2186, + "src": "10145:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable) external" + } + }, + "id": 3869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10145:27:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3870, + "nodeType": "ExpressionStatement", + "src": "10145:27:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31303030", + "id": 3876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10203:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3871, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10186:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3874, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "10186:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "10186:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10186:22:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3878, + "nodeType": "ExpressionStatement", + "src": "10186:22:15" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3882, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3814, + "src": "10250:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3883, + "name": "unhashedName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "10256:12:15", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3884, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10270:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3885, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "10270:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3886, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10279:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3887, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "10279:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3881, + "name": "HashInvalidated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4670, + "src": "10234:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,string memory,uint256,uint256)" + } + }, + "id": 3888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10234:64:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3889, + "nodeType": "EmitStatement", + "src": "10229:69:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3890, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10309:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3892, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "10309:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 3893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10319:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10309:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3895, + "nodeType": "ExpressionStatement", + "src": "10309:11:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3896, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10330:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3898, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "10330:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 3899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10345:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10330:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3901, + "nodeType": "ExpressionStatement", + "src": "10330:16:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3902, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3823, + "src": "10356:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "10356:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10370:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3905, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "10365:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 3907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10365:7:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "10356:16:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3909, + "nodeType": "ExpressionStatement", + "src": "10356:16:15" + } + ] + }, + "documentation": "@dev Submit a name 6 characters long or less. If it has been registered,\n the submitter will earn 50% of the deed value. \n\n * We are purposefully handicapping the simplified registrar as a way \nto force it into being restructured in a few years.\n * @param unhashedName An invalid name to search for in the registry.", + "id": 3911, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3798, + "name": "unhashedName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9672:12:15", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 3796, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "9661:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9661:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9661:24:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3795, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9651:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9651:35:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3801, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "9688:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 3802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Owned", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9688:10:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + } + ], + "id": 3803, + "modifierName": { + "argumentTypes": null, + "id": 3794, + "name": "inState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3195, + "src": "9643:7:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_Mode_$4620_$", + "typeString": "modifier (bytes32,enum Registrar.Mode)" + } + }, + "nodeType": "ModifierInvocation", + "src": "9643:56:15" + } + ], + "name": "invalidateName", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3792, + "name": "unhashedName", + "nodeType": "VariableDeclaration", + "scope": 3911, + "src": "9588:28:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3791, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9588:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9587:30:15" + }, + "returnParameters": { + "id": 3804, + "nodeType": "ParameterList", + "parameters": [], + "src": "9704:0:15" + }, + "scope": 4610, + "src": "9564:815:15", + "stateMutability": "nonpayable", + "superFunction": 4739, + "visibility": "external" + }, + { + "body": { + "id": 3947, + "nodeType": "Block", + "src": "11063:176:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3918, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3914, + "src": "11081:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 3919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11081:13:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11098:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11081:18:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3917, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "11073:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11073:27:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3923, + "nodeType": "ExpressionStatement", + "src": "11073:27:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 3935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3926, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3914, + "src": "11124:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 3931, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3927, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3914, + "src": "11131:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 3928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11131:13:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 3929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11147:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11131:17:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11124:25:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3925, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "11118:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 3932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11118:32:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3933, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "11154:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 3934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Owned", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11154:10:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "11118:46:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3924, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "11110:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11110:55:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3937, + "nodeType": "ExpressionStatement", + "src": "11110:55:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3939, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3914, + "src": "11196:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 3940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11196:13:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 3941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11212:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11196:17:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3943, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3914, + "src": "11215:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "argumentTypes": null, + "id": 3944, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "11223:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3938, + "name": "_eraseNodeHierarchy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "11176:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (uint256,bytes32[] memory,bytes32)" + } + }, + "id": 3945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11176:56:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3946, + "nodeType": "ExpressionStatement", + "src": "11176:56:15" + } + ] + }, + "documentation": "@dev Allows anyone to delete the owner and resolver records for a (subdomain of) a\n name that is not currently owned in the registrar. If passing, eg, 'foo.bar.eth',\n the owner and resolver fields on 'foo.bar.eth' and 'bar.eth' will all be cleared.\n * @param labels A series of label hashes identifying the name to zero out, rooted at the\n registrar's root. Must contain at least one element. For instance, to zero \n 'foo.bar.eth' on a registrar that owns '.eth', pass an array containing\n [keccak256('foo'), keccak256('bar')].", + "id": 3948, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "eraseNode", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3915, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3914, + "name": "labels", + "nodeType": "VariableDeclaration", + "scope": 3948, + "src": "11027:25:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3912, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11027:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3913, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11027:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11026:27:15" + }, + "returnParameters": { + "id": 3916, + "nodeType": "ParameterList", + "parameters": [], + "src": "11063:0:15" + }, + "scope": 4610, + "src": "11008:231:15", + "stateMutability": "nonpayable", + "superFunction": 4745, + "visibility": "external" + }, + { + "body": { + "id": 4022, + "nodeType": "Block", + "src": "11541:496:15", + "statements": [ + { + "assignments": [ + 3957 + ], + "declarations": [ + { + "constant": false, + "id": 3957, + "name": "registrar", + "nodeType": "VariableDeclaration", + "scope": 4022, + "src": "11551:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3956, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11551:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3962, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3960, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "11581:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 3958, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "11571:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 3959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "11571:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11571:19:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11551:39:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3964, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3957, + "src": "11608:9:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3966, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "11629:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 3965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11621:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11621:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11608:26:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3963, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "11600:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11600:35:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3970, + "nodeType": "ExpressionStatement", + "src": "11600:35:15" + }, + { + "assignments": [ + 3972 + ], + "declarations": [ + { + "constant": false, + "id": 3972, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 4022, + "src": "11674:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 3971, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "11674:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3976, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3973, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "11692:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 3975, + "indexExpression": { + "argumentTypes": null, + "id": 3974, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3950, + "src": "11701:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11692:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11674:33:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3982, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3957, + "src": "11737:9:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3977, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11717:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3980, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "11717:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 3981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setRegistrar", + "nodeType": "MemberAccess", + "referencedDeclaration": 2191, + "src": "11717:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 3983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11717:30:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3984, + "nodeType": "ExpressionStatement", + "src": "11717:30:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3989, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3950, + "src": "11860:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3990, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11867:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3991, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "11867:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3992, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11875:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3993, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "11875:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3986, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3957, + "src": "11825:9:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3985, + "name": "Registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "11815:9:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Registrar_$4775_$", + "typeString": "type(contract Registrar)" + } + }, + "id": 3987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11815:20:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 3988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "acceptRegistrarTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 4759, + "src": "11815:44:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_contract$_Deed_$2227_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,contract Deed,uint256) external" + } + }, + "id": 3994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11815:79:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3995, + "nodeType": "ExpressionStatement", + "src": "11815:79:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3996, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11935:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 3998, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "11935:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11949:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3999, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "11944:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 4001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11944:7:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "11935:16:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 4003, + "nodeType": "ExpressionStatement", + "src": "11935:16:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4004, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11961:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4006, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "11961:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4007, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11982:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11961:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4009, + "nodeType": "ExpressionStatement", + "src": "11961:22:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4010, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "11993:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4012, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "11993:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12003:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11993:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4015, + "nodeType": "ExpressionStatement", + "src": "11993:11:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4016, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3972, + "src": "12014:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4018, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "12014:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12029:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12014:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4021, + "nodeType": "ExpressionStatement", + "src": "12014:16:15" + } + ] + }, + "documentation": "@dev Transfers the deed to the current registrar, if different from this one.\n * Used during the upgrade process to a permanent registrar.\n * @param _hash The name hash to transfer.", + "id": 4023, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 3953, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3950, + "src": "11534:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3954, + "modifierName": { + "argumentTypes": null, + "id": 3952, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3220, + "src": "11524:9:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "11524:16:15" + } + ], + "name": "transferRegistrars", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3950, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4023, + "src": "11500:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3949, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11500:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11499:15:15" + }, + "returnParameters": { + "id": 3955, + "nodeType": "ParameterList", + "parameters": [], + "src": "11541:0:15" + }, + "scope": 4610, + "src": "11472:565:15", + "stateMutability": "nonpayable", + "superFunction": 4750, + "visibility": "external" + }, + { + "body": { + "id": 4038, + "nodeType": "Block", + "src": "12523:82:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4032, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4025, + "src": "12533:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4033, + "nodeType": "ExpressionStatement", + "src": "12533:4:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4034, + "name": "deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4027, + "src": "12539:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 4035, + "nodeType": "ExpressionStatement", + "src": "12539:4:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4036, + "name": "registrationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4029, + "src": "12545:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4037, + "nodeType": "ExpressionStatement", + "src": "12545:16:15" + } + ] + }, + "documentation": "@dev Accepts a transfer from a previous registrar; stubbed out here since there\n is no previous registrar implementing this interface.\n * @param hash The sha3 hash of the label to transfer.\n@param deed The Deed object for the name being transferred in.\n@param registrationDate The date at which the name was originally registered.", + "id": 4039, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "acceptRegistrarTransfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4025, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4039, + "src": "12466:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4024, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12466:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4027, + "name": "deed", + "nodeType": "VariableDeclaration", + "scope": 4039, + "src": "12480:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 4026, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "12480:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4029, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 4039, + "src": "12491:21:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4028, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12491:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12465:48:15" + }, + "returnParameters": { + "id": 4031, + "nodeType": "ParameterList", + "parameters": [], + "src": "12523:0:15" + }, + "scope": 4610, + "src": "12433:172:15", + "stateMutability": "nonpayable", + "superFunction": 4759, + "visibility": "external" + }, + { + "body": { + "id": 4075, + "nodeType": "Block", + "src": "12699:141:15", + "statements": [ + { + "assignments": [ + 4055 + ], + "declarations": [ + { + "constant": false, + "id": 4055, + "name": "h", + "nodeType": "VariableDeclaration", + "scope": 4075, + "src": "12709:15:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 4054, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "12709:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4059, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4056, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "12727:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 4058, + "indexExpression": { + "argumentTypes": null, + "id": 4057, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4041, + "src": "12736:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12727:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12709:33:15" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4061, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4041, + "src": "12766:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4060, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "12760:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 4062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12760:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4064, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4055, + "src": "12782:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3172, + "src": "12782:6:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 4063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12774:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12774:15:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4067, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4055, + "src": "12791:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4068, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "12791:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4069, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4055, + "src": "12811:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4070, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "12811:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4071, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4055, + "src": "12820:1:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4072, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "12820:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4073, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12759:74:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "functionReturnParameters": 4053, + "id": 4074, + "nodeType": "Return", + "src": "12752:81:15" + } + ] + }, + "documentation": null, + "id": 4076, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "entries", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4041, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12628:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4040, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12628:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12627:15:15" + }, + "returnParameters": { + "id": 4053, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4044, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12666:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 4043, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "12666:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4046, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12672:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12672:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4048, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12681:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4047, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12681:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4050, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12687:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4049, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12687:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4052, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "12693:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4051, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12693:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12665:33:15" + }, + "scope": 4610, + "src": "12611:229:15", + "stateMutability": "view", + "superFunction": 4774, + "visibility": "external" + }, + { + "body": { + "id": 4134, + "nodeType": "Block", + "src": "13126:528:15", + "statements": [ + { + "assignments": [ + 4084 + ], + "declarations": [ + { + "constant": false, + "id": 4084, + "name": "entry", + "nodeType": "VariableDeclaration", + "scope": 4134, + "src": "13136:19:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 4083, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "13136:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4088, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4085, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "13158:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 4087, + "indexExpression": { + "argumentTypes": null, + "id": 4086, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4078, + "src": "13167:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13158:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13136:37:15" + }, + { + "condition": { + "argumentTypes": null, + "id": 4093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "13188:22:15", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4090, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4078, + "src": "13199:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4091, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "13206:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4089, + "name": "isAllowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4151, + "src": "13189:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view returns (bool)" + } + }, + "id": 4092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13189:21:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4098, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "13274:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4099, + "name": "entry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4084, + "src": "13280:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4100, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "13280:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13274:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4131, + "nodeType": "Block", + "src": "13492:156:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4118, + "name": "entry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4084, + "src": "13510:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4119, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "13510:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13530:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13510:21:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4129, + "nodeType": "Block", + "src": "13588:50:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4126, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "13613:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Owned", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13613:10:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "functionReturnParameters": 4082, + "id": 4128, + "nodeType": "Return", + "src": "13606:17:15" + } + ] + }, + "id": 4130, + "nodeType": "IfStatement", + "src": "13506:132:15", + "trueBody": { + "id": 4125, + "nodeType": "Block", + "src": "13533:49:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4122, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "13558:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Open", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13558:9:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "functionReturnParameters": 4082, + "id": 4124, + "nodeType": "Return", + "src": "13551:16:15" + } + ] + } + } + ] + }, + "id": 4132, + "nodeType": "IfStatement", + "src": "13270:378:15", + "trueBody": { + "id": 4117, + "nodeType": "Block", + "src": "13304:182:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4102, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "13322:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4103, + "name": "entry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4084, + "src": "13328:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "13328:22:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 4105, + "name": "revealPeriod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3162, + "src": "13353:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "13328:37:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13322:43:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4115, + "nodeType": "Block", + "src": "13425:51:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4112, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "13450:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Reveal", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13450:11:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "functionReturnParameters": 4082, + "id": 4114, + "nodeType": "Return", + "src": "13443:18:15" + } + ] + }, + "id": 4116, + "nodeType": "IfStatement", + "src": "13318:158:15", + "trueBody": { + "id": 4111, + "nodeType": "Block", + "src": "13367:52:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4108, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "13392:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Auction", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13392:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "functionReturnParameters": 4082, + "id": 4110, + "nodeType": "Return", + "src": "13385:19:15" + } + ] + } + } + ] + } + }, + "id": 4133, + "nodeType": "IfStatement", + "src": "13184:464:15", + "trueBody": { + "id": 4097, + "nodeType": "Block", + "src": "13212:52:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4094, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "13233:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "NotYetAvailable", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13233:20:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "functionReturnParameters": 4082, + "id": 4096, + "nodeType": "Return", + "src": "13226:27:15" + } + ] + } + } + ] + }, + "documentation": null, + "id": 4135, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "state", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4078, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4135, + "src": "13084:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4077, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13084:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13083:15:15" + }, + "returnParameters": { + "id": 4082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4081, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4135, + "src": "13120:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 4080, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "13120:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13119:6:15" + }, + "scope": 4610, + "src": "13069:585:15", + "stateMutability": "view", + "superFunction": 4677, + "visibility": "public" + }, + { + "body": { + "id": 4150, + "nodeType": "Block", + "src": "14059:58:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4144, + "name": "_timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4139, + "src": "14076:10:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4146, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4137, + "src": "14104:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4145, + "name": "getAllowedTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4174, + "src": "14089:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14089:21:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14076:34:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4143, + "id": 4149, + "nodeType": "Return", + "src": "14069:41:15" + } + ] + }, + "documentation": "@dev Determines if a name is available for registration yet\n * Each name will be assigned a random date in which its auction\ncan be started, from 0 to 8 weeks\n * @param _hash The hash to start an auction on\n@param _timestamp The timestamp to query about", + "id": 4151, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAllowed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4137, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4151, + "src": "13992:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4136, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13992:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4139, + "name": "_timestamp", + "nodeType": "VariableDeclaration", + "scope": 4151, + "src": "14007:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4138, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14007:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13991:32:15" + }, + "returnParameters": { + "id": 4143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4142, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 4151, + "src": "14045:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4141, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14045:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14044:14:15" + }, + "scope": 4610, + "src": "13973:144:15", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4173, + "nodeType": "Block", + "src": "14424:140:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4158, + "name": "registryStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3170, + "src": "14441:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4159, + "name": "launchLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3165, + "src": "14461:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4161, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4153, + "src": "14482:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4160, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14477:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 4162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14477:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313238", + "id": 4163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14492:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "14477:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4165, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14476:20:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14461:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4167, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14460:37:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313238", + "id": 4168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14501:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "14460:44:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4170, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14459:46:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14441:64:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4157, + "id": 4172, + "nodeType": "Return", + "src": "14434:71:15" + } + ] + }, + "documentation": "@dev Returns available date for hash\n * The available time from the `registryStarted` for a hash is proportional\nto its numeric value.\n * @param _hash The hash to start an auction on", + "id": 4174, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAllowedTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4153, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4174, + "src": "14382:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4152, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14382:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14381:15:15" + }, + "returnParameters": { + "id": 4157, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4156, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4174, + "src": "14418:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4155, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14418:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14417:6:15" + }, + "scope": 4610, + "src": "14358:206:15", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4197, + "nodeType": "Block", + "src": "14954:77:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4190, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4176, + "src": "14998:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4191, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4178, + "src": "15004:5:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4192, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4180, + "src": "15011:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4193, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4182, + "src": "15018:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4188, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "14981:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14981:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14981:42:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4187, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "14971:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14971:53:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 4186, + "id": 4196, + "nodeType": "Return", + "src": "14964:60:15" + } + ] + }, + "documentation": "@dev Hash the values required for a secret bid\n * @param hash The node corresponding to the desired namehash\n@param value The bid amount\n@param salt A random value to ensure secrecy of the bid\n@return The hash of the bid values", + "id": 4198, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "shaBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4183, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4176, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4198, + "src": "14869:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4175, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14869:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4178, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4198, + "src": "14883:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4177, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14883:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4180, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 4198, + "src": "14898:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4179, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14898:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4182, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 4198, + "src": "14910:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4181, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14910:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14868:55:15" + }, + "returnParameters": { + "id": 4186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4185, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4198, + "src": "14945:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4184, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14945:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14944:9:15" + }, + "scope": 4610, + "src": "14853:178:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4251, + "nodeType": "Block", + "src": "15090:302:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4205, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "15114:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4203, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "15104:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "15104:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 4206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15104:19:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4208, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "15135:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 4207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15127:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15127:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15104:36:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4250, + "nodeType": "IfStatement", + "src": "15100:286:15", + "trueBody": { + "id": 4249, + "nodeType": "Block", + "src": "15142:244:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4214, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "15176:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4215, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4200, + "src": "15186:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4217, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "15201:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 4216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15193:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15193:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4211, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "15156:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "15156:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 4219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15156:51:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4220, + "nodeType": "ExpressionStatement", + "src": "15156:51:15" + }, + { + "assignments": [ + 4222 + ], + "declarations": [ + { + "constant": false, + "id": 4222, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 4249, + "src": "15221:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4221, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15221:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4230, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4226, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "15263:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4227, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4200, + "src": "15273:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4224, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "15246:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15246:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15246:33:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4223, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "15236:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15236:44:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15221:59:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4234, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4222, + "src": "15310:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 4236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15324:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15316:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15316:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 4231, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "15294:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "15294:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 4238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15294:35:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4239, + "nodeType": "ExpressionStatement", + "src": "15294:35:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4243, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4222, + "src": "15356:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 4245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15370:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15362:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15362:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 4240, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "15343:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2564, + "src": "15343:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 4247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15343:32:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4248, + "nodeType": "ExpressionStatement", + "src": "15343:32:15" + } + ] + } + } + ] + }, + "documentation": null, + "id": 4252, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_tryEraseSingleNode", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4200, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 4252, + "src": "15066:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4199, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15066:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15065:15:15" + }, + "returnParameters": { + "id": 4202, + "nodeType": "ParameterList", + "parameters": [], + "src": "15090:0:15" + }, + "scope": 4610, + "src": "15037:355:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4310, + "nodeType": "Block", + "src": "15460:366:15", + "statements": [ + { + "assignments": [ + 4260 + ], + "declarations": [ + { + "constant": false, + "id": 4260, + "name": "mode", + "nodeType": "VariableDeclaration", + "scope": 4310, + "src": "15470:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 4259, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "15470:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4264, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4262, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4254, + "src": "15488:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4261, + "name": "state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "15482:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view returns (enum Registrar.Mode)" + } + }, + "id": 4263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15482:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15470:24:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 4268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4265, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4260, + "src": "15508:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4266, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "15516:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Auction", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15516:12:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "15508:20:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4270, + "nodeType": "IfStatement", + "src": "15504:33:15", + "trueBody": { + "expression": null, + "functionReturnParameters": 4258, + "id": 4269, + "nodeType": "Return", + "src": "15530:7:15" + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 4275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4272, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4260, + "src": "15554:4:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4273, + "name": "Mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "15562:4:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 4274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Open", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15562:9:15", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "15554:17:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4271, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "15546:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15546:26:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4277, + "nodeType": "ExpressionStatement", + "src": "15546:26:15" + }, + { + "assignments": [ + 4279 + ], + "declarations": [ + { + "constant": false, + "id": 4279, + "name": "newAuction", + "nodeType": "VariableDeclaration", + "scope": 4310, + "src": "15583:24:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + }, + "typeName": { + "contractScope": null, + "id": 4278, + "name": "Entry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3179, + "src": "15583:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4283, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4280, + "name": "_entries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "15610:8:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Entry_$3179_storage_$", + "typeString": "mapping(bytes32 => struct HashRegistrar.Entry storage ref)" + } + }, + "id": 4282, + "indexExpression": { + "argumentTypes": null, + "id": 4281, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4254, + "src": "15619:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15610:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage", + "typeString": "struct HashRegistrar.Entry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15583:42:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4284, + "name": "newAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4279, + "src": "15635:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4286, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "15635:27:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4287, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "15665:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 4288, + "name": "totalAuctionLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3159, + "src": "15671:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "15665:24:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15635:54:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4291, + "nodeType": "ExpressionStatement", + "src": "15635:54:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4292, + "name": "newAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4279, + "src": "15699:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3176, + "src": "15699:16:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15718:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15699:20:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4297, + "nodeType": "ExpressionStatement", + "src": "15699:20:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4298, + "name": "newAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4279, + "src": "15729:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "highestBid", + "nodeType": "MemberAccess", + "referencedDeclaration": 3178, + "src": "15729:21:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15753:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15729:25:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4303, + "nodeType": "ExpressionStatement", + "src": "15729:25:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4305, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4254, + "src": "15784:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4306, + "name": "newAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4279, + "src": "15791:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Entry_$3179_storage_ptr", + "typeString": "struct HashRegistrar.Entry storage pointer" + } + }, + "id": 4307, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrationDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 3174, + "src": "15791:27:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4304, + "name": "AuctionStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4626, + "src": "15769:14:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 4308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15769:50:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4309, + "nodeType": "EmitStatement", + "src": "15764:55:15" + } + ] + }, + "documentation": null, + "id": 4311, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [], + "id": 4257, + "modifierName": { + "argumentTypes": null, + "id": 4256, + "name": "registryOpen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3250, + "src": "15445:12:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "15445:14:15" + } + ], + "name": "_startAuction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4254, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4311, + "src": "15421:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4253, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15421:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15420:15:15" + }, + "returnParameters": { + "id": 4258, + "nodeType": "ParameterList", + "parameters": [], + "src": "15460:0:15" + }, + "scope": 4610, + "src": "15398:428:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4336, + "nodeType": "Block", + "src": "15891:109:15", + "statements": [ + { + "body": { + "id": 4334, + "nodeType": "Block", + "src": "15944:50:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4329, + "name": "_hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "15972:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4331, + "indexExpression": { + "argumentTypes": null, + "id": 4330, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "15980:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15972:10:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4328, + "name": "_startAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4311, + "src": "15958:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 4332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15958:25:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4333, + "nodeType": "ExpressionStatement", + "src": "15958:25:15" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4321, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "15918:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4322, + "name": "_hashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "15922:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15922:14:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15918:18:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4335, + "initializationExpression": { + "assignments": [ + 4318 + ], + "declarations": [ + { + "constant": false, + "id": 4318, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 4335, + "src": "15906:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4317, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15906:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4320, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 4319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15915:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "15906:10:15" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 4326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15938:4:15", + "subExpression": { + "argumentTypes": null, + "id": 4325, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "15938:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4327, + "nodeType": "ExpressionStatement", + "src": "15938:4:15" + }, + "nodeType": "ForStatement", + "src": "15901:93:15" + } + ] + }, + "documentation": null, + "id": 4337, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_startAuctions", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4314, + "name": "_hashes", + "nodeType": "VariableDeclaration", + "scope": 4337, + "src": "15856:24:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4312, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15856:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4313, + "length": null, + "nodeType": "ArrayTypeName", + "src": "15856:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15855:26:15" + }, + "returnParameters": { + "id": 4316, + "nodeType": "ParameterList", + "parameters": [], + "src": "15891:0:15" + }, + "scope": 4610, + "src": "15832:168:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4394, + "nodeType": "Block", + "src": "16051:357:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4344, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "16077:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 4347, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4345, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16088:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16088:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16077:22:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 4349, + "indexExpression": { + "argumentTypes": null, + "id": 4348, + "name": "sealedBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4339, + "src": "16100:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16077:33:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + ], + "id": 4343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16069:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16069:42:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 4352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16123:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16115:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16115:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "16069:58:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4342, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "16061:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16061:67:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4356, + "nodeType": "ExpressionStatement", + "src": "16061:67:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4358, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16146:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16146:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 4360, + "name": "minPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3168, + "src": "16159:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16146:21:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4357, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "16138:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16138:30:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4363, + "nodeType": "ExpressionStatement", + "src": "16138:30:15" + }, + { + "assignments": [ + 4365 + ], + "declarations": [ + { + "constant": false, + "id": 4365, + "name": "bid", + "nodeType": "VariableDeclaration", + "scope": 4394, + "src": "16233:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 4364, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "16233:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4376, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4373, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16286:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16286:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4370, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16275:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16275:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 4367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "16245:22:15", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_payable$_t_address_payable_$returns$_t_contract$_DeedImplementation_$2479_$", + "typeString": "function (address payable) payable returns (contract DeedImplementation)" + }, + "typeName": { + "contractScope": null, + "id": 4366, + "name": "DeedImplementation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2479, + "src": "16249:18:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + } + } + ], + "id": 4368, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16244:24:15", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_payable$_t_address_payable_$returns$_t_contract$_DeedImplementation_$2479_$", + "typeString": "function (address payable) payable returns (contract DeedImplementation)" + } + }, + "id": 4369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16244:30:15", + "typeDescriptions": { + "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_creation_payable$_t_address_payable_$returns$_t_contract$_DeedImplementation_$2479_$value_$", + "typeString": "function (uint256) pure returns (function (address payable) payable returns (contract DeedImplementation))" + } + }, + "id": 4372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16244:41:15", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_payable$_t_address_payable_$returns$_t_contract$_DeedImplementation_$2479_$value", + "typeString": "function (address payable) payable returns (contract DeedImplementation)" + } + }, + "id": 4375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16244:53:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DeedImplementation_$2479", + "typeString": "contract DeedImplementation" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16233:64:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4377, + "name": "sealedBids", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3156, + "src": "16307:10:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$_$", + "typeString": "mapping(address => mapping(bytes32 => contract Deed))" + } + }, + "id": 4381, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4378, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16318:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16318:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16307:22:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_contract$_Deed_$2227_$", + "typeString": "mapping(bytes32 => contract Deed)" + } + }, + "id": 4382, + "indexExpression": { + "argumentTypes": null, + "id": 4380, + "name": "sealedBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4339, + "src": "16330:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16307:33:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4383, + "name": "bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4365, + "src": "16343:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "src": "16307:39:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 4385, + "nodeType": "ExpressionStatement", + "src": "16307:39:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4387, + "name": "sealedBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4339, + "src": "16368:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4388, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16379:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16379:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4390, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "16391:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16391:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4386, + "name": "NewBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4634, + "src": "16361:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256)" + } + }, + "id": 4392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16361:40:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4393, + "nodeType": "EmitStatement", + "src": "16356:45:15" + } + ] + }, + "documentation": null, + "id": 4395, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_newBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4340, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4339, + "name": "sealedBid", + "nodeType": "VariableDeclaration", + "scope": 4395, + "src": "16023:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4338, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16023:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16022:19:15" + }, + "returnParameters": { + "id": 4341, + "nodeType": "ParameterList", + "parameters": [], + "src": "16051:0:15" + }, + "scope": 4610, + "src": "16006:402:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4460, + "nodeType": "Block", + "src": "16501:441:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4408, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16569:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4409, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4400, + "src": "16575:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4411, + "indexExpression": { + "argumentTypes": null, + "id": 4410, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "16582:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16575:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4413, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "16596:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 4412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16588:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16588:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4405, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "16549:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "16549:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 4415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16549:53:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4416, + "nodeType": "ExpressionStatement", + "src": "16549:53:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4417, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16612:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4421, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16646:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4422, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4400, + "src": "16652:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4424, + "indexExpression": { + "argumentTypes": null, + "id": 4423, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "16659:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16652:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4419, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "16629:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16629:16:15", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16629:35:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4418, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "16619:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16619:46:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16612:53:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4428, + "nodeType": "ExpressionStatement", + "src": "16612:53:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4429, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "16724:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16730:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16724:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4441, + "nodeType": "IfStatement", + "src": "16720:80:15", + "trueBody": { + "id": 4440, + "nodeType": "Block", + "src": "16733:67:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4433, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "16767:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 4434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16773:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "16767:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4436, + "name": "labels", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4400, + "src": "16776:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "argumentTypes": null, + "id": 4437, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16784:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4432, + "name": "_eraseNodeHierarchy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "16747:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (uint256,bytes32[] memory,bytes32)" + } + }, + "id": 4438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16747:42:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4439, + "nodeType": "ExpressionStatement", + "src": "16747:42:15" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4445, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16874:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 4447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16888:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16880:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16880:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 4442, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "16858:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "16858:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 4449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16858:35:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4450, + "nodeType": "ExpressionStatement", + "src": "16858:35:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4454, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "16916:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 4456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16930:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16922:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16922:12:15", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 4451, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "16903:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2564, + "src": "16903:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 4458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16903:32:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4459, + "nodeType": "ExpressionStatement", + "src": "16903:32:15" + } + ] + }, + "documentation": null, + "id": 4461, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_eraseNodeHierarchy", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4397, + "name": "idx", + "nodeType": "VariableDeclaration", + "scope": 4461, + "src": "16443:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4396, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16443:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4400, + "name": "labels", + "nodeType": "VariableDeclaration", + "scope": 4461, + "src": "16453:23:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4398, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16453:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4399, + "length": null, + "nodeType": "ArrayTypeName", + "src": "16453:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4402, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 4461, + "src": "16478:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4401, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16478:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16442:49:15" + }, + "returnParameters": { + "id": 4404, + "nodeType": "ParameterList", + "parameters": [], + "src": "16501:0:15" + }, + "scope": 4610, + "src": "16414:528:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4485, + "nodeType": "Block", + "src": "17198:118:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4470, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "17222:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 4468, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "17212:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "17212:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 4471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17212:19:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4473, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "17243:4:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + ], + "id": 4472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17235:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17235:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17212:36:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4484, + "nodeType": "IfStatement", + "src": "17208:101:15", + "trueBody": { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4479, + "name": "rootNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "17282:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4480, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4463, + "src": "17292:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4481, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4465, + "src": "17299:9:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4476, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "17262:3:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 4478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "17262:19:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 4482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17262:47:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4483, + "nodeType": "ExpressionStatement", + "src": "17262:47:15" + } + } + ] + }, + "documentation": "@dev Assign the owner in ENS, if we're still the registrar\n * @param _hash hash to change owner\n@param _newOwner new owner to transfer to", + "id": 4486, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "trySetSubnodeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4463, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4486, + "src": "17155:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4462, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17155:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4465, + "name": "_newOwner", + "nodeType": "VariableDeclaration", + "scope": 4486, + "src": "17170:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4464, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17170:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17154:34:15" + }, + "returnParameters": { + "id": 4467, + "nodeType": "ParameterList", + "parameters": [], + "src": "17198:0:15" + }, + "scope": 4610, + "src": "17127:189:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4503, + "nodeType": "Block", + "src": "17584:83:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4495, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4488, + "src": "17598:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 4496, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4490, + "src": "17602:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17598:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "expression": { + "argumentTypes": null, + "id": 4500, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4490, + "src": "17659:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4494, + "id": 4501, + "nodeType": "Return", + "src": "17652:8:15" + }, + "id": 4502, + "nodeType": "IfStatement", + "src": "17594:66:15", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 4498, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4488, + "src": "17624:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4494, + "id": 4499, + "nodeType": "Return", + "src": "17617:8:15" + } + } + ] + }, + "documentation": "@dev Returns the maximum of two unsigned integers\n * @param a A number to compare\n@param b A number to compare\n@return The maximum of two unsigned integers", + "id": 4504, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "max", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4488, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 4504, + "src": "17539:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4487, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17539:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4490, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 4504, + "src": "17547:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4489, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17547:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17538:16:15" + }, + "returnParameters": { + "id": 4494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4493, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4504, + "src": "17578:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4492, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17578:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17577:6:15" + }, + "scope": 4610, + "src": "17526:141:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4521, + "nodeType": "Block", + "src": "17935:83:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4513, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4506, + "src": "17949:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 4514, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4508, + "src": "17953:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17949:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "expression": { + "argumentTypes": null, + "id": 4518, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4508, + "src": "18010:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4512, + "id": 4519, + "nodeType": "Return", + "src": "18003:8:15" + }, + "id": 4520, + "nodeType": "IfStatement", + "src": "17945:66:15", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 4516, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4506, + "src": "17975:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4512, + "id": 4517, + "nodeType": "Return", + "src": "17968:8:15" + } + } + ] + }, + "documentation": "@dev Returns the minimum of two unsigned integers\n * @param a A number to compare\n@param b A number to compare\n@return The minimum of two unsigned integers", + "id": 4522, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "min", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4506, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "17890:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4505, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17890:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4508, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "17898:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4507, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17898:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17889:16:15" + }, + "returnParameters": { + "id": 4512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4511, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "17929:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4510, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17929:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17928:6:15" + }, + "scope": 4610, + "src": "17877:141:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4608, + "nodeType": "Block", + "src": "18256:779:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4529, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4524, + "src": "18266:1:15", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 4530, + "nodeType": "ExpressionStatement", + "src": "18266:1:15" + }, + { + "assignments": [ + 4532 + ], + "declarations": [ + { + "constant": false, + "id": 4532, + "name": "ptr", + "nodeType": "VariableDeclaration", + "scope": 4608, + "src": "18384:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4531, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18384:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4533, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "18384:8:15" + }, + { + "assignments": [ + 4535 + ], + "declarations": [ + { + "constant": false, + "id": 4535, + "name": "end", + "nodeType": "VariableDeclaration", + "scope": 4608, + "src": "18402:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4534, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18402:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4536, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "18402:8:15" + }, + { + "externalReferences": [ + { + "ptr": { + "declaration": 4532, + "isOffset": false, + "isSlot": false, + "src": "18443:3:15", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 4524, + "isOffset": false, + "isSlot": false, + "src": "18454:1:15", + "valueSize": 1 + } + }, + { + "end": { + "declaration": 4535, + "isOffset": false, + "isSlot": false, + "src": "18472:3:15", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 4524, + "isOffset": false, + "isSlot": false, + "src": "18489:1:15", + "valueSize": 1 + } + }, + { + "ptr": { + "declaration": 4532, + "isOffset": false, + "isSlot": false, + "src": "18493:3:15", + "valueSize": 1 + } + } + ], + "id": 4537, + "nodeType": "InlineAssembly", + "operations": "{\n ptr := add(s, 1)\n end := add(mload(s), ptr)\n}", + "src": "18420:87:15" + }, + { + "assignments": [ + 4539 + ], + "declarations": [ + { + "constant": false, + "id": 4539, + "name": "len", + "nodeType": "VariableDeclaration", + "scope": 4608, + "src": "18516:8:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4538, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18516:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4541, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 4540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18527:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "18516:12:15" + }, + { + "body": { + "id": 4604, + "nodeType": "Block", + "src": "18566:443:15", + "statements": [ + { + "assignments": [ + 4551 + ], + "declarations": [ + { + "constant": false, + "id": 4551, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 4604, + "src": "18580:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4550, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "18580:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4552, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "18580:7:15" + }, + { + "externalReferences": [ + { + "b": { + "declaration": 4551, + "isOffset": false, + "isSlot": false, + "src": "18612:1:15", + "valueSize": 1 + } + }, + { + "ptr": { + "declaration": 4532, + "isOffset": false, + "isSlot": false, + "src": "18627:3:15", + "valueSize": 1 + } + } + ], + "id": 4553, + "nodeType": "InlineAssembly", + "operations": "{ b := and(mload(ptr), 0xFF) }", + "src": "18601:39:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4554, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4551, + "src": "18657:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783830", + "id": 4555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18661:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "0x80" + }, + "src": "18657:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4562, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4551, + "src": "18718:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30784530", + "id": 4563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18722:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_224_by_1", + "typeString": "int_const 224" + }, + "value": "0xE0" + }, + "src": "18718:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4570, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4551, + "src": "18779:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30784630", + "id": 4571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18783:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_240_by_1", + "typeString": "int_const 240" + }, + "value": "0xF0" + }, + "src": "18779:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4578, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4551, + "src": "18840:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30784638", + "id": 4579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18844:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_248_by_1", + "typeString": "int_const 248" + }, + "value": "0xF8" + }, + "src": "18840:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4586, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4551, + "src": "18901:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30784643", + "id": 4587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18905:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_252_by_1", + "typeString": "int_const 252" + }, + "value": "0xFC" + }, + "src": "18901:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4598, + "nodeType": "Block", + "src": "18958:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4594, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18976:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "36", + "id": 4595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18983:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "src": "18976:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4597, + "nodeType": "ExpressionStatement", + "src": "18976:8:15" + } + ] + }, + "id": 4599, + "nodeType": "IfStatement", + "src": "18897:102:15", + "trueBody": { + "id": 4593, + "nodeType": "Block", + "src": "18911:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4589, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18929:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 4590, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18936:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "18929:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4592, + "nodeType": "ExpressionStatement", + "src": "18929:8:15" + } + ] + } + }, + "id": 4600, + "nodeType": "IfStatement", + "src": "18836:163:15", + "trueBody": { + "id": 4585, + "nodeType": "Block", + "src": "18850:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4581, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18868:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "34", + "id": 4582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18875:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "18868:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4584, + "nodeType": "ExpressionStatement", + "src": "18868:8:15" + } + ] + } + }, + "id": 4601, + "nodeType": "IfStatement", + "src": "18775:224:15", + "trueBody": { + "id": 4577, + "nodeType": "Block", + "src": "18789:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4573, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18807:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 4574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18814:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "18807:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4576, + "nodeType": "ExpressionStatement", + "src": "18807:8:15" + } + ] + } + }, + "id": 4602, + "nodeType": "IfStatement", + "src": "18714:285:15", + "trueBody": { + "id": 4569, + "nodeType": "Block", + "src": "18728:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4565, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18746:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 4566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18753:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "18746:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4568, + "nodeType": "ExpressionStatement", + "src": "18746:8:15" + } + ] + } + }, + "id": 4603, + "nodeType": "IfStatement", + "src": "18653:346:15", + "trueBody": { + "id": 4561, + "nodeType": "Block", + "src": "18667:41:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4557, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18685:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 4558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18692:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "18685:8:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4560, + "nodeType": "ExpressionStatement", + "src": "18685:8:15" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4544, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4532, + "src": "18548:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 4545, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4535, + "src": "18554:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18548:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4605, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 4542, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4539, + "src": "18543:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4543, + "nodeType": "ExpressionStatement", + "src": "18543:3:15" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 4548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "18559:5:15", + "subExpression": { + "argumentTypes": null, + "id": 4547, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4539, + "src": "18559:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4549, + "nodeType": "ExpressionStatement", + "src": "18559:5:15" + }, + "nodeType": "ForStatement", + "src": "18538:471:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 4606, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4539, + "src": "19025:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4528, + "id": 4607, + "nodeType": "Return", + "src": "19018:10:15" + } + ] + }, + "documentation": "@dev Returns the length of a given string\n * @param s The string to measure the length of\n@return The length of the input string", + "id": 4609, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "strlen", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4525, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4524, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 4609, + "src": "18210:15:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4523, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18210:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18209:17:15" + }, + "returnParameters": { + "id": 4528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4527, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4609, + "src": "18250:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4526, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18250:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18249:6:15" + }, + "scope": 4610, + "src": "18194:841:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 4611, + "src": "586:18452:15" + } + ], + "src": "0:19039:15" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.785Z", + "devdoc": { + "details": "The registrar handles the auction process for each subnode of the node it owns.", + "methods": { + "acceptRegistrarTransfer(bytes32,address,uint256)": { + "details": "Accepts a transfer from a previous registrar; stubbed out here since there is no previous registrar implementing this interface.", + "params": { + "deed": "The Deed object for the name being transferred in.", + "hash": "The sha3 hash of the label to transfer.", + "registrationDate": "The date at which the name was originally registered." + } + }, + "cancelBid(address,bytes32)": { + "details": "Cancel a bid", + "params": { + "seal": "The value returned by the shaBid function" + } + }, + "constructor": { + "details": "Constructs a new Registrar, with the provided address as the owner of the root node.", + "params": { + "_ens": "The address of the ENS", + "_rootNode": "The hash of the rootnode." + } + }, + "eraseNode(bytes32[])": { + "details": "Allows anyone to delete the owner and resolver records for a (subdomain of) a name that is not currently owned in the registrar. If passing, eg, 'foo.bar.eth', the owner and resolver fields on 'foo.bar.eth' and 'bar.eth' will all be cleared.", + "params": { + "labels": "A series of label hashes identifying the name to zero out, rooted at the registrar's root. Must contain at least one element. For instance, to zero 'foo.bar.eth' on a registrar that owns '.eth', pass an array containing [keccak256('foo'), keccak256('bar')]." + } + }, + "finalizeAuction(bytes32)": { + "details": "Finalize an auction after the registration date has passed", + "params": { + "_hash": "The hash of the name the auction is for" + } + }, + "getAllowedTime(bytes32)": { + "details": "Returns available date for hash * The available time from the `registryStarted` for a hash is proportional to its numeric value.", + "params": { + "_hash": "The hash to start an auction on" + } + }, + "invalidateName(string)": { + "details": "Submit a name 6 characters long or less. If it has been registered, the submitter will earn 50% of the deed value. * We are purposefully handicapping the simplified registrar as a way to force it into being restructured in a few years.", + "params": { + "unhashedName": "An invalid name to search for in the registry." + } + }, + "isAllowed(bytes32,uint256)": { + "details": "Determines if a name is available for registration yet * Each name will be assigned a random date in which its auction can be started, from 0 to 8 weeks", + "params": { + "_hash": "The hash to start an auction on", + "_timestamp": "The timestamp to query about" + } + }, + "newBid(bytes32)": { + "details": "Submit a new sealed bid on a desired hash in a blind auction * Bids are sent by sending a message to the main contract with a hash and an amount. The hash contains information about the bid, including the bidded hash, the bid amount, and a random salt. Bids are not tied to any one auction until they are revealed. The value of the bid itself can be masqueraded by sending more than the value of your actual bid. This is followed by a 48h reveal period. Bids revealed after this period will be burned and the ether unrecoverable. Since this is an auction, it is expected that most public hashes, like known domains and common dictionary words, will have multiple bidders pushing the price up.", + "params": { + "sealedBid": "A sealedBid, created by the shaBid function" + } + }, + "releaseDeed(bytes32)": { + "details": "After some time, or if we're no longer the registrar, the owner can release the name and get their ether back.", + "params": { + "_hash": "The node to release" + } + }, + "shaBid(bytes32,address,uint256,bytes32)": { + "details": "Hash the values required for a secret bid", + "params": { + "hash": "The node corresponding to the desired namehash", + "salt": "A random value to ensure secrecy of the bid", + "value": "The bid amount" + }, + "return": "The hash of the bid values" + }, + "startAuction(bytes32)": { + "details": "Start an auction for an available hash", + "params": { + "_hash": "The hash to start an auction on" + } + }, + "startAuctions(bytes32[])": { + "details": "Start multiple auctions for better anonymity * Anyone can start an auction by sending an array of hashes that they want to bid for. Arrays are sent so that someone can open up an auction for X dummy hashes when they are only really interested in bidding for one. This will increase the cost for an attacker to simply bid blindly on all new auctions. Dummy auctions that are open but not bid on are closed after a week.", + "params": { + "_hashes": "An array of hashes, at least one of which you presumably want to bid on" + } + }, + "startAuctionsAndBid(bytes32[],bytes32)": { + "details": "Start a set of auctions and bid on one of them * This method functions identically to calling `startAuctions` followed by `newBid`, but all in one transaction.", + "params": { + "hashes": "A list of hashes to start auctions on.", + "sealedBid": "A sealed bid for one of the auctions." + } + }, + "transfer(bytes32,address)": { + "details": "The owner of a domain may transfer it to someone else at any time.", + "params": { + "_hash": "The node to transfer", + "newOwner": "The address to transfer ownership to" + } + }, + "transferRegistrars(bytes32)": { + "details": "Transfers the deed to the current registrar, if different from this one. * Used during the upgrade process to a permanent registrar.", + "params": { + "_hash": "The name hash to transfer." + } + }, + "unsealBid(bytes32,uint256,bytes32)": { + "details": "Submit the properties of a bid to reveal them", + "params": { + "_hash": "The node in the sealedBid", + "_salt": "The sale in the sealedBid", + "_value": "The bid amount in the sealedBid" + } + } + }, + "title": "Registrar" + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/IERC165.json b/contracts/IERC165.json new file mode 100644 index 0000000..55d9859 --- /dev/null +++ b/contracts/IERC165.json @@ -0,0 +1,303 @@ +{ + "contractName": "IERC165", + "abi": [ + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.\",\"params\":{\"interfaceId\":\"The interface identifier, as specified in ERC-165\"}}},\"title\":\"IERC165\"},\"userdoc\":{\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\n/**\n * @title IERC165\n * @dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md\n */\ninterface IERC165 {\n /**\n * @notice Query if a contract implements an interface\n * @param interfaceId The interface identifier, as specified in ERC-165\n * @dev Interface identification is specified in ERC-165. This function\n * uses less than 30,000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 5961 + ] + }, + "id": 5962, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5953, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:21" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@title IERC165\n@dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md", + "fullyImplemented": false, + "id": 5961, + "linearizedBaseContracts": [ + 5961 + ], + "name": "IERC165", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": "@notice Query if a contract implements an interface\n@param interfaceId The interface identifier, as specified in ERC-165\n@dev Interface identification is specified in ERC-165. This function\nuses less than 30,000 gas.", + "id": 5960, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5955, + "name": "interfaceId", + "nodeType": "VariableDeclaration", + "scope": 5960, + "src": "432:18:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5954, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "432:6:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "431:20:21" + }, + "returnParameters": { + "id": 5959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5958, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5960, + "src": "475:4:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5957, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "475:4:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "474:6:21" + }, + "scope": 5961, + "src": "405:76:21", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 5962, + "src": "120:363:21" + } + ], + "src": "0:484:21" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 5961 + ] + }, + "id": 5962, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5953, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:21" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@title IERC165\n@dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md", + "fullyImplemented": false, + "id": 5961, + "linearizedBaseContracts": [ + 5961 + ], + "name": "IERC165", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": "@notice Query if a contract implements an interface\n@param interfaceId The interface identifier, as specified in ERC-165\n@dev Interface identification is specified in ERC-165. This function\nuses less than 30,000 gas.", + "id": 5960, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5955, + "name": "interfaceId", + "nodeType": "VariableDeclaration", + "scope": 5960, + "src": "432:18:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5954, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "432:6:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "431:20:21" + }, + "returnParameters": { + "id": 5959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5958, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5960, + "src": "475:4:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5957, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "475:4:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "474:6:21" + }, + "scope": 5961, + "src": "405:76:21", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 5962, + "src": "120:363:21" + } + ], + "src": "0:484:21" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.812Z", + "devdoc": { + "details": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md", + "methods": { + "supportsInterface(bytes4)": { + "details": "Interface identification is specified in ERC-165. This function uses less than 30,000 gas.", + "params": { + "interfaceId": "The interface identifier, as specified in ERC-165" + } + } + }, + "title": "IERC165" + }, + "userdoc": { + "methods": { + "supportsInterface(bytes4)": { + "notice": "Query if a contract implements an interface" + } + } + } +} \ No newline at end of file diff --git a/contracts/IERC721.json b/contracts/IERC721.json new file mode 100644 index 0000000..29fe44d --- /dev/null +++ b/contracts/IERC721.json @@ -0,0 +1,2813 @@ +{ + "contractName": "IERC721", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.\",\"params\":{\"interfaceId\":\"The interface identifier, as specified in ERC-165\"}}},\"title\":\"ERC721 Non-Fungible Token Standard basic interface\"},\"userdoc\":{\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x1f059ee943273719130df645fa38069b792988e8b732585528d5b1265f5aa046\",\"urls\":[\"bzz-raw://31e4d99091a83a42a6ea14d74ceae2ec3ffb2905c7ee07358875af72ea188333\",\"dweb:/ipfs/Qmf7nHc6BwhbyawapCVRZHzhBHNoA8ftpQWmGSyToVKVzN\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\nimport \"../../introspection/IERC165.sol\";\n\n/**\n * @title ERC721 Non-Fungible Token Standard basic interface\n * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract IERC721 is IERC165 {\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n function balanceOf(address owner) public view returns (uint256 balance);\n function ownerOf(uint256 tokenId) public view returns (address owner);\n\n function approve(address to, uint256 tokenId) public;\n function getApproved(uint256 tokenId) public view returns (address operator);\n\n function setApprovalForAll(address operator, bool _approved) public;\n function isApprovedForAll(address owner, address operator) public view returns (bool);\n\n function transferFrom(address from, address to, uint256 tokenId) public;\n function safeTransferFrom(address from, address to, uint256 tokenId) public;\n\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public;\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol", + "exportedSymbols": { + "IERC721": [ + 6860 + ] + }, + "id": 6861, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6759, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:25" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol", + "file": "../../introspection/IERC165.sol", + "id": 6760, + "nodeType": "ImportDirective", + "scope": 6861, + "sourceUnit": 5962, + "src": "25:41:25", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 6761, + "name": "IERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5961, + "src": "230:7:25", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC165_$5961", + "typeString": "contract IERC165" + } + }, + "id": 6762, + "nodeType": "InheritanceSpecifier", + "src": "230:7:25" + } + ], + "contractDependencies": [ + 5961 + ], + "contractKind": "contract", + "documentation": "@title ERC721 Non-Fungible Token Standard basic interface\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", + "fullyImplemented": false, + "id": 6860, + "linearizedBaseContracts": [ + 6860, + 5961 + ], + "name": "IERC721", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 6770, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 6769, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6764, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6770, + "src": "259:20:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6763, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "259:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6766, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6770, + "src": "281:18:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "281:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6768, + "indexed": true, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6770, + "src": "301:23:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6767, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "301:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "258:67:25" + }, + "src": "244:82:25" + }, + { + "anonymous": false, + "documentation": null, + "id": 6778, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 6777, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6772, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6778, + "src": "346:21:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6771, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "346:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6774, + "indexed": true, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 6778, + "src": "369:24:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6773, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "369:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6776, + "indexed": true, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6778, + "src": "395:23:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6775, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "395:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "345:74:25" + }, + "src": "331:89:25" + }, + { + "anonymous": false, + "documentation": null, + "id": 6786, + "name": "ApprovalForAll", + "nodeType": "EventDefinition", + "parameters": { + "id": 6785, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6780, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6786, + "src": "446:21:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6779, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "446:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6782, + "indexed": true, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6786, + "src": "469:24:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6781, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "469:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6784, + "indexed": false, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 6786, + "src": "495:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6783, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "495:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "445:64:25" + }, + "src": "425:85:25" + }, + { + "body": null, + "documentation": null, + "id": 6793, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6788, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6793, + "src": "535:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6787, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "535:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "534:15:25" + }, + "returnParameters": { + "id": 6792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6791, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 6793, + "src": "571:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "571:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "570:17:25" + }, + "scope": 6860, + "src": "516:72:25", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6800, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6796, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6795, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6800, + "src": "610:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6794, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "610:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "609:17:25" + }, + "returnParameters": { + "id": 6799, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6798, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6800, + "src": "648:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6797, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "648:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "647:15:25" + }, + "scope": 6860, + "src": "593:70:25", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6807, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6802, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6807, + "src": "686:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6801, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "686:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6804, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6807, + "src": "698:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "698:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "685:29:25" + }, + "returnParameters": { + "id": 6806, + "nodeType": "ParameterList", + "parameters": [], + "src": "721:0:25" + }, + "scope": 6860, + "src": "669:53:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6814, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6810, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6809, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6814, + "src": "748:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6808, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "748:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "747:17:25" + }, + "returnParameters": { + "id": 6813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6812, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6814, + "src": "786:16:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6811, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "786:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "785:18:25" + }, + "scope": 6860, + "src": "727:77:25", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6821, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6816, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6821, + "src": "837:16:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "837:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6818, + "name": "_approved", + "nodeType": "VariableDeclaration", + "scope": 6821, + "src": "855:14:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6817, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "855:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "836:34:25" + }, + "returnParameters": { + "id": 6820, + "nodeType": "ParameterList", + "parameters": [], + "src": "877:0:25" + }, + "scope": 6860, + "src": "810:68:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6830, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6823, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6830, + "src": "909:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "909:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6825, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6830, + "src": "924:16:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6824, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "924:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "908:33:25" + }, + "returnParameters": { + "id": 6829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6828, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6830, + "src": "963:4:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6827, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "963:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "962:6:25" + }, + "scope": 6860, + "src": "883:86:25", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6839, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6832, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6839, + "src": "997:12:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "997:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6834, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6839, + "src": "1011:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6833, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1011:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6836, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6839, + "src": "1023:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1023:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "996:43:25" + }, + "returnParameters": { + "id": 6838, + "nodeType": "ParameterList", + "parameters": [], + "src": "1046:0:25" + }, + "scope": 6860, + "src": "975:72:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6848, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6841, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6848, + "src": "1078:12:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1078:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6843, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6848, + "src": "1092:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6842, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1092:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6845, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6848, + "src": "1104:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6844, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1104:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1077:43:25" + }, + "returnParameters": { + "id": 6847, + "nodeType": "ParameterList", + "parameters": [], + "src": "1127:0:25" + }, + "scope": 6860, + "src": "1052:76:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6859, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6850, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6859, + "src": "1160:12:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1160:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6852, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6859, + "src": "1174:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6851, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1174:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6854, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6859, + "src": "1186:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1186:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6856, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 6859, + "src": "1203:17:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6855, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1203:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1159:62:25" + }, + "returnParameters": { + "id": 6858, + "nodeType": "ParameterList", + "parameters": [], + "src": "1228:0:25" + }, + "scope": 6860, + "src": "1134:95:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6861, + "src": "210:1021:25" + } + ], + "src": "0:1232:25" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol", + "exportedSymbols": { + "IERC721": [ + 6860 + ] + }, + "id": 6861, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6759, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:25" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol", + "file": "../../introspection/IERC165.sol", + "id": 6760, + "nodeType": "ImportDirective", + "scope": 6861, + "sourceUnit": 5962, + "src": "25:41:25", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 6761, + "name": "IERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5961, + "src": "230:7:25", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC165_$5961", + "typeString": "contract IERC165" + } + }, + "id": 6762, + "nodeType": "InheritanceSpecifier", + "src": "230:7:25" + } + ], + "contractDependencies": [ + 5961 + ], + "contractKind": "contract", + "documentation": "@title ERC721 Non-Fungible Token Standard basic interface\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", + "fullyImplemented": false, + "id": 6860, + "linearizedBaseContracts": [ + 6860, + 5961 + ], + "name": "IERC721", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 6770, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 6769, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6764, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6770, + "src": "259:20:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6763, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "259:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6766, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6770, + "src": "281:18:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "281:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6768, + "indexed": true, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6770, + "src": "301:23:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6767, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "301:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "258:67:25" + }, + "src": "244:82:25" + }, + { + "anonymous": false, + "documentation": null, + "id": 6778, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 6777, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6772, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6778, + "src": "346:21:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6771, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "346:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6774, + "indexed": true, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 6778, + "src": "369:24:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6773, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "369:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6776, + "indexed": true, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6778, + "src": "395:23:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6775, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "395:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "345:74:25" + }, + "src": "331:89:25" + }, + { + "anonymous": false, + "documentation": null, + "id": 6786, + "name": "ApprovalForAll", + "nodeType": "EventDefinition", + "parameters": { + "id": 6785, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6780, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6786, + "src": "446:21:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6779, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "446:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6782, + "indexed": true, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6786, + "src": "469:24:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6781, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "469:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6784, + "indexed": false, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 6786, + "src": "495:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6783, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "495:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "445:64:25" + }, + "src": "425:85:25" + }, + { + "body": null, + "documentation": null, + "id": 6793, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6788, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6793, + "src": "535:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6787, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "535:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "534:15:25" + }, + "returnParameters": { + "id": 6792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6791, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 6793, + "src": "571:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "571:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "570:17:25" + }, + "scope": 6860, + "src": "516:72:25", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6800, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6796, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6795, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6800, + "src": "610:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6794, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "610:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "609:17:25" + }, + "returnParameters": { + "id": 6799, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6798, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6800, + "src": "648:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6797, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "648:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "647:15:25" + }, + "scope": 6860, + "src": "593:70:25", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6807, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6802, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6807, + "src": "686:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6801, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "686:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6804, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6807, + "src": "698:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "698:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "685:29:25" + }, + "returnParameters": { + "id": 6806, + "nodeType": "ParameterList", + "parameters": [], + "src": "721:0:25" + }, + "scope": 6860, + "src": "669:53:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6814, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6810, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6809, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6814, + "src": "748:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6808, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "748:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "747:17:25" + }, + "returnParameters": { + "id": 6813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6812, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6814, + "src": "786:16:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6811, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "786:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "785:18:25" + }, + "scope": 6860, + "src": "727:77:25", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6821, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6816, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6821, + "src": "837:16:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "837:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6818, + "name": "_approved", + "nodeType": "VariableDeclaration", + "scope": 6821, + "src": "855:14:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6817, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "855:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "836:34:25" + }, + "returnParameters": { + "id": 6820, + "nodeType": "ParameterList", + "parameters": [], + "src": "877:0:25" + }, + "scope": 6860, + "src": "810:68:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6830, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6823, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6830, + "src": "909:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "909:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6825, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6830, + "src": "924:16:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6824, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "924:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "908:33:25" + }, + "returnParameters": { + "id": 6829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6828, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6830, + "src": "963:4:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6827, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "963:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "962:6:25" + }, + "scope": 6860, + "src": "883:86:25", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6839, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6832, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6839, + "src": "997:12:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "997:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6834, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6839, + "src": "1011:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6833, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1011:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6836, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6839, + "src": "1023:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1023:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "996:43:25" + }, + "returnParameters": { + "id": 6838, + "nodeType": "ParameterList", + "parameters": [], + "src": "1046:0:25" + }, + "scope": 6860, + "src": "975:72:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6848, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6841, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6848, + "src": "1078:12:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1078:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6843, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6848, + "src": "1092:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6842, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1092:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6845, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6848, + "src": "1104:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6844, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1104:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1077:43:25" + }, + "returnParameters": { + "id": 6847, + "nodeType": "ParameterList", + "parameters": [], + "src": "1127:0:25" + }, + "scope": 6860, + "src": "1052:76:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6859, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6850, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6859, + "src": "1160:12:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1160:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6852, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6859, + "src": "1174:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6851, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1174:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6854, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6859, + "src": "1186:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1186:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6856, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 6859, + "src": "1203:17:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6855, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1203:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1159:62:25" + }, + "returnParameters": { + "id": 6858, + "nodeType": "ParameterList", + "parameters": [], + "src": "1228:0:25" + }, + "scope": 6860, + "src": "1134:95:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6861, + "src": "210:1021:25" + } + ], + "src": "0:1232:25" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.819Z", + "devdoc": { + "details": "see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md", + "methods": { + "supportsInterface(bytes4)": { + "details": "Interface identification is specified in ERC-165. This function uses less than 30,000 gas.", + "params": { + "interfaceId": "The interface identifier, as specified in ERC-165" + } + } + }, + "title": "ERC721 Non-Fungible Token Standard basic interface" + }, + "userdoc": { + "methods": { + "supportsInterface(bytes4)": { + "notice": "Query if a contract implements an interface" + } + } + } +} \ No newline at end of file diff --git a/contracts/IERC721Receiver.json b/contracts/IERC721Receiver.json new file mode 100644 index 0000000..ba61d83 --- /dev/null +++ b/contracts/IERC721Receiver.json @@ -0,0 +1,482 @@ +{ + "contractName": "IERC721Receiver", + "abi": [ + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"The ERC721 smart contract calls this function on the recipient after a `safeTransfer`. This function MUST return the function selector, otherwise the caller will revert the transaction. The selector to be returned can be obtained as `this.onERC721Received.selector`. This function MAY throw to revert and reject the transfer. Note: the ERC721 contract address is always the message sender.\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"operator\":\"The address which called `safeTransferFrom` function\",\"tokenId\":\"The NFT identifier which is being transferred\"},\"return\":\"`bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`\"}},\"title\":\"ERC721 token receiver interface\"},\"userdoc\":{\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"notice\":\"Handle the receipt of an NFT\"}}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x5e7281dbd14cf07af0974ce830c6242062cd430b70658878d49b5f5c1e2ec0aa\",\"urls\":[\"bzz-raw://3c9374b456bf5fde2c473331ff75bed9c6be3634948ba6a6507e4c19c2abf605\",\"dweb:/ipfs/QmUm5NKd1ToSr8MHVVanQv3XEkQpmYKw2441KXYyXPE6np\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ncontract IERC721Receiver {\n /**\n * @notice Handle the receipt of an NFT\n * @dev The ERC721 smart contract calls this function on the recipient\n * after a `safeTransfer`. This function MUST return the function selector,\n * otherwise the caller will revert the transaction. The selector to be\n * returned can be obtained as `this.onERC721Received.selector`. This\n * function MAY throw to revert and reject the transfer.\n * Note: the ERC721 contract address is always the message sender.\n * @param operator The address which called `safeTransferFrom` function\n * @param from The address which previously owned the token\n * @param tokenId The NFT identifier which is being transferred\n * @param data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\n */\n function onERC721Received(address operator, address from, uint256 tokenId, bytes memory data)\n public returns (bytes4);\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol", + "exportedSymbols": { + "IERC721Receiver": [ + 6876 + ] + }, + "id": 6877, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6862, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:26" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts.", + "fullyImplemented": false, + "id": 6876, + "linearizedBaseContracts": [ + 6876 + ], + "name": "IERC721Receiver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": "@notice Handle the receipt of an NFT\n@dev The ERC721 smart contract calls this function on the recipient\nafter a `safeTransfer`. This function MUST return the function selector,\notherwise the caller will revert the transaction. The selector to be\nreturned can be obtained as `this.onERC721Received.selector`. This\nfunction MAY throw to revert and reject the transfer.\nNote: the ERC721 contract address is always the message sender.\n@param operator The address which called `safeTransferFrom` function\n@param from The address which previously owned the token\n@param tokenId The NFT identifier which is being transferred\n@param data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`", + "id": 6875, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "onERC721Received", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6864, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6875, + "src": "1086:16:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6863, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1086:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6866, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6875, + "src": "1104:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6865, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1104:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6868, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6875, + "src": "1118:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1118:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6870, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 6875, + "src": "1135:17:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6869, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1135:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1085:68:26" + }, + "returnParameters": { + "id": 6874, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6873, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6875, + "src": "1174:6:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6872, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1174:6:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1173:8:26" + }, + "scope": 6876, + "src": "1060:122:26", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6877, + "src": "178:1006:26" + } + ], + "src": "0:1185:26" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol", + "exportedSymbols": { + "IERC721Receiver": [ + 6876 + ] + }, + "id": 6877, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6862, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:26" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts.", + "fullyImplemented": false, + "id": 6876, + "linearizedBaseContracts": [ + 6876 + ], + "name": "IERC721Receiver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": "@notice Handle the receipt of an NFT\n@dev The ERC721 smart contract calls this function on the recipient\nafter a `safeTransfer`. This function MUST return the function selector,\notherwise the caller will revert the transaction. The selector to be\nreturned can be obtained as `this.onERC721Received.selector`. This\nfunction MAY throw to revert and reject the transfer.\nNote: the ERC721 contract address is always the message sender.\n@param operator The address which called `safeTransferFrom` function\n@param from The address which previously owned the token\n@param tokenId The NFT identifier which is being transferred\n@param data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`", + "id": 6875, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "onERC721Received", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6864, + "name": "operator", + "nodeType": "VariableDeclaration", + "scope": 6875, + "src": "1086:16:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6863, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1086:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6866, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6875, + "src": "1104:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6865, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1104:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6868, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 6875, + "src": "1118:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1118:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6870, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 6875, + "src": "1135:17:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6869, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1135:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1085:68:26" + }, + "returnParameters": { + "id": 6874, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6873, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6875, + "src": "1174:6:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6872, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1174:6:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1173:8:26" + }, + "scope": 6876, + "src": "1060:122:26", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6877, + "src": "178:1006:26" + } + ], + "src": "0:1185:26" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.820Z", + "devdoc": { + "details": "Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.", + "methods": { + "onERC721Received(address,address,uint256,bytes)": { + "details": "The ERC721 smart contract calls this function on the recipient after a `safeTransfer`. This function MUST return the function selector, otherwise the caller will revert the transaction. The selector to be returned can be obtained as `this.onERC721Received.selector`. This function MAY throw to revert and reject the transfer. Note: the ERC721 contract address is always the message sender.", + "params": { + "data": "Additional data with no specified format", + "from": "The address which previously owned the token", + "operator": "The address which called `safeTransferFrom` function", + "tokenId": "The NFT identifier which is being transferred" + }, + "return": "`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`" + } + }, + "title": "ERC721 token receiver interface" + }, + "userdoc": { + "methods": { + "onERC721Received(address,address,uint256,bytes)": { + "notice": "Handle the receipt of an NFT" + } + } + } +} \ No newline at end of file diff --git a/contracts/Migrations.json b/contracts/Migrations.json new file mode 100644 index 0000000..7599003 --- /dev/null +++ b/contracts/Migrations.json @@ -0,0 +1,1449 @@ +{ + "contractName": "Migrations", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [], + "name": "last_completed_migration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "completed", + "type": "uint256" + } + ], + "name": "setCompleted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "new_address", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"new_address\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/Migrations.sol\":{\"keccak256\":\"0x9d3321c16dbe362eb7f41fc5f8791cc7695b9d8a02a5237079f4dfdf1c3be261\",\"urls\":[\"bzz-raw://ded2e3aeb116a4f93a513127847d3697568d8c72530ad016a20e5bb4e311140b\",\"dweb:/ipfs/QmaoSY9AnPj4Rh1YG2LVzUerqxaZ6SmiFkAHwsPcmfQM9E\"]},\"@ensdomains/ens/contracts/Deed.sol\":{\"keccak256\":\"0x7b4abd2f65e2e093743077b899d0fb4952627ad7ff6104b840f9869f5baa5e96\",\"urls\":[\"bzz-raw://d72dc40eb83ded3cca64d6c1b9958f665f4cd61115fed4d32dfd62d0c6ded0fc\",\"dweb:/ipfs/Qmdkef7QyeJDF96ToptWRWroYYuD8XjCvrtxy46dA62iA2\"]},\"@ensdomains/ens/contracts/DeedImplementation.sol\":{\"keccak256\":\"0x91242ba8032d5e01a8a59da84afb4d0d5b1007d4257bde8e6caa20fbc700cdc7\",\"urls\":[\"bzz-raw://6810d6c6038674ba3736a199aa71d2a9bcbbb10bffc796f13e1b52de0de91854\",\"dweb:/ipfs/QmdSjH6EhvqTnqhVKkUkvs6PVT67wAxq4gwerFLZ4UsD5c\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ens/contracts/ENSRegistry.sol\":{\"keccak256\":\"0xa40b635d209272928968c804b0a8ee390d599e84100b491c9ad38e86b841fed8\",\"urls\":[\"bzz-raw://8bb61b4f5773f6ddd5e4abde74f08127b86a6bc07466cbfba119760bcfb9aa59\",\"dweb:/ipfs/QmRckNAmD2gqVSocvBbLPNDhMrFgHdRaErR7MnY7TLr7Yx\"]},\"@ensdomains/ens/contracts/ENSRegistryWithFallback.sol\":{\"keccak256\":\"0x9152ac61bc1136f1da2ae708fb7de2205f4e466f1f4f894ab9a31d0399ec3332\",\"urls\":[\"bzz-raw://27fbb8001bfdcab0434f46ed11489da81556598016e44a2fd7c11fc455d6743b\",\"dweb:/ipfs/QmXV3zcjhQFAEoXWDZvuVCZBqv9aCAPe3zJBoDQHBMrsPc\"]},\"@ensdomains/ens/contracts/HashRegistrar.sol\":{\"keccak256\":\"0xfa35370373bb3f4393d2b32908c526651fbc46cad2e313c9c8b2e6d051083b11\",\"urls\":[\"bzz-raw://1dbfe101894eb558901c4020e113a5b63c0f1562112902736093df5eebe81afd\",\"dweb:/ipfs/QmPDdcczyuE8iAHauYWrLCG3FSF8vKmDAW2r2ZGvpR1NTs\"]},\"@ensdomains/ens/contracts/Registrar.sol\":{\"keccak256\":\"0xaef3f85ba0cf0544485d506a3f93719a90f8f28ef6c59f7175955768bec719bb\",\"urls\":[\"bzz-raw://fc1be7eec872590585a2dfbc0b3d0ef332444dd528ee75e96fb107f265ccc5e7\",\"dweb:/ipfs/QmUCo66Bpmic9rHjdjw2VrmmJ7c7Ma1oHJ2ZvbtctsDM6g\"]},\"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\":{\"keccak256\":\"0x8f8f496603d868fdf3ddf31c54fb6eed6a865f2adbf568fe0b3d999d4fa667f4\",\"urls\":[\"bzz-raw://40c16e89553e4af1dad651bdb63208f5e20429e0e5dbd716eb0cad14eafb96be\",\"dweb:/ipfs/QmYdCBZHRwRgKPRmCvghw7hbdvqqcJJCKg5JTtzWWwoSQP\"]},\"@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol\":{\"keccak256\":\"0xb536cb0800dc30e1a911ac804767801a5645206cd85400d1dd98f684cec9be08\",\"urls\":[\"bzz-raw://b4e295aa3d63497d2cef270a6cd8ceac88cd9bca13bbabeb1ab1d076764c790e\",\"dweb:/ipfs/Qme74RPg5Dbu1uXrovvKTB5Lrdo6TH8fCdQ2B1b5Daf6sB\"]},\"@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol\":{\"keccak256\":\"0x107884e3c585790a5ebbea3638f8f60067766514968e613d531b15bb9a1aae26\",\"urls\":[\"bzz-raw://e33504ac91e1c7303f054d1248d09ea13b97ba155e8d55732c16252cd6cbb46b\",\"dweb:/ipfs/QmU6G3cNfyc9q1WsSryrBn2J2ehuFhyZChe5DS1RRfosYg\"]},\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x9da23588f58d0fa67097984e151bdaa6aa69c5e192bae17b44a90b0cfc194736\",\"urls\":[\"bzz-raw://5e88c7dbb4d1e6d3f133112b9994491b8531f5d9103cf41becd1c267d2cd67af\",\"dweb:/ipfs/QmNuSmDBgv616hXRshbHx48ufdZoSrcFHpwqP4iPg2ac4X\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzz-raw://1eb493553b27efd46c231a836a83ce50d215639feb97b4aac9f301d0fd034ff5\",\"dweb:/ipfs/QmbMdvSXcqGKxeeYvzF3VrWpoHQyVzMXBhzhAokF2Gdymv\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzz-raw://f07a2c393caa85f62f0aaa461e3edd50aa59371d4209778ba0558d7f8b4b856c\",\"dweb:/ipfs/QmeN3ZiYGSjCnQFeYaJNgoXjF9eDue1g3e9pqManRkeBtV\"]},\"openzeppelin-solidity/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x0546fa662082b36ac9cbd418c0722a3c52718b9dc3fe3e284081d73f48036228\",\"urls\":[\"bzz-raw://a50dd4c1c7afa4ade53ee47bc782eaad72a45091ed9756081616b33eb6c150c4\",\"dweb:/ipfs/Qmb88e4EnSbJv2BbayFg6wZpFMJ9aPF7r4cwMjnZkUu4VK\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x1f059ee943273719130df645fa38069b792988e8b732585528d5b1265f5aa046\",\"urls\":[\"bzz-raw://31e4d99091a83a42a6ea14d74ceae2ec3ffb2905c7ee07358875af72ea188333\",\"dweb:/ipfs/Qmf7nHc6BwhbyawapCVRZHzhBHNoA8ftpQWmGSyToVKVzN\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x5e7281dbd14cf07af0974ce830c6242062cd430b70658878d49b5f5c1e2ec0aa\",\"urls\":[\"bzz-raw://3c9374b456bf5fde2c473331ff75bed9c6be3634948ba6a6507e4c19c2abf605\",\"dweb:/ipfs/QmUm5NKd1ToSr8MHVVanQv3XEkQpmYKw2441KXYyXPE6np\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0x5c731061b804fa256fc8c05150eafe5d20b6bb94541a8f187912bf84f7033f34\",\"urls\":[\"bzz-raw://a3c2d9f046beebab7fb41b1b124a6a124a36f510f7c67365861402ac831bdc71\",\"dweb:/ipfs/QmUtASRgitregbKH83anopLtF9vFQe3BKeAjhUa6F7t9YV\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102b7806100606000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100955780638da5cb5b146100b3578063fdacd576146100fd575b600080fd5b6100936004803603602081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061012b565b005b61009d6101f7565b6040518082815260200191505060405180910390f35b6100bb6101fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101296004803603602081101561011357600080fd5b8101908080359060200190929190505050610222565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101f45760008190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101da57600080fd5b505af11580156101ee573d6000803e3d6000fd5b50505050505b50565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561027f57806001819055505b5056fea265627a7a72315820dbee59ebfa002b53458424f602ddd9d53ae536c9f171a271a6db599caa8152cf64736f6c63430005100032", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100955780638da5cb5b146100b3578063fdacd576146100fd575b600080fd5b6100936004803603602081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061012b565b005b61009d6101f7565b6040518082815260200191505060405180910390f35b6100bb6101fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101296004803603602081101561011357600080fd5b8101908080359060200190929190505050610222565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101f45760008190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101da57600080fd5b505af11580156101ee573d6000803e3d6000fd5b50505050505b50565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561027f57806001819055505b5056fea265627a7a72315820dbee59ebfa002b53458424f602ddd9d53ae536c9f171a271a6db599caa8152cf64736f6c63430005100032", + "sourceMap": "285:480:3:-;;;437:50;8:9:-1;5:2;;;30:1;27;20:12;5:2;437:50:3;472:10;464:5;;:18;;;;;;;;;;;;;;;;;;285:480;;;;;;", + "deployedSourceMap": "285:480:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;285:480:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;598:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;598:165:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;333:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;309:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;491:103;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;491:103:3;;;;;;;;;;;;;;;;;:::i;:::-;;598:165;420:5;;;;;;;;;;;406:19;;:10;:19;;;402:26;;;660:19;693:11;660:45;;711:8;:21;;;733:24;;711:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;711:47:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;711:47:3;;;;427:1;402:26;598:165;:::o;333:36::-;;;;:::o;309:20::-;;;;;;;;;;;;;:::o;491:103::-;420:5;;;;;;;;;;;406:19;;:10;:19;;;402:26;;;580:9;553:24;:36;;;;402:26;491:103;:::o", + "source": "pragma solidity ^0.5.0;\n\n// Required so that tests can find it\nimport \"@ensdomains/ens/contracts/ENSRegistryWithFallback.sol\";\nimport \"@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol\";\nimport \"@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol\";\n\ncontract Migrations {\n address public owner;\n uint public last_completed_migration;\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n constructor() public {\n owner = msg.sender;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) public restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n", + "sourcePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/Migrations.sol", + "ast": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 1074 + ] + }, + "id": 1075, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1016, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:3" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENSRegistryWithFallback.sol", + "file": "@ensdomains/ens/contracts/ENSRegistryWithFallback.sol", + "id": 1017, + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 3136, + "src": "63:63:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol", + "file": "@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol", + "id": 1018, + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 5901, + "src": "127:79:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol", + "file": "@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol", + "id": 1019, + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 5316, + "src": "207:76:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1074, + "linearizedBaseContracts": [ + 1074 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1021, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "309:20:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1020, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "309:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1023, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "333:36:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1022, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "333:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 1031, + "nodeType": "Block", + "src": "396:37:3", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1025, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "406:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "406:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1027, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "420:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "406:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1030, + "nodeType": "IfStatement", + "src": "402:26:3", + "trueBody": { + "id": 1029, + "nodeType": "PlaceholderStatement", + "src": "427:1:3" + } + } + ] + }, + "documentation": null, + "id": 1032, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1024, + "nodeType": "ParameterList", + "parameters": [], + "src": "393:2:3" + }, + "src": "374:59:3", + "visibility": "internal" + }, + { + "body": { + "id": 1040, + "nodeType": "Block", + "src": "458:29:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1035, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "464:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1036, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "472:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "472:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "464:18:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1039, + "nodeType": "ExpressionStatement", + "src": "464:18:3" + } + ] + }, + "documentation": null, + "id": 1041, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1033, + "nodeType": "ParameterList", + "parameters": [], + "src": "448:2:3" + }, + "returnParameters": { + "id": 1034, + "nodeType": "ParameterList", + "parameters": [], + "src": "458:0:3" + }, + "scope": 1074, + "src": "437:50:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1052, + "nodeType": "Block", + "src": "547:47:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1048, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "553:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1049, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1043, + "src": "580:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "553:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1051, + "nodeType": "ExpressionStatement", + "src": "553:36:3" + } + ] + }, + "documentation": null, + "id": 1053, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1046, + "modifierName": { + "argumentTypes": null, + "id": 1045, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "536:10:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "536:10:3" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1043, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 1053, + "src": "513:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1042, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "513:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "512:16:3" + }, + "returnParameters": { + "id": 1047, + "nodeType": "ParameterList", + "parameters": [], + "src": "547:0:3" + }, + "scope": 1074, + "src": "491:103:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1072, + "nodeType": "Block", + "src": "654:109:3", + "statements": [ + { + "assignments": [ + 1061 + ], + "declarations": [ + { + "constant": false, + "id": 1061, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "660:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$1074", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 1060, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1074, + "src": "660:10:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$1074", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1065, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1063, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1055, + "src": "693:11:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1062, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "682:10:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$1074_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 1064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "682:23:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$1074", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "660:45:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1069, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "733:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1066, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1061, + "src": "711:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$1074", + "typeString": "contract Migrations" + } + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 1053, + "src": "711:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 1070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "711:47:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1071, + "nodeType": "ExpressionStatement", + "src": "711:47:3" + } + ] + }, + "documentation": null, + "id": 1073, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1058, + "modifierName": { + "argumentTypes": null, + "id": 1057, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "643:10:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "643:10:3" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1055, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "615:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1054, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "615:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "614:21:3" + }, + "returnParameters": { + "id": 1059, + "nodeType": "ParameterList", + "parameters": [], + "src": "654:0:3" + }, + "scope": 1074, + "src": "598:165:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1075, + "src": "285:480:3" + } + ], + "src": "0:766:3" + }, + "legacyAST": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 1074 + ] + }, + "id": 1075, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1016, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:3" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENSRegistryWithFallback.sol", + "file": "@ensdomains/ens/contracts/ENSRegistryWithFallback.sol", + "id": 1017, + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 3136, + "src": "63:63:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol", + "file": "@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol", + "id": 1018, + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 5901, + "src": "127:79:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol", + "file": "@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol", + "id": 1019, + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 5316, + "src": "207:76:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1074, + "linearizedBaseContracts": [ + 1074 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1021, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "309:20:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1020, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "309:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1023, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "333:36:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1022, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "333:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 1031, + "nodeType": "Block", + "src": "396:37:3", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1025, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "406:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "406:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1027, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "420:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "406:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1030, + "nodeType": "IfStatement", + "src": "402:26:3", + "trueBody": { + "id": 1029, + "nodeType": "PlaceholderStatement", + "src": "427:1:3" + } + } + ] + }, + "documentation": null, + "id": 1032, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1024, + "nodeType": "ParameterList", + "parameters": [], + "src": "393:2:3" + }, + "src": "374:59:3", + "visibility": "internal" + }, + { + "body": { + "id": 1040, + "nodeType": "Block", + "src": "458:29:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1035, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "464:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1036, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "472:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "472:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "464:18:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1039, + "nodeType": "ExpressionStatement", + "src": "464:18:3" + } + ] + }, + "documentation": null, + "id": 1041, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1033, + "nodeType": "ParameterList", + "parameters": [], + "src": "448:2:3" + }, + "returnParameters": { + "id": 1034, + "nodeType": "ParameterList", + "parameters": [], + "src": "458:0:3" + }, + "scope": 1074, + "src": "437:50:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1052, + "nodeType": "Block", + "src": "547:47:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1048, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "553:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1049, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1043, + "src": "580:9:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "553:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1051, + "nodeType": "ExpressionStatement", + "src": "553:36:3" + } + ] + }, + "documentation": null, + "id": 1053, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1046, + "modifierName": { + "argumentTypes": null, + "id": 1045, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "536:10:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "536:10:3" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1043, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 1053, + "src": "513:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1042, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "513:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "512:16:3" + }, + "returnParameters": { + "id": 1047, + "nodeType": "ParameterList", + "parameters": [], + "src": "547:0:3" + }, + "scope": 1074, + "src": "491:103:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1072, + "nodeType": "Block", + "src": "654:109:3", + "statements": [ + { + "assignments": [ + 1061 + ], + "declarations": [ + { + "constant": false, + "id": 1061, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "660:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$1074", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 1060, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1074, + "src": "660:10:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$1074", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1065, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1063, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1055, + "src": "693:11:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1062, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "682:10:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$1074_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 1064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "682:23:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$1074", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "660:45:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1069, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "733:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1066, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1061, + "src": "711:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$1074", + "typeString": "contract Migrations" + } + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 1053, + "src": "711:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 1070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "711:47:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1071, + "nodeType": "ExpressionStatement", + "src": "711:47:3" + } + ] + }, + "documentation": null, + "id": 1073, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1058, + "modifierName": { + "argumentTypes": null, + "id": 1057, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "643:10:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "643:10:3" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1055, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "615:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1054, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "615:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "614:21:3" + }, + "returnParameters": { + "id": 1059, + "nodeType": "ParameterList", + "parameters": [], + "src": "654:0:3" + }, + "scope": 1074, + "src": "598:165:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1075, + "src": "285:480:3" + } + ], + "src": "0:766:3" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.754Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/Migrations.sol b/contracts/Migrations.sol deleted file mode 100644 index 3a95e10..0000000 --- a/contracts/Migrations.sol +++ /dev/null @@ -1,28 +0,0 @@ -pragma solidity ^0.5.0; - -// Required so that tests can find it -import "@ensdomains/ens/contracts/ENSRegistryWithFallback.sol"; -import "@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol"; -import "@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol"; - -contract Migrations { - address public owner; - uint public last_completed_migration; - - modifier restricted() { - if (msg.sender == owner) _; - } - - constructor() public { - owner = msg.sender; - } - - function setCompleted(uint completed) public restricted { - last_completed_migration = completed; - } - - function upgrade(address new_address) public restricted { - Migrations upgraded = Migrations(new_address); - upgraded.setCompleted(last_completed_migration); - } -} diff --git a/contracts/OldBaseRegistrarImplementation.json b/contracts/OldBaseRegistrarImplementation.json new file mode 100644 index 0000000..7fa7fba --- /dev/null +++ b/contracts/OldBaseRegistrarImplementation.json @@ -0,0 +1,16814 @@ +{ + "contractName": "OldBaseRegistrarImplementation", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ENS", + "name": "_ens", + "type": "address" + }, + { + "internalType": "contract HashRegistrar", + "name": "_previousRegistrar", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_baseNode", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_transferPeriodEnds", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "ControllerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "ControllerRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameMigrated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameRenewed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "GRACE_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MIGRATION_LOCK_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "baseNode", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "controllers", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "previousRegistrar", + "outputs": [ + { + "internalType": "contract Registrar", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "transferPeriodEnds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "addController", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "removeController", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "nameExpires", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "available", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "register", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "registerOnly", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "renew", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "reclaim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "contract Deed", + "name": "deed", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "acceptRegistrarTransfer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ENS\",\"name\":\"_ens\",\"type\":\"address\"},{\"internalType\":\"contract HashRegistrar\",\"name\":\"_previousRegistrar\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_baseNode\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_transferPeriodEnds\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"ControllerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"ControllerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameMigrated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameRenewed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"GRACE_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MIGRATION_LOCK_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"contract Deed\",\"name\":\"deed\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"acceptRegistrarTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"addController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"available\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"baseNode\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"controllers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"nameExpires\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"previousRegistrar\",\"outputs\":[{\"internalType\":\"contract Registrar\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"reclaim\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"registerOnly\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"removeController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"renew\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"transferPeriodEnds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"acceptRegistrarTransfer(bytes32,address,uint256)\":{\"details\":\"Transfers a registration from the initial registrar. This function is called by the initial registrar when a user calls `transferRegistrars`.\"},\"approve(address,uint256)\":{\"details\":\"Approves another address to transfer the given token ID The zero address indicates there is no approved address. There can only be one approved address per token at a given time. Can only be called by the token owner or an approved operator.\",\"params\":{\"to\":\"address to be approved for the given token ID\",\"tokenId\":\"uint256 ID of the token to be approved\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address\",\"params\":{\"owner\":\"address to query the balance of\"},\"return\":\"uint256 representing the amount owned by the passed address\"},\"getApproved(uint256)\":{\"details\":\"Gets the approved address for a token ID, or zero if no address set Reverts if the token ID does not exist.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query the approval of\"},\"return\":\"address currently approved for the given token ID\"},\"isApprovedForAll(address,address)\":{\"details\":\"Tells whether an operator is approved by a given owner\",\"params\":{\"operator\":\"operator address which you want to query the approval of\",\"owner\":\"owner address which you want to query the approval of\"},\"return\":\"bool whether the given operator is approved by the given owner\"},\"isOwner()\":{\"return\":\"true if `msg.sender` is the owner of the contract.\"},\"owner()\":{\"return\":\"the address of the owner.\"},\"ownerOf(uint256)\":{\"details\":\"Gets the owner of the specified token ID. Names become unowned when their registration expires.\",\"params\":{\"tokenId\":\"uint256 ID of the token to query the owner of\"},\"return\":\"address currently marked as the owner of the given token ID\"},\"reclaim(uint256,address)\":{\"details\":\"Reclaim ownership of a name in ENS, if you own it in the registrar.\"},\"register(uint256,address,uint256)\":{\"details\":\"Register a name.\"},\"registerOnly(uint256,address,uint256)\":{\"details\":\"Register a name.\"},\"renounceOwnership()\":{\"details\":\"Allows the current owner to relinquish control of the contract.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`; otherwise, the transfer is reverted. * Requires the msg sender to be the owner, approved, or operator\",\"params\":{\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`; otherwise, the transfer is reverted. Requires the msg sender to be the owner, approved, or operator\",\"params\":{\"_data\":\"bytes data to send along with a safe transfer check\",\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf\",\"params\":{\"approved\":\"representing the status of the approval to be set\",\"to\":\"operator address to set the approval\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers the ownership of a given token ID to another address Usage of this method is discouraged, use `safeTransferFrom` whenever possible Requires the msg sender to be the owner, approved, or operator\",\"params\":{\"from\":\"current owner of the token\",\"to\":\"address to receive the ownership of the given token ID\",\"tokenId\":\"uint256 ID of the token to be transferred\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{\"renounceOwnership()\":{\"notice\":\"Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore.\"}}}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol\":\"OldBaseRegistrarImplementation\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/Deed.sol\":{\"keccak256\":\"0x7b4abd2f65e2e093743077b899d0fb4952627ad7ff6104b840f9869f5baa5e96\",\"urls\":[\"bzz-raw://d72dc40eb83ded3cca64d6c1b9958f665f4cd61115fed4d32dfd62d0c6ded0fc\",\"dweb:/ipfs/Qmdkef7QyeJDF96ToptWRWroYYuD8XjCvrtxy46dA62iA2\"]},\"@ensdomains/ens/contracts/DeedImplementation.sol\":{\"keccak256\":\"0x91242ba8032d5e01a8a59da84afb4d0d5b1007d4257bde8e6caa20fbc700cdc7\",\"urls\":[\"bzz-raw://6810d6c6038674ba3736a199aa71d2a9bcbbb10bffc796f13e1b52de0de91854\",\"dweb:/ipfs/QmdSjH6EhvqTnqhVKkUkvs6PVT67wAxq4gwerFLZ4UsD5c\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ens/contracts/HashRegistrar.sol\":{\"keccak256\":\"0xfa35370373bb3f4393d2b32908c526651fbc46cad2e313c9c8b2e6d051083b11\",\"urls\":[\"bzz-raw://1dbfe101894eb558901c4020e113a5b63c0f1562112902736093df5eebe81afd\",\"dweb:/ipfs/QmPDdcczyuE8iAHauYWrLCG3FSF8vKmDAW2r2ZGvpR1NTs\"]},\"@ensdomains/ens/contracts/Registrar.sol\":{\"keccak256\":\"0xaef3f85ba0cf0544485d506a3f93719a90f8f28ef6c59f7175955768bec719bb\",\"urls\":[\"bzz-raw://fc1be7eec872590585a2dfbc0b3d0ef332444dd528ee75e96fb107f265ccc5e7\",\"dweb:/ipfs/QmUCo66Bpmic9rHjdjw2VrmmJ7c7Ma1oHJ2ZvbtctsDM6g\"]},\"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\":{\"keccak256\":\"0x8f8f496603d868fdf3ddf31c54fb6eed6a865f2adbf568fe0b3d999d4fa667f4\",\"urls\":[\"bzz-raw://40c16e89553e4af1dad651bdb63208f5e20429e0e5dbd716eb0cad14eafb96be\",\"dweb:/ipfs/QmYdCBZHRwRgKPRmCvghw7hbdvqqcJJCKg5JTtzWWwoSQP\"]},\"@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol\":{\"keccak256\":\"0x107884e3c585790a5ebbea3638f8f60067766514968e613d531b15bb9a1aae26\",\"urls\":[\"bzz-raw://e33504ac91e1c7303f054d1248d09ea13b97ba155e8d55732c16252cd6cbb46b\",\"dweb:/ipfs/QmU6G3cNfyc9q1WsSryrBn2J2ehuFhyZChe5DS1RRfosYg\"]},\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x9da23588f58d0fa67097984e151bdaa6aa69c5e192bae17b44a90b0cfc194736\",\"urls\":[\"bzz-raw://5e88c7dbb4d1e6d3f133112b9994491b8531f5d9103cf41becd1c267d2cd67af\",\"dweb:/ipfs/QmNuSmDBgv616hXRshbHx48ufdZoSrcFHpwqP4iPg2ac4X\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzz-raw://1eb493553b27efd46c231a836a83ce50d215639feb97b4aac9f301d0fd034ff5\",\"dweb:/ipfs/QmbMdvSXcqGKxeeYvzF3VrWpoHQyVzMXBhzhAokF2Gdymv\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzz-raw://f07a2c393caa85f62f0aaa461e3edd50aa59371d4209778ba0558d7f8b4b856c\",\"dweb:/ipfs/QmeN3ZiYGSjCnQFeYaJNgoXjF9eDue1g3e9pqManRkeBtV\"]},\"openzeppelin-solidity/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x0546fa662082b36ac9cbd418c0722a3c52718b9dc3fe3e284081d73f48036228\",\"urls\":[\"bzz-raw://a50dd4c1c7afa4ade53ee47bc782eaad72a45091ed9756081616b33eb6c150c4\",\"dweb:/ipfs/Qmb88e4EnSbJv2BbayFg6wZpFMJ9aPF7r4cwMjnZkUu4VK\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x1f059ee943273719130df645fa38069b792988e8b732585528d5b1265f5aa046\",\"urls\":[\"bzz-raw://31e4d99091a83a42a6ea14d74ceae2ec3ffb2905c7ee07358875af72ea188333\",\"dweb:/ipfs/Qmf7nHc6BwhbyawapCVRZHzhBHNoA8ftpQWmGSyToVKVzN\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x5e7281dbd14cf07af0974ce830c6242062cd430b70658878d49b5f5c1e2ec0aa\",\"urls\":[\"bzz-raw://3c9374b456bf5fde2c473331ff75bed9c6be3634948ba6a6507e4c19c2abf605\",\"dweb:/ipfs/QmUm5NKd1ToSr8MHVVanQv3XEkQpmYKw2441KXYyXPE6np\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0x5c731061b804fa256fc8c05150eafe5d20b6bb94541a8f187912bf84f7033f34\",\"urls\":[\"bzz-raw://a3c2d9f046beebab7fb41b1b124a6a124a36f510f7c67365861402ac831bdc71\",\"dweb:/ipfs/QmUtASRgitregbKH83anopLtF9vFQe3BKeAjhUa6F7t9YV\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b506040516200333138038062003331833981810160405260808110156200003757600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050506200007e6301ffc9a760e01b6200020360201b60201c565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3620001546380ac58cd60e01b6200020360201b60201c565b6224ea00600202420181116200016957600080fd5b83600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160038190555082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060098190555050505050620002a3565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156200023757600080fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61307e80620002b36000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c80638f32d59b1161010f578063d6e4fa86116100a2578063ea9e107a11610071578063ea9e107a14610a72578063f2fde38b14610aca578063f6a74ed714610b0e578063fca247ac14610b52576101e5565b8063d6e4fa861461093a578063da8c229e1461097c578063ddf7fcb0146109d8578063e985e9c5146109f6576101e5565b8063ab14ec59116100de578063ab14ec5914610781578063b88d4fde146107cb578063c1a287e2146108d0578063c475abff146108ee576101e5565b80638f32d59b1461068557806396e494e8146106a7578063a22cb465146106ed578063a7fc7a071461073d576101e5565b806342842e0e116101875780636b1bd1c5116101565780636b1bd1c5146105bb57806370a08231146105d9578063715018a6146106315780638da5cb5b1461063b576101e5565b806342842e0e1461047d5780634ae05da7146104eb5780634e543b26146105095780636352211e1461054d576101e5565b80630e297b45116101c35780630e297b451461030b57806323b872dd1461037757806328ed4f6c146103e55780633f15457f14610433576101e5565b806301ffc9a7146101ea578063081812fc1461024f578063095ea7b3146102bd575b600080fd5b6102356004803603602081101561020057600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610bbe565b604051808215151515815260200191505060405180910390f35b61027b6004803603602081101561026557600080fd5b8101908080359060200190929190505050610e7b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610309600480360360408110156102d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610eca565b005b6103616004803603606081101561032157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061100b565b6040518082815260200191505060405180910390f35b6103e36004803603606081101561038d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611023565b005b610431600480360360408110156103fb57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611046565b005b61043b611236565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104e96004803603606081101561049357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061125c565b005b6104f361127c565b6040518082815260200191505060405180910390f35b61054b6004803603602081101561051f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611282565b005b6105796004803603602081101561056357600080fd5b8101908080359060200190929190505050611359565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105c361138a565b6040518082815260200191505060405180910390f35b61061b600480360360208110156105ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611391565b6040518082815260200191505060405180910390f35b610639611413565b005b6106436114e5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61068d61150f565b604051808215151515815260200191505060405180910390f35b6106d3600480360360208110156106bd57600080fd5b8101908080359060200190929190505050611567565b604051808215151515815260200191505060405180910390f35b61073b6004803603604081101561070357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061166f565b005b61077f6004803603602081101561075357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117a9565b005b610789611858565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108ce600480360360808110156107e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561084857600080fd5b82018360208201111561085a57600080fd5b8035906020019184600183028401116401000000008311171561087c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061187e565b005b6108d86118a4565b6040518082815260200191505060405180910390f35b6109246004803603604081101561090457600080fd5b8101908080359060200190929190803590602001909291905050506118ab565b6040518082815260200191505060405180910390f35b6109666004803603602081101561095057600080fd5b8101908080359060200190929190505050611ac2565b6040518082815260200191505060405180910390f35b6109be6004803603602081101561099257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611adf565b604051808215151515815260200191505060405180910390f35b6109e0611aff565b6040518082815260200191505060405180910390f35b610a5860048036036040811015610a0c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b05565b604051808215151515815260200191505060405180910390f35b610ac860048036036060811015610a8857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b99565b005b610b0c60048036036020811015610ae057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b005b610b5060048036036020811015610b2457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120d5565b005b610ba860048036036060811015610b6857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612184565b6040518082815260200191505060405180910390f35b600060405180807f737570706f727473496e74657266616365286279746573342900000000000000815250601901905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610df757506040518080612ffa602f9139602f01905060405180910390206040518080612fd160299139602901905060405180910390206040518080612fac60259139602501905060405180910390206040518080613029602191396021019050604051809103902060405180807f736574417070726f76616c466f72416c6c28616464726573732c626f6f6c2900815250601f019050604051809103902060405180807f676574417070726f7665642875696e74323536290000000000000000000000008152506014019050604051809103902060405180807f617070726f766528616464726573732c75696e743235362900000000000000008152506018019050604051809103902060405180807f6f776e65724f662875696e7432353629000000000000000000000000000000008152506010019050604051809103902060405180807f62616c616e63654f662875696e743235362900000000000000000000000000008152506012019050604051809103902018181818181818187bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610e74575060405180807f7265636c61696d2875696e743235362c61646472657373290000000000000000815250601801905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000610e868261219c565b610e8f57600080fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610ed582611359565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f1057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f505750610f4f8133611b05565b5b610f5957600080fd5b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600061101a848484600061220e565b90509392505050565b61102d338261250a565b61103657600080fd5b61104183838361259f565b505050565b3073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156110d257600080fd5b505afa1580156110e6573d6000803e3d6000fd5b505050506040513d60208110156110fc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461112d57600080fd5b611137338361250a565b61114057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548460001b846040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156111f657600080fd5b505af115801561120a573d6000803e3d6000fd5b505050506040513d602081101561122057600080fd5b8101908080519060200190929190505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112778383836040518060200160405280600081525061187e565b505050565b60095481565b61128a61150f565b61129357600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a600354836040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561133e57600080fd5b505af1158015611352573d6000803e3d6000fd5b5050505050565b600042600b6000848152602001908152602001600020541161137a57600080fd5b61138382612800565b9050919050565b6224ea0081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113cc57600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61141b61150f565b61142457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000426276a700600b6000858152602001908152602001600020540110611591576000905061166a565b6009544211806116675750600060058111156115a957fe5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166361d585da8460001b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561161f57600080fd5b505afa158015611633573d6000803e3d6000fd5b505050506040513d602081101561164957600080fd5b8101908080519060200190929190505050600581111561166557fe5b145b90505b919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116a857600080fd5b80600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6117b161150f565b6117ba57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d747460405160405180910390a250565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611889848484611023565b6118958484848461287c565b61189e57600080fd5b50505050565b6276a70081565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561193957600080fd5b505afa15801561194d573d6000803e3d6000fd5b505050506040513d602081101561196357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461199457600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119ea57600080fd5b426276a700600b600086815260200190815260200160002054011015611a0f57600080fd5b6276a70082016276a70083600b600087815260200190815260200160002054010111611a3a57600080fd5b81600b600085815260200190815260200160002060008282540192505081905550827f9b87a00e30f1ac65d898f070f8a3488fe60517182d0a2098e1b4b93a54aa9bd6600b6000868152602001908152602001600020546040518082815260200191505060405180910390a2600b600084815260200190815260200160002054905092915050565b6000600b6000838152602001908152602001600020549050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b60035481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611c2557600080fd5b505afa158015611c39573d6000803e3d6000fd5b505050506040513d6020811015611c4f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614611c8057600080fd5b60008360001c9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ce257600080fd5b6000600b60008381526020019081526020016000205414611d0257600080fd5b4260095411611d1057600080fd5b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267b6922866040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b158015611d8557600080fd5b505afa158015611d99573d6000803e3d6000fd5b505050506040513d60a0811015611daf57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192935090919250905050809150506224ea0042038110611e0957600080fd5b60008473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5157600080fd5b505afa158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b810190808051906020019092919050505090508473ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e86040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611ee357600080fd5b505af1158015611ef7573d6000803e3d6000fd5b50505050600954600b600085815260200190815260200160002081905550611f1f8184612a65565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab592360035488846040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015611fd257600080fd5b505af1158015611fe6573d6000803e3d6000fd5b505050506040513d6020811015611ffc57600080fd5b8101908080519060200190929190505050508073ffffffffffffffffffffffffffffffffffffffff16837fea3d7e1195a15d2ddcd859b01abd4c6b960fa9f9264e499a70a90c7f0c64b7176009546040518082815260200191505060405180910390a38073ffffffffffffffffffffffffffffffffffffffff16837fb3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d96009546040518082815260200191505060405180910390a3505050505050565b6120c061150f565b6120c957600080fd5b6120d281612bfa565b50565b6120dd61150f565b6120e657600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e8111360405160405180910390a250565b6000612193848484600161220e565b90509392505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561229c57600080fd5b505afa1580156122b0573d6000803e3d6000fd5b505050506040513d60208110156122c657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146122f757600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661234d57600080fd5b61235685611567565b61235f57600080fd5b6276a70042016276a700844201011161237757600080fd5b824201600b60008781526020019081526020016000208190555061239a8561219c565b156123a9576123a885612cf4565b5b6123b38486612a65565b81156124ac57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548760001b876040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15801561246f57600080fd5b505af1158015612483573d6000803e3d6000fd5b505050506040513d602081101561249957600080fd5b8101908080519060200190929190505050505b8373ffffffffffffffffffffffffffffffffffffffff16857fb3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d98542016040518082815260200191505060405180910390a38242019050949350505050565b60008061251683611359565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061258557508373ffffffffffffffffffffffffffffffffffffffff1661256d84610e7b565b73ffffffffffffffffffffffffffffffffffffffff16145b8061259657506125958185611b05565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166125bf82611359565b73ffffffffffffffffffffffffffffffffffffffff16146125df57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561261957600080fd5b61262281612d09565b6126756001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dc790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061270b6001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612de790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561287357600080fd5b80915050919050565b600061289d8473ffffffffffffffffffffffffffffffffffffffff16612e06565b6128aa5760019050612a5d565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561298557808201518184015260208101905061296a565b50505050905090810190601f1680156129b25780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156129d457600080fd5b505af11580156129e8573d6000803e3d6000fd5b505050506040513d60208110156129fe57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a9f57600080fd5b612aa88161219c565b15612ab257600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612b576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612de790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612c3457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b612d06612d0082611359565b82612e19565b50565b600073ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612dc45760006006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600082821115612dd657600080fd5b600082840390508091505092915050565b600080828401905083811015612dfc57600080fd5b8091505092915050565b600080823b905060008111915050919050565b8173ffffffffffffffffffffffffffffffffffffffff16612e3982611359565b73ffffffffffffffffffffffffffffffffffffffff1614612e5957600080fd5b612e6281612d09565b612eb56001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dc790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e743235362c6279746573296973417070726f766564466f72416c6c28616464726573732c6164647265737329a265627a7a723158206e0289710176c394588010f602eb49cb51dff3ec6fb3627c4cf58fc94695675c64736f6c63430005100032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101e55760003560e01c80638f32d59b1161010f578063d6e4fa86116100a2578063ea9e107a11610071578063ea9e107a14610a72578063f2fde38b14610aca578063f6a74ed714610b0e578063fca247ac14610b52576101e5565b8063d6e4fa861461093a578063da8c229e1461097c578063ddf7fcb0146109d8578063e985e9c5146109f6576101e5565b8063ab14ec59116100de578063ab14ec5914610781578063b88d4fde146107cb578063c1a287e2146108d0578063c475abff146108ee576101e5565b80638f32d59b1461068557806396e494e8146106a7578063a22cb465146106ed578063a7fc7a071461073d576101e5565b806342842e0e116101875780636b1bd1c5116101565780636b1bd1c5146105bb57806370a08231146105d9578063715018a6146106315780638da5cb5b1461063b576101e5565b806342842e0e1461047d5780634ae05da7146104eb5780634e543b26146105095780636352211e1461054d576101e5565b80630e297b45116101c35780630e297b451461030b57806323b872dd1461037757806328ed4f6c146103e55780633f15457f14610433576101e5565b806301ffc9a7146101ea578063081812fc1461024f578063095ea7b3146102bd575b600080fd5b6102356004803603602081101561020057600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610bbe565b604051808215151515815260200191505060405180910390f35b61027b6004803603602081101561026557600080fd5b8101908080359060200190929190505050610e7b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610309600480360360408110156102d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610eca565b005b6103616004803603606081101561032157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061100b565b6040518082815260200191505060405180910390f35b6103e36004803603606081101561038d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611023565b005b610431600480360360408110156103fb57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611046565b005b61043b611236565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104e96004803603606081101561049357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061125c565b005b6104f361127c565b6040518082815260200191505060405180910390f35b61054b6004803603602081101561051f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611282565b005b6105796004803603602081101561056357600080fd5b8101908080359060200190929190505050611359565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105c361138a565b6040518082815260200191505060405180910390f35b61061b600480360360208110156105ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611391565b6040518082815260200191505060405180910390f35b610639611413565b005b6106436114e5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61068d61150f565b604051808215151515815260200191505060405180910390f35b6106d3600480360360208110156106bd57600080fd5b8101908080359060200190929190505050611567565b604051808215151515815260200191505060405180910390f35b61073b6004803603604081101561070357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061166f565b005b61077f6004803603602081101561075357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117a9565b005b610789611858565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108ce600480360360808110156107e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561084857600080fd5b82018360208201111561085a57600080fd5b8035906020019184600183028401116401000000008311171561087c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061187e565b005b6108d86118a4565b6040518082815260200191505060405180910390f35b6109246004803603604081101561090457600080fd5b8101908080359060200190929190803590602001909291905050506118ab565b6040518082815260200191505060405180910390f35b6109666004803603602081101561095057600080fd5b8101908080359060200190929190505050611ac2565b6040518082815260200191505060405180910390f35b6109be6004803603602081101561099257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611adf565b604051808215151515815260200191505060405180910390f35b6109e0611aff565b6040518082815260200191505060405180910390f35b610a5860048036036040811015610a0c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b05565b604051808215151515815260200191505060405180910390f35b610ac860048036036060811015610a8857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b99565b005b610b0c60048036036020811015610ae057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b005b610b5060048036036020811015610b2457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120d5565b005b610ba860048036036060811015610b6857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612184565b6040518082815260200191505060405180910390f35b600060405180807f737570706f727473496e74657266616365286279746573342900000000000000815250601901905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610df757506040518080612ffa602f9139602f01905060405180910390206040518080612fd160299139602901905060405180910390206040518080612fac60259139602501905060405180910390206040518080613029602191396021019050604051809103902060405180807f736574417070726f76616c466f72416c6c28616464726573732c626f6f6c2900815250601f019050604051809103902060405180807f676574417070726f7665642875696e74323536290000000000000000000000008152506014019050604051809103902060405180807f617070726f766528616464726573732c75696e743235362900000000000000008152506018019050604051809103902060405180807f6f776e65724f662875696e7432353629000000000000000000000000000000008152506010019050604051809103902060405180807f62616c616e63654f662875696e743235362900000000000000000000000000008152506012019050604051809103902018181818181818187bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610e74575060405180807f7265636c61696d2875696e743235362c61646472657373290000000000000000815250601801905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000610e868261219c565b610e8f57600080fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610ed582611359565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f1057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f505750610f4f8133611b05565b5b610f5957600080fd5b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600061101a848484600061220e565b90509392505050565b61102d338261250a565b61103657600080fd5b61104183838361259f565b505050565b3073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156110d257600080fd5b505afa1580156110e6573d6000803e3d6000fd5b505050506040513d60208110156110fc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461112d57600080fd5b611137338361250a565b61114057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548460001b846040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156111f657600080fd5b505af115801561120a573d6000803e3d6000fd5b505050506040513d602081101561122057600080fd5b8101908080519060200190929190505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112778383836040518060200160405280600081525061187e565b505050565b60095481565b61128a61150f565b61129357600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a600354836040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561133e57600080fd5b505af1158015611352573d6000803e3d6000fd5b5050505050565b600042600b6000848152602001908152602001600020541161137a57600080fd5b61138382612800565b9050919050565b6224ea0081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113cc57600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61141b61150f565b61142457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000426276a700600b6000858152602001908152602001600020540110611591576000905061166a565b6009544211806116675750600060058111156115a957fe5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166361d585da8460001b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561161f57600080fd5b505afa158015611633573d6000803e3d6000fd5b505050506040513d602081101561164957600080fd5b8101908080519060200190929190505050600581111561166557fe5b145b90505b919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116a857600080fd5b80600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6117b161150f565b6117ba57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d747460405160405180910390a250565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611889848484611023565b6118958484848461287c565b61189e57600080fd5b50505050565b6276a70081565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561193957600080fd5b505afa15801561194d573d6000803e3d6000fd5b505050506040513d602081101561196357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461199457600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119ea57600080fd5b426276a700600b600086815260200190815260200160002054011015611a0f57600080fd5b6276a70082016276a70083600b600087815260200190815260200160002054010111611a3a57600080fd5b81600b600085815260200190815260200160002060008282540192505081905550827f9b87a00e30f1ac65d898f070f8a3488fe60517182d0a2098e1b4b93a54aa9bd6600b6000868152602001908152602001600020546040518082815260200191505060405180910390a2600b600084815260200190815260200160002054905092915050565b6000600b6000838152602001908152602001600020549050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b60035481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b3073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611c2557600080fd5b505afa158015611c39573d6000803e3d6000fd5b505050506040513d6020811015611c4f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614611c8057600080fd5b60008360001c9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ce257600080fd5b6000600b60008381526020019081526020016000205414611d0257600080fd5b4260095411611d1057600080fd5b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267b6922866040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b158015611d8557600080fd5b505afa158015611d99573d6000803e3d6000fd5b505050506040513d60a0811015611daf57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192935090919250905050809150506224ea0042038110611e0957600080fd5b60008473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5157600080fd5b505afa158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b810190808051906020019092919050505090508473ffffffffffffffffffffffffffffffffffffffff1663bbe427716103e86040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611ee357600080fd5b505af1158015611ef7573d6000803e3d6000fd5b50505050600954600b600085815260200190815260200160002081905550611f1f8184612a65565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab592360035488846040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015611fd257600080fd5b505af1158015611fe6573d6000803e3d6000fd5b505050506040513d6020811015611ffc57600080fd5b8101908080519060200190929190505050508073ffffffffffffffffffffffffffffffffffffffff16837fea3d7e1195a15d2ddcd859b01abd4c6b960fa9f9264e499a70a90c7f0c64b7176009546040518082815260200191505060405180910390a38073ffffffffffffffffffffffffffffffffffffffff16837fb3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d96009546040518082815260200191505060405180910390a3505050505050565b6120c061150f565b6120c957600080fd5b6120d281612bfa565b50565b6120dd61150f565b6120e657600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e8111360405160405180910390a250565b6000612193848484600161220e565b90509392505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561229c57600080fd5b505afa1580156122b0573d6000803e3d6000fd5b505050506040513d60208110156122c657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146122f757600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661234d57600080fd5b61235685611567565b61235f57600080fd5b6276a70042016276a700844201011161237757600080fd5b824201600b60008781526020019081526020016000208190555061239a8561219c565b156123a9576123a885612cf4565b5b6123b38486612a65565b81156124ac57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548760001b876040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15801561246f57600080fd5b505af1158015612483573d6000803e3d6000fd5b505050506040513d602081101561249957600080fd5b8101908080519060200190929190505050505b8373ffffffffffffffffffffffffffffffffffffffff16857fb3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d98542016040518082815260200191505060405180910390a38242019050949350505050565b60008061251683611359565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061258557508373ffffffffffffffffffffffffffffffffffffffff1661256d84610e7b565b73ffffffffffffffffffffffffffffffffffffffff16145b8061259657506125958185611b05565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166125bf82611359565b73ffffffffffffffffffffffffffffffffffffffff16146125df57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561261957600080fd5b61262281612d09565b6126756001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dc790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061270b6001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612de790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561287357600080fd5b80915050919050565b600061289d8473ffffffffffffffffffffffffffffffffffffffff16612e06565b6128aa5760019050612a5d565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561298557808201518184015260208101905061296a565b50505050905090810190601f1680156129b25780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156129d457600080fd5b505af11580156129e8573d6000803e3d6000fd5b505050506040513d60208110156129fe57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a9f57600080fd5b612aa88161219c565b15612ab257600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612b576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612de790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612c3457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b612d06612d0082611359565b82612e19565b50565b600073ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612dc45760006006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600082821115612dd657600080fd5b600082840390508091505092915050565b600080828401905083811015612dfc57600080fd5b8091505092915050565b600080823b905060008111915050919050565b8173ffffffffffffffffffffffffffffffffffffffff16612e3982611359565b73ffffffffffffffffffffffffffffffffffffffff1614612e5957600080fd5b612e6281612d09565b612eb56001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dc790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e743235362c6279746573296973417070726f766564466f72416c6c28616464726573732c6164647265737329a265627a7a723158206e0289710176c394588010f602eb49cb51dff3ec6fb3627c4cf58fc94695675c64736f6c63430005100032", + "sourceMap": "270:6425:19:-;;;1345:401;8:9:-1;5:2;;;30:1;27;20:12;5:2;1345:401:19;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1345:401:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;640:40:20;236:10;659:20;;640:18;;;:40;;:::i;:::-;524:10:23;515:6;;:19;;;;;;;;;;;;;;;;;;582:6;;;;;;;;;;;549:40;;578:1;549:40;;;;;;;;;;;;1906::24;1163:10;1925:20;;1906:18;;;:40;;:::i;:::-;610:7:19;1564:1;:25;1558:3;:31;1536:19;:53;1528:62;;;;;;1607:4;1601:3;;:10;;;;;;;;;;;;;;;;;;1632:9;1621:8;:20;;;;1671:18;1651:17;;:38;;;;;;;;;;;;;;;;;;1720:19;1699:18;:40;;;;1345:401;;;;270:6425;;990:158:20;1080:10;1065:25;;:11;:25;;;;;1057:34;;;;;;1137:4;1101:20;:33;1122:11;1101:33;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;990:158;:::o;270:6425:19:-;;;;;;;", + "deployedSourceMap": "270:6425:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;270:6425:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6474:219;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6474:219:19;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3705:151:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3705:151:24;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3128:292;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3128:292:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3916:146:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3916:146:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5260:180:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5260:180:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5265:177:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5265:177:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;660:14:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6079:132:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6079:132:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;391:30:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2872:110;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2872:110:19;;;;;;;;;;;;;;;;;;;:::i;:::-;;2214:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2214:152:19;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;565:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2156:150:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2156:150:24;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1347:137:23;;;:::i;:::-;;659:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;979:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3226:447:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3226:447:19;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4148:213:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4148:213:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2440:151:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2440:151:19;;;;;;;;;;;;;;;;;;;:::i;:::-;;457:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6916:211:24;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6916:211:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6916:211:24;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6916:211:24;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6916:211:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6916:211:24;;;;;;;;;;;;;;;:::i;:::-;;252:43:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4749:414:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4749:414:19;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3049:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3049:97:19;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;848:41:17;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;848:41:17;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;743:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4682:145:24;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4682:145:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5625:843:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5625:843:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1655:107:23;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1655:107:23;;;;;;;;;;;;;;;;;;;:::i;:::-;;2649:157:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2649:157:19;;;;;;;;;;;;;;;;;;;:::i;:::-;;3724:141;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3724:141:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6474:219;6544:4;675:38;;;;;;;;;;;;;;;;;;;6567:32;;;:11;:32;;;;:75;;;;1184:60;;;;;;;;;;;;;;;;;;;1119:54;;;;;;;;;;;;;;;;;;;1058:50;;;;;;;;;;;;;;;;;;;1001:46;;;;;;;;;;;;;;;;;;;946:44;;;;;;;;;;;;;;;;;;;902:33;;;;;;;;;;;;;;;;;;;854:37;;;;;;;;;;;;;;;;;;;814:29;;;;;;;;;;;;;;;;;;;772:31;;;;;;;;;;;;;;;;;;;:71;:119;:163;:218;:275;:336;:401;:472;6618:24;;;:11;:24;;;;6567:75;:119;;;;1300:37;;;;;;;;;;;;;;;;;;;6661:25;;;:11;:25;;;;6567:119;6560:126;;6474:219;;;:::o;3705:151:24:-;3764:7;3791:16;3799:7;3791;:16::i;:::-;3783:25;;;;;;3825:15;:24;3841:7;3825:24;;;;;;;;;;;;;;;;;;;;;3818:31;;3705:151;;;:::o;3128:292::-;3191:13;3207:16;3215:7;3207;:16::i;:::-;3191:32;;3247:5;3241:11;;:2;:11;;;;3233:20;;;;;;3285:5;3271:19;;:10;:19;;;:58;;;;3294:35;3311:5;3318:10;3294:16;:35::i;:::-;3271:58;3263:67;;;;;;3368:2;3341:15;:24;3357:7;3341:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3405:7;3401:2;3385:28;;3394:5;3385:28;;;;;;;;;;;;3128:292;;;:::o;3916:146:19:-;3997:4;4018:37;4028:2;4032:5;4039:8;4049:5;4018:9;:37::i;:::-;4011:44;;3916:146;;;;;:::o;5260:180:24:-;5350:39;5369:10;5381:7;5350:18;:39::i;:::-;5342:48;;;;;;5401:32;5415:4;5421:2;5425:7;5401:13;:32::i;:::-;5260:180;;;:::o;5265:177:19:-;1815:4;1784:36;;:3;;;;;;;;;;;:9;;;1794:8;;1784:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1784:19:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1784:19:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1784:19:19;;;;;;;;;;;;;;;;:36;;;1776:45;;;;;;5341:34;5360:10;5372:2;5341:18;:34::i;:::-;5333:43;;;;;;5386:3;;;;;;;;;;;:19;;;5406:8;;5424:2;5416:11;;5429:5;5386:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:49:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:49:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:49:19;;;;;;;;;;;;;;;;;5265:177;;:::o;660:14:17:-;;;;;;;;;;;;;:::o;6079:132:24:-;6165:39;6182:4;6188:2;6192:7;6165:39;;;;;;;;;;;;:16;:39::i;:::-;6079:132;;;:::o;391:30:19:-;;;;:::o;2872:110::-;863:9:23;:7;:9::i;:::-;855:18;;;;;;2940:3:19;;;;;;;;;;;:15;;;2956:8;;2966;2940:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2940:35:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2940:35:19;;;;2872:110;:::o;2214:152::-;2269:7;2316:3;2296:8;:17;2305:7;2296:17;;;;;;;;;;;;:23;2288:32;;;;;;2337:22;2351:7;2337:13;:22::i;:::-;2330:29;;2214:152;;;:::o;565:52::-;610:7;565:52;:::o;2156:150:24:-;2211:7;2255:1;2238:19;;:5;:19;;;;2230:28;;;;;;2275:17;:24;2293:5;2275:24;;;;;;;;;;;;;;;;2268:31;;2156:150;;;:::o;1347:137:23:-;863:9;:7;:9::i;:::-;855:18;;;;;;1445:1;1408:40;;1429:6;;;;;;;;;;;1408:40;;;;;;;;;;;;1475:1;1458:6;;:19;;;;;;;;;;;;;;;;;;1347:137::o;659:77::-;697:7;723:6;;;;;;;;;;;716:13;;659:77;:::o;979:90::-;1019:4;1056:6;;;;;;;;;;;1042:20;;:10;:20;;;1035:27;;979:90;:::o;3226:447:19:-;3277:4;3400:3;288:7:17;3369:8:19;:12;3378:2;3369:12;;;;;;;;;;;;:27;:34;3366:76;;3426:5;3419:12;;;;3366:76;3585:18;;3579:3;:24;:87;;;;3647:19;3607:59;;;;;;;;:17;;;;;;;;;;;:23;;;3639:2;3631:11;;3607:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3607:36:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3607:36:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3607:36:19;;;;;;;;;;;;;;;;:59;;;;;;;;;3579:87;3572:94;;3226:447;;;;:::o;4148:213:24:-;4233:10;4227:16;;:2;:16;;;;4219:25;;;;;;4291:8;4254:18;:30;4273:10;4254:30;;;;;;;;;;;;;;;:34;4285:2;4254:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;4341:2;4314:40;;4329:10;4314:40;;;4345:8;4314:40;;;;;;;;;;;;;;;;;;;;;;4148:213;;:::o;2440:151:19:-;863:9:23;:7;:9::i;:::-;855:18;;;;;;2538:4:19;2512:11;:23;2524:10;2512:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;2573:10;2557:27;;;;;;;;;;;;2440:151;:::o;457:34::-;;;;;;;;;;;;;:::o;6916:211:24:-;7022:31;7035:4;7041:2;7045:7;7022:12;:31::i;:::-;7071:48;7094:4;7100:2;7104:7;7113:5;7071:22;:48::i;:::-;7063:57;;;;;;6916:211;;;;:::o;252:43:17:-;288:7;252:43;:::o;4749:414:19:-;4828:4;1815;1784:36;;:3;;;;;;;;;;;:9;;;1794:8;;1784:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1784:19:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1784:19:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1784:19:19;;;;;;;;;;;;;;;;:36;;;1776:45;;;;;;1887:11;:23;1899:10;1887:23;;;;;;;;;;;;;;;;;;;;;;;;;1879:32;;;;;;4883:3;288:7:17;4852:8:19;:12;4861:2;4852:12;;;;;;;;;;;;:27;:34;;4844:43;;;;;;288:7:17;4997:8:19;:23;288:7:17;4971:8:19;4956;:12;4965:2;4956:12;;;;;;;;;;;;:23;:38;:64;4948:73;;;;;;5075:8;5059;:12;5068:2;5059:12;;;;;;;;;;;;:24;;;;;;;;;;;5110:2;5098:29;5114:8;:12;5123:2;5114:12;;;;;;;;;;;;5098:29;;;;;;;;;;;;;;;;;;5144:8;:12;5153:2;5144:12;;;;;;;;;;;;5137:19;;4749:414;;;;:::o;3049:97::-;3104:4;3127:8;:12;3136:2;3127:12;;;;;;;;;;;;3120:19;;3049:97;;;:::o;848:41:17:-;;;;;;;;;;;;;;;;;;;;;;:::o;743:23::-;;;;:::o;4682:145:24:-;4762:4;4785:18;:25;4804:5;4785:25;;;;;;;;;;;;;;;:35;4811:8;4785:35;;;;;;;;;;;;;;;;;;;;;;;;;4778:42;;4682:145;;;;:::o;5625:843:19:-;1815:4;1784:36;;:3;;;;;;;;;;;:9;;;1794:8;;1784:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1784:19:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1784:19:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1784:19:19;;;;;;;;;;;;;;;;:36;;;1776:45;;;;;;5714:10;5735:5;5727:14;;5714:27;;5782:17;;;;;;;;;;;5760:40;;:10;:40;;;5752:49;;;;;;5835:1;5819:8;:12;5828:2;5819:12;;;;;;;;;;;;:17;5811:26;;;;;;5876:3;5855:18;;:24;5847:33;;;;;;5891:21;5947:17;;;;;;;;;;;:25;;;5973:5;5947:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5947:32:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5947:32:19;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5947:32:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5922:57;;;;;;;;;;;;;;;;610:7;6016:3;:27;5997:16;:46;5989:55;;;;;;6055:13;6071:4;:10;;;:12;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6071:12:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6071:12:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6071:12:19;;;;;;;;;;;;;;;;6055:28;;6169:4;:14;;;6184:4;6169:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6169:20:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6169:20:19;;;;6244:18;;6229:8;:12;6238:2;6229:12;;;;;;;;;;;:33;;;;6272:16;6278:5;6285:2;6272:5;:16::i;:::-;6299:3;;;;;;;;;;;:19;;;6319:8;;6329:5;6336;6299:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6299:43:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6299:43:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6299:43:19;;;;;;;;;;;;;;;;;6375:5;6358:43;;6371:2;6358:43;6382:18;;6358:43;;;;;;;;;;;;;;;;;;6435:5;6416:45;;6431:2;6416:45;6442:18;;6416:45;;;;;;;;;;;;;;;;;;1831:1;;;5625:843;;;:::o;1655:107:23:-;863:9;:7;:9::i;:::-;855:18;;;;;;1727:28;1746:8;1727:18;:28::i;:::-;1655:107;:::o;2649:157:19:-;863:9:23;:7;:9::i;:::-;855:18;;;;;;2750:5:19;2724:11;:23;2736:10;2724:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;2788:10;2770:29;;;;;;;;;;;;2649:157;:::o;3724:141::-;3801:4;3822:36;3832:2;3836:5;3843:8;3853:4;3822:9;:36::i;:::-;3815:43;;3724:141;;;;;:::o;7316:152:24:-;7373:4;7389:13;7405:11;:20;7417:7;7405:20;;;;;;;;;;;;;;;;;;;;;7389:36;;7459:1;7442:19;;:5;:19;;;;7435:26;;;7316:152;;;:::o;4113:630:19:-;4232:4;1815;1784:36;;:3;;;;;;;;;;;:9;;;1794:8;;1784:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1784:19:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1784:19:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1784:19:19;;;;;;;;;;;;;;;;:36;;;1776:45;;;;;;1887:11;:23;1899:10;1887:23;;;;;;;;;;;;;;;;;;;;;;;;;1879:32;;;;;;4256:13;4266:2;4256:9;:13::i;:::-;4248:22;;;;;;288:7:17;4320:3:19;:18;288:7:17;4294:8:19;4288:3;:14;:29;:50;4280:59;;;;;;4398:8;4392:3;:14;4377:8;:12;4386:2;4377:12;;;;;;;;;;;:29;;;;4419:11;4427:2;4419:7;:11::i;:::-;4416:104;;;4500:9;4506:2;4500:5;:9::i;:::-;4416:104;4529:16;4535:5;4542:2;4529:5;:16::i;:::-;4558:14;4555:93;;;4588:3;;;;;;;;;;;:19;;;4608:8;;4626:2;4618:11;;4631:5;4588:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4588:49:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4588:49:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4588:49:19;;;;;;;;;;;;;;;;;4555:93;4682:5;4663:41;;4678:2;4663:41;4695:8;4689:3;:14;4663:41;;;;;;;;;;;;;;;;;;4728:8;4722:3;:14;4715:21;;4113:630;;;;;;:::o;7831:246:24:-;7916:4;7932:13;7948:16;7956:7;7948;:16::i;:::-;7932:32;;7993:5;7982:16;;:7;:16;;;:51;;;;8026:7;8002:31;;:20;8014:7;8002:11;:20::i;:::-;:31;;;7982:51;:87;;;;8037:32;8054:5;8061:7;8037:16;:32::i;:::-;7982:87;7974:96;;;7831:246;;;;:::o;9819:402::-;9932:4;9912:24;;:16;9920:7;9912;:16::i;:::-;:24;;;9904:33;;;;;;9969:1;9955:16;;:2;:16;;;;9947:25;;;;;;9983:23;9998:7;9983:14;:23::i;:::-;10043:30;10071:1;10043:17;:23;10061:4;10043:23;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;10017:17;:23;10035:4;10017:23;;;;;;;;;;;;;;;:56;;;;10107:28;10133:1;10107:17;:21;10125:2;10107:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;10083:17;:21;10101:2;10083:21;;;;;;;;;;;;;;;:52;;;;10169:2;10146:11;:20;10158:7;10146:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;10206:7;10202:2;10187:27;;10196:4;10187:27;;;;;;;;;;;;9819:402;;;:::o;2530:177::-;2585:7;2604:13;2620:11;:20;2632:7;2620:20;;;;;;;;;;;;;;;;;;;;;2604:36;;2675:1;2658:19;;:5;:19;;;;2650:28;;;;;;2695:5;2688:12;;;2530:177;;;:::o;10744:347::-;10865:4;10890:15;:2;:13;;;:15::i;:::-;10885:58;;10928:4;10921:11;;;;10885:58;10953:13;10985:2;10969:36;;;11006:10;11018:4;11024:7;11033:5;10969:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10969:70:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10969:70:24;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10969:70:24;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10969:70:24;;;;;;;;;;;;;;;;10953:86;;658:10;11067:16;;11057:26;;;:6;:26;;;;11049:35;;;10744:347;;;;;;;:::o;8320:278::-;8405:1;8391:16;;:2;:16;;;;8383:25;;;;;;8427:16;8435:7;8427;:16::i;:::-;8426:17;8418:26;;;;;;8478:2;8455:11;:20;8467:7;8455:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;8514:28;8540:1;8514:17;:21;8532:2;8514:21;;;;;;;;;;;;;;;;:25;;:28;;;;:::i;:::-;8490:17;:21;8508:2;8490:21;;;;;;;;;;;;;;;:52;;;;8583:7;8579:2;8558:33;;8575:1;8558:33;;;;;;;;;;;;8320:278;;:::o;1906:183:23:-;1999:1;1979:22;;:8;:22;;;;1971:31;;;;;;2046:8;2017:38;;2038:6;;;;;;;;;;;2017:38;;;;;;;;;;;;2074:8;2065:6;;:17;;;;;;;;;;;;;;;;;;1906:183;:::o;9355:90:24:-;9406:32;9412:16;9420:7;9412;:16::i;:::-;9430:7;9406:5;:32::i;:::-;9355:90;:::o;11252:171::-;11351:1;11315:38;;:15;:24;11331:7;11315:24;;;;;;;;;;;;;;;;;;;;;:38;;;11311:106;;11404:1;11369:15;:24;11385:7;11369:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;11311:106;11252:171;:::o;1205:145:22:-;1263:7;1295:1;1290;:6;;1282:15;;;;;;1307:9;1323:1;1319;:5;1307:17;;1342:1;1335:8;;;1205:145;;;;:::o;1431:::-;1489:7;1508:9;1524:1;1520;:5;1508:17;;1548:1;1543;:6;;1535:15;;;;;;1568:1;1561:8;;;1431:145;;;;:::o;463:616:27:-;523:4;539:12;1038:7;1026:20;1018:28;;1071:1;1064:4;:8;1057:15;;;463:616;;;:::o;8871:305:24:-;8965:5;8945:25;;:16;8953:7;8945;:16::i;:::-;:25;;;8937:34;;;;;;8982:23;8997:7;8982:14;:23::i;:::-;9043:31;9072:1;9043:17;:24;9061:5;9043:24;;;;;;;;;;;;;;;;:28;;:31;;;;:::i;:::-;9016:17;:24;9034:5;9016:24;;;;;;;;;;;;;;;:58;;;;9115:1;9084:11;:20;9096:7;9084:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;9161:7;9157:1;9133:36;;9142:5;9133:36;;;;;;;;;;;;8871:305;;:::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"@ensdomains/ens/contracts/ENS.sol\";\nimport \"@ensdomains/ens/contracts/Registrar.sol\";\nimport \"@ensdomains/ens/contracts/HashRegistrar.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC721/ERC721.sol\";\nimport \"./BaseRegistrar.sol\";\n\ncontract OldBaseRegistrarImplementation is BaseRegistrar, ERC721 {\n // Expiration timestamp for migrated domains.\n uint public transferPeriodEnds;\n\n // The interim registrar\n Registrar public previousRegistrar;\n\n // A map of expiry times\n mapping(uint256=>uint) expiries;\n\n uint constant public MIGRATION_LOCK_PERIOD = 28 days;\n\n bytes4 constant private INTERFACE_META_ID = bytes4(keccak256(\"supportsInterface(bytes4)\"));\n bytes4 constant private ERC721_ID = bytes4(\n keccak256(\"balanceOf(uint256)\") ^\n keccak256(\"ownerOf(uint256)\") ^\n keccak256(\"approve(address,uint256)\") ^\n keccak256(\"getApproved(uint256)\") ^\n keccak256(\"setApprovalForAll(address,bool)\") ^\n keccak256(\"isApprovedForAll(address,address)\") ^\n keccak256(\"transferFrom(address,address,uint256)\") ^\n keccak256(\"safeTransferFrom(address,address,uint256)\") ^\n keccak256(\"safeTransferFrom(address,address,uint256,bytes)\")\n );\n bytes4 constant private RECLAIM_ID = bytes4(keccak256(\"reclaim(uint256,address)\"));\n\n constructor(ENS _ens, HashRegistrar _previousRegistrar, bytes32 _baseNode, uint _transferPeriodEnds) public {\n // Require that people have time to transfer names over.\n require(_transferPeriodEnds > now + 2 * MIGRATION_LOCK_PERIOD);\n\n ens = _ens;\n baseNode = _baseNode;\n previousRegistrar = _previousRegistrar;\n transferPeriodEnds = _transferPeriodEnds;\n }\n\n modifier live {\n require(ens.owner(baseNode) == address(this));\n _;\n }\n\n modifier onlyController {\n require(controllers[msg.sender]);\n _;\n }\n\n /**\n * @dev Gets the owner of the specified token ID. Names become unowned\n * when their registration expires.\n * @param tokenId uint256 ID of the token to query the owner of\n * @return address currently marked as the owner of the given token ID\n */\n function ownerOf(uint256 tokenId) public view returns (address) {\n require(expiries[tokenId] > now);\n return super.ownerOf(tokenId);\n }\n\n // Authorises a controller, who can register and renew domains.\n function addController(address controller) external onlyOwner {\n controllers[controller] = true;\n emit ControllerAdded(controller);\n }\n\n // Revoke controller permission for an address.\n function removeController(address controller) external onlyOwner {\n controllers[controller] = false;\n emit ControllerRemoved(controller);\n }\n\n // Set the resolver for the TLD this registrar manages.\n function setResolver(address resolver) external onlyOwner {\n ens.setResolver(baseNode, resolver);\n }\n\n // Returns the expiration timestamp of the specified id.\n function nameExpires(uint256 id) external view returns(uint) {\n return expiries[id];\n }\n\n // Returns true iff the specified name is available for registration.\n function available(uint256 id) public view returns(bool) {\n // Not available if it's registered here or in its grace period.\n if(expiries[id] + GRACE_PERIOD >= now) {\n return false;\n }\n // Available if we're past the transfer period, or the name isn't\n // registered in the legacy registrar.\n return now > transferPeriodEnds || previousRegistrar.state(bytes32(id)) == Registrar.Mode.Open;\n }\n\n /**\n * @dev Register a name.\n */\n function register(uint256 id, address owner, uint duration) external returns(uint) {\n return _register(id, owner, duration, true);\n }\n\n /**\n * @dev Register a name.\n */\n function registerOnly(uint256 id, address owner, uint duration) external returns(uint) {\n return _register(id, owner, duration, false);\n }\n\n /**\n * @dev Register a name.\n */\n function _register(uint256 id, address owner, uint duration, bool updateRegistry) internal live onlyController returns(uint) {\n require(available(id));\n require(now + duration + GRACE_PERIOD > now + GRACE_PERIOD); // Prevent future overflow\n\n expiries[id] = now + duration;\n if(_exists(id)) {\n // Name was previously owned, and expired\n _burn(id);\n }\n _mint(owner, id);\n if(updateRegistry) {\n ens.setSubnodeOwner(baseNode, bytes32(id), owner);\n }\n\n emit NameRegistered(id, owner, now + duration);\n\n return now + duration;\n }\n\n function renew(uint256 id, uint duration) external live onlyController returns(uint) {\n require(expiries[id] + GRACE_PERIOD >= now); // Name must be registered here or in grace period\n require(expiries[id] + duration + GRACE_PERIOD > duration + GRACE_PERIOD); // Prevent future overflow\n\n expiries[id] += duration;\n emit NameRenewed(id, expiries[id]);\n return expiries[id];\n }\n\n /**\n * @dev Reclaim ownership of a name in ENS, if you own it in the registrar.\n */\n function reclaim(uint256 id, address owner) external live {\n require(_isApprovedOrOwner(msg.sender, id));\n ens.setSubnodeOwner(baseNode, bytes32(id), owner);\n }\n\n /**\n * @dev Transfers a registration from the initial registrar.\n * This function is called by the initial registrar when a user calls `transferRegistrars`.\n */\n function acceptRegistrarTransfer(bytes32 label, Deed deed, uint) external live {\n uint256 id = uint256(label);\n\n require(msg.sender == address(previousRegistrar));\n require(expiries[id] == 0);\n require(transferPeriodEnds > now);\n\n uint registrationDate;\n (,,registrationDate,,) = previousRegistrar.entries(label);\n require(registrationDate < now - MIGRATION_LOCK_PERIOD);\n\n address owner = deed.owner();\n\n // Destroy the deed and transfer the funds back to the registrant.\n deed.closeDeed(1000);\n\n // Register the name\n expiries[id] = transferPeriodEnds;\n _mint(owner, id);\n\n ens.setSubnodeOwner(baseNode, label, owner);\n\n emit NameMigrated(id, owner, transferPeriodEnds);\n emit NameRegistered(id, owner, transferPeriodEnds);\n }\n\n function supportsInterface(bytes4 interfaceID) external view returns (bool) {\n return interfaceID == INTERFACE_META_ID ||\n interfaceID == ERC721_ID ||\n interfaceID == RECLAIM_ID;\n }\n}\n", + "sourcePath": "@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol", + "ast": { + "absolutePath": "@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol", + "exportedSymbols": { + "OldBaseRegistrarImplementation": [ + 5900 + ] + }, + "id": 5901, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5317, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:19" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 5318, + "nodeType": "ImportDirective", + "scope": 5901, + "sourceUnit": 2617, + "src": "25:43:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Registrar.sol", + "file": "@ensdomains/ens/contracts/Registrar.sol", + "id": 5319, + "nodeType": "ImportDirective", + "scope": 5901, + "sourceUnit": 4776, + "src": "69:49:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/HashRegistrar.sol", + "file": "@ensdomains/ens/contracts/HashRegistrar.sol", + "id": 5320, + "nodeType": "ImportDirective", + "scope": 5901, + "sourceUnit": 4611, + "src": "119:53:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "file": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "id": 5321, + "nodeType": "ImportDirective", + "scope": 5901, + "sourceUnit": 6758, + "src": "173:65:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "file": "./BaseRegistrar.sol", + "id": 5322, + "nodeType": "ImportDirective", + "scope": 5901, + "sourceUnit": 4883, + "src": "239:29:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5323, + "name": "BaseRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4882, + "src": "313:13:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 5324, + "nodeType": "InheritanceSpecifier", + "src": "313:13:19" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5325, + "name": "ERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6757, + "src": "328:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721_$6757", + "typeString": "contract ERC721" + } + }, + "id": 5326, + "nodeType": "InheritanceSpecifier", + "src": "328:6:19" + } + ], + "contractDependencies": [ + 4882, + 5951, + 5961, + 6198, + 6757, + 6860 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 5900, + "linearizedBaseContracts": [ + 5900, + 6757, + 4882, + 6198, + 6860, + 5951, + 5961 + ], + "name": "OldBaseRegistrarImplementation", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 5328, + "name": "transferPeriodEnds", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "391:30:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5327, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "391:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5330, + "name": "previousRegistrar", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "457:34:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + }, + "typeName": { + "contractScope": null, + "id": 5329, + "name": "Registrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4775, + "src": "457:9:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5334, + "name": "expiries", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "527:31:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 5333, + "keyType": { + "id": 5331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "535:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "527:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5332, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "544:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": true, + "id": 5337, + "name": "MIGRATION_LOCK_PERIOD", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "565:52:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5335, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "565:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3238", + "id": 5336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "610:7:19", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_2419200_by_1", + "typeString": "int_const 2419200" + }, + "value": "28" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 5344, + "name": "INTERFACE_META_ID", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "624:90:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5338, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "624:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "737570706f727473496e746572666163652862797465733429", + "id": 5341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "685:27:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e2", + "typeString": "literal_string \"supportsInterface(bytes4)\"" + }, + "value": "supportsInterface(bytes4)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e2", + "typeString": "literal_string \"supportsInterface(bytes4)\"" + } + ], + "id": 5340, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "675:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5342, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "675:38:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "668:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 5343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "668:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "constant": true, + "id": 5383, + "name": "ERC721_ID", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "720:530:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5345, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "720:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "62616c616e63654f662875696e7432353629", + "id": 5348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "782:20:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f39", + "typeString": "literal_string \"balanceOf(uint256)\"" + }, + "value": "balanceOf(uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f39", + "typeString": "literal_string \"balanceOf(uint256)\"" + } + ], + "id": 5347, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "772:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "772:31:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6f776e65724f662875696e7432353629", + "id": 5351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "824:18:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", + "typeString": "literal_string \"ownerOf(uint256)\"" + }, + "value": "ownerOf(uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", + "typeString": "literal_string \"ownerOf(uint256)\"" + } + ], + "id": 5350, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "814:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "814:29:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:71:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "617070726f766528616464726573732c75696e7432353629", + "id": 5355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "864:26:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "typeString": "literal_string \"approve(address,uint256)\"" + }, + "value": "approve(address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "typeString": "literal_string \"approve(address,uint256)\"" + } + ], + "id": 5354, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "854:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "854:37:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:119:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "676574417070726f7665642875696e7432353629", + "id": 5359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "912:22:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "typeString": "literal_string \"getApproved(uint256)\"" + }, + "value": "getApproved(uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "typeString": "literal_string \"getApproved(uint256)\"" + } + ], + "id": 5358, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "902:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "902:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:163:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736574417070726f76616c466f72416c6c28616464726573732c626f6f6c29", + "id": 5363, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "956:33:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "typeString": "literal_string \"setApprovalForAll(address,bool)\"" + }, + "value": "setApprovalForAll(address,bool)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "typeString": "literal_string \"setApprovalForAll(address,bool)\"" + } + ], + "id": 5362, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "946:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "946:44:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:218:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6973417070726f766564466f72416c6c28616464726573732c6164647265737329", + "id": 5367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1011:35:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", + "typeString": "literal_string \"isApprovedForAll(address,address)\"" + }, + "value": "isApprovedForAll(address,address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", + "typeString": "literal_string \"isApprovedForAll(address,address)\"" + } + ], + "id": 5366, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1001:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1001:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:275:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629", + "id": 5371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1068:39:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "typeString": "literal_string \"transferFrom(address,address,uint256)\"" + }, + "value": "transferFrom(address,address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "typeString": "literal_string \"transferFrom(address,address,uint256)\"" + } + ], + "id": 5370, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1058:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1058:50:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:336:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629", + "id": 5375, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1129:43:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256)\"" + }, + "value": "safeTransferFrom(address,address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256)\"" + } + ], + "id": 5374, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1119:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1119:54:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:401:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e743235362c627974657329", + "id": 5379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1194:49:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256,bytes)\"" + }, + "value": "safeTransferFrom(address,address,uint256,bytes)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256,bytes)\"" + } + ], + "id": 5378, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1184:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1184:60:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:472:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "756:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 5382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "756:494:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "constant": true, + "id": 5390, + "name": "RECLAIM_ID", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "1256:82:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5384, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1256:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7265636c61696d2875696e743235362c6164647265737329", + "id": 5387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1310:26:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_28ed4f6c74b219a5819055dfbcd2f1837c046c364cf01fabb6799e4f440d6f13", + "typeString": "literal_string \"reclaim(uint256,address)\"" + }, + "value": "reclaim(uint256,address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_28ed4f6c74b219a5819055dfbcd2f1837c046c364cf01fabb6799e4f440d6f13", + "typeString": "literal_string \"reclaim(uint256,address)\"" + } + ], + "id": 5386, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1300:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1300:37:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1293:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 5389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1293:45:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 5427, + "nodeType": "Block", + "src": "1453:293:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5402, + "name": "_transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5398, + "src": "1536:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5403, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "1558:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1564:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 5405, + "name": "MIGRATION_LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "1568:21:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1564:25:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1558:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1536:53:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5401, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1528:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1528:62:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5410, + "nodeType": "ExpressionStatement", + "src": "1528:62:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5411, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "1601:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5412, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5392, + "src": "1607:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "src": "1601:10:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5414, + "nodeType": "ExpressionStatement", + "src": "1601:10:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5415, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "1621:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5416, + "name": "_baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "1632:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1621:20:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5418, + "nodeType": "ExpressionStatement", + "src": "1621:20:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5419, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5330, + "src": "1651:17:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5420, + "name": "_previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5394, + "src": "1671:18:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "src": "1651:38:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 5422, + "nodeType": "ExpressionStatement", + "src": "1651:38:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5423, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "1699:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5424, + "name": "_transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5398, + "src": "1720:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1699:40:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5426, + "nodeType": "ExpressionStatement", + "src": "1699:40:19" + } + ] + }, + "documentation": null, + "id": 5428, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5392, + "name": "_ens", + "nodeType": "VariableDeclaration", + "scope": 5428, + "src": "1357:8:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 5391, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1357:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5394, + "name": "_previousRegistrar", + "nodeType": "VariableDeclaration", + "scope": 5428, + "src": "1367:32:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + }, + "typeName": { + "contractScope": null, + "id": 5393, + "name": "HashRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4610, + "src": "1367:13:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5396, + "name": "_baseNode", + "nodeType": "VariableDeclaration", + "scope": 5428, + "src": "1401:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5395, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1401:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5398, + "name": "_transferPeriodEnds", + "nodeType": "VariableDeclaration", + "scope": 5428, + "src": "1420:24:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5397, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1420:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1356:89:19" + }, + "returnParameters": { + "id": 5400, + "nodeType": "ParameterList", + "parameters": [], + "src": "1453:0:19" + }, + "scope": 5900, + "src": "1345:401:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5442, + "nodeType": "Block", + "src": "1766:73:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5433, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "1794:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 5431, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "1784:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1784:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 5434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1784:19:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5436, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6966, + "src": "1815:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OldBaseRegistrarImplementation_$5900", + "typeString": "contract OldBaseRegistrarImplementation" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OldBaseRegistrarImplementation_$5900", + "typeString": "contract OldBaseRegistrarImplementation" + } + ], + "id": 5435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1807:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1807:13:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1784:36:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5430, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1776:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1776:45:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5440, + "nodeType": "ExpressionStatement", + "src": "1776:45:19" + }, + { + "id": 5441, + "nodeType": "PlaceholderStatement", + "src": "1831:1:19" + } + ] + }, + "documentation": null, + "id": 5443, + "name": "live", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5429, + "nodeType": "ParameterList", + "parameters": [], + "src": "1766:0:19" + }, + "src": "1752:87:19", + "visibility": "internal" + }, + { + "body": { + "id": 5453, + "nodeType": "Block", + "src": "1869:60:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5446, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "1887:11:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5449, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5447, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "1899:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1899:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1887:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5445, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1879:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1879:32:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5451, + "nodeType": "ExpressionStatement", + "src": "1879:32:19" + }, + { + "id": 5452, + "nodeType": "PlaceholderStatement", + "src": "1921:1:19" + } + ] + }, + "documentation": null, + "id": 5454, + "name": "onlyController", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5444, + "nodeType": "ParameterList", + "parameters": [], + "src": "1869:0:19" + }, + "src": "1845:84:19", + "visibility": "internal" + }, + { + "body": { + "id": 5474, + "nodeType": "Block", + "src": "2278:88:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5462, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "2296:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5464, + "indexExpression": { + "argumentTypes": null, + "id": 5463, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5456, + "src": "2305:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2296:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5465, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "2316:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2296:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5461, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "2288:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2288:32:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5468, + "nodeType": "ExpressionStatement", + "src": "2288:32:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5471, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5456, + "src": "2351:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5469, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6967, + "src": "2337:5:19", + "typeDescriptions": { + "typeIdentifier": "t_super$_OldBaseRegistrarImplementation_$5900", + "typeString": "contract super OldBaseRegistrarImplementation" + } + }, + "id": 5470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 6291, + "src": "2337:13:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2337:22:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5460, + "id": 5473, + "nodeType": "Return", + "src": "2330:29:19" + } + ] + }, + "documentation": "@dev Gets the owner of the specified token ID. Names become unowned\n when their registration expires.\n@param tokenId uint256 ID of the token to query the owner of\n@return address currently marked as the owner of the given token ID", + "id": 5475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5457, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5456, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 5475, + "src": "2231:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5455, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2231:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2230:17:19" + }, + "returnParameters": { + "id": 5460, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5459, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5475, + "src": "2269:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5458, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2269:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2268:9:19" + }, + "scope": 5900, + "src": "2214:152:19", + "stateMutability": "view", + "superFunction": 6291, + "visibility": "public" + }, + { + "body": { + "id": 5492, + "nodeType": "Block", + "src": "2502:89:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5482, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "2512:11:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5484, + "indexExpression": { + "argumentTypes": null, + "id": 5483, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5477, + "src": "2524:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2512:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2538:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2512:30:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5487, + "nodeType": "ExpressionStatement", + "src": "2512:30:19" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5489, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5477, + "src": "2573:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5488, + "name": "ControllerAdded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4791, + "src": "2557:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2557:27:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5491, + "nodeType": "EmitStatement", + "src": "2552:32:19" + } + ] + }, + "documentation": null, + "id": 5493, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5480, + "modifierName": { + "argumentTypes": null, + "id": 5479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "2492:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2492:9:19" + } + ], + "name": "addController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5477, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 5493, + "src": "2463:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2463:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2462:20:19" + }, + "returnParameters": { + "id": 5481, + "nodeType": "ParameterList", + "parameters": [], + "src": "2502:0:19" + }, + "scope": 5900, + "src": "2440:151:19", + "stateMutability": "nonpayable", + "superFunction": 4830, + "visibility": "external" + }, + { + "body": { + "id": 5510, + "nodeType": "Block", + "src": "2714:92:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5500, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "2724:11:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5502, + "indexExpression": { + "argumentTypes": null, + "id": 5501, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5495, + "src": "2736:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2724:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2750:5:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2724:31:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5505, + "nodeType": "ExpressionStatement", + "src": "2724:31:19" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5507, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5495, + "src": "2788:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5506, + "name": "ControllerRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4795, + "src": "2770:17:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2770:29:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5509, + "nodeType": "EmitStatement", + "src": "2765:34:19" + } + ] + }, + "documentation": null, + "id": 5511, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5498, + "modifierName": { + "argumentTypes": null, + "id": 5497, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "2704:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2704:9:19" + } + ], + "name": "removeController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5495, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 5511, + "src": "2675:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2675:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2674:20:19" + }, + "returnParameters": { + "id": 5499, + "nodeType": "ParameterList", + "parameters": [], + "src": "2714:0:19" + }, + "scope": 5900, + "src": "2649:157:19", + "stateMutability": "nonpayable", + "superFunction": 4835, + "visibility": "external" + }, + { + "body": { + "id": 5525, + "nodeType": "Block", + "src": "2930:52:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5521, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "2956:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5522, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5513, + "src": "2966:8:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5518, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "2940:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "2940:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 5523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2940:35:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5524, + "nodeType": "ExpressionStatement", + "src": "2940:35:19" + } + ] + }, + "documentation": null, + "id": 5526, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5516, + "modifierName": { + "argumentTypes": null, + "id": 5515, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "2920:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2920:9:19" + } + ], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5513, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 5526, + "src": "2893:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2893:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2892:18:19" + }, + "returnParameters": { + "id": 5517, + "nodeType": "ParameterList", + "parameters": [], + "src": "2930:0:19" + }, + "scope": 5900, + "src": "2872:110:19", + "stateMutability": "nonpayable", + "superFunction": 4840, + "visibility": "external" + }, + { + "body": { + "id": 5537, + "nodeType": "Block", + "src": "3110:36:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5533, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "3127:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5535, + "indexExpression": { + "argumentTypes": null, + "id": 5534, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5528, + "src": "3136:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3127:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5532, + "id": 5536, + "nodeType": "Return", + "src": "3120:19:19" + } + ] + }, + "documentation": null, + "id": 5538, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "nameExpires", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5528, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5538, + "src": "3070:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5527, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3070:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3069:12:19" + }, + "returnParameters": { + "id": 5532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5531, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5538, + "src": "3104:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5530, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3104:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3103:6:19" + }, + "scope": 5900, + "src": "3049:97:19", + "stateMutability": "view", + "superFunction": 4847, + "visibility": "external" + }, + { + "body": { + "id": 5571, + "nodeType": "Block", + "src": "3283:390:19", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5545, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "3369:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5547, + "indexExpression": { + "argumentTypes": null, + "id": 5546, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5540, + "src": "3378:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3369:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5548, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "3384:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3369:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 5550, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "3400:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3369:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5555, + "nodeType": "IfStatement", + "src": "3366:76:19", + "trueBody": { + "id": 5554, + "nodeType": "Block", + "src": "3405:37:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3426:5:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 5544, + "id": 5553, + "nodeType": "Return", + "src": "3419:12:19" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5556, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "3579:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5557, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "3585:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3579:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 5568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5562, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5540, + "src": "3639:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3631:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 5563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3631:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 5559, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5330, + "src": "3607:17:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 5560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 4677, + "src": "3607:23:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view external returns (enum Registrar.Mode)" + } + }, + "id": 5564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3607:36:19", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5565, + "name": "Registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "3647:9:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Registrar_$4775_$", + "typeString": "type(contract Registrar)" + } + }, + "id": 5566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "Mode", + "nodeType": "MemberAccess", + "referencedDeclaration": 4620, + "src": "3647:14:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 5567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Open", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3647:19:19", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "3607:59:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3579:87:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5544, + "id": 5570, + "nodeType": "Return", + "src": "3572:94:19" + } + ] + }, + "documentation": null, + "id": 5572, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "available", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5540, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5572, + "src": "3245:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5539, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3245:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3244:12:19" + }, + "returnParameters": { + "id": 5544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5543, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5572, + "src": "3277:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5542, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3277:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3276:6:19" + }, + "scope": 5900, + "src": "3226:447:19", + "stateMutability": "view", + "superFunction": 4854, + "visibility": "public" + }, + { + "body": { + "id": 5590, + "nodeType": "Block", + "src": "3807:58:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5584, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5574, + "src": "3832:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5585, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5576, + "src": "3836:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5586, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5578, + "src": "3843:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3853:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5583, + "name": "_register", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5693, + "src": "3822:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_bool_$returns$_t_uint256_$", + "typeString": "function (uint256,address,uint256,bool) returns (uint256)" + } + }, + "id": 5588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3822:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5582, + "id": 5589, + "nodeType": "Return", + "src": "3815:43:19" + } + ] + }, + "documentation": "@dev Register a name.", + "id": 5591, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5574, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5591, + "src": "3742:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3742:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5576, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5591, + "src": "3754:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5575, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3754:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5578, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5591, + "src": "3769:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5577, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3769:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3741:42:19" + }, + "returnParameters": { + "id": 5582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5581, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5591, + "src": "3801:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5580, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3801:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3800:6:19" + }, + "scope": 5900, + "src": "3724:141:19", + "stateMutability": "nonpayable", + "superFunction": 4865, + "visibility": "external" + }, + { + "body": { + "id": 5609, + "nodeType": "Block", + "src": "4003:59:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5603, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "4028:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5604, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5595, + "src": "4032:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5605, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5597, + "src": "4039:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4049:5:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5602, + "name": "_register", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5693, + "src": "4018:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_bool_$returns$_t_uint256_$", + "typeString": "function (uint256,address,uint256,bool) returns (uint256)" + } + }, + "id": 5607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4018:37:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5601, + "id": 5608, + "nodeType": "Return", + "src": "4011:44:19" + } + ] + }, + "documentation": "@dev Register a name.", + "id": 5610, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerOnly", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5593, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5610, + "src": "3938:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3938:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5595, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5610, + "src": "3950:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3950:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5597, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5610, + "src": "3965:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5596, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3965:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3937:42:19" + }, + "returnParameters": { + "id": 5601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5600, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5610, + "src": "3997:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5599, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3997:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3996:6:19" + }, + "scope": 5900, + "src": "3916:146:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 5692, + "nodeType": "Block", + "src": "4238:505:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5629, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4266:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5628, + "name": "available", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5572 + ], + "referencedDeclaration": 5572, + "src": "4256:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4256:13:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5627, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4248:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4248:22:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5632, + "nodeType": "ExpressionStatement", + "src": "4248:22:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5634, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4288:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5635, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4294:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4288:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5637, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4305:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4288:29:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5639, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4320:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5640, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4326:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4320:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4288:50:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5633, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4280:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4280:59:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5644, + "nodeType": "ExpressionStatement", + "src": "4280:59:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5645, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "4377:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5647, + "indexExpression": { + "argumentTypes": null, + "id": 5646, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4386:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4377:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5648, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4392:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5649, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4398:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4392:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4377:29:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5652, + "nodeType": "ExpressionStatement", + "src": "4377:29:19" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5654, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4427:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5653, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "4419:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4419:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5661, + "nodeType": "IfStatement", + "src": "4416:104:19", + "trueBody": { + "id": 5660, + "nodeType": "Block", + "src": "4432:88:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5657, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4506:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5656, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6616, + 6629 + ], + "referencedDeclaration": 6629, + "src": "4500:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4500:9:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5659, + "nodeType": "ExpressionStatement", + "src": "4500:9:19" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5663, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4535:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5664, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4542:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5662, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6569, + "src": "4529:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4529:16:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5666, + "nodeType": "ExpressionStatement", + "src": "4529:16:19" + }, + { + "condition": { + "argumentTypes": null, + "id": 5667, + "name": "updateRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5618, + "src": "4558:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5679, + "nodeType": "IfStatement", + "src": "4555:93:19", + "trueBody": { + "id": 5678, + "nodeType": "Block", + "src": "4574:74:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5671, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "4608:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5673, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4626:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4618:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 5674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4618:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5675, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4631:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5668, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "4588:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "4588:19:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 5676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4588:49:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5677, + "nodeType": "ExpressionStatement", + "src": "4588:49:19" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5681, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4678:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5682, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4682:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5683, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4689:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5684, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4695:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4689:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5680, + "name": "NameRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4811, + "src": "4663:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 5686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4663:41:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5687, + "nodeType": "EmitStatement", + "src": "4658:46:19" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5688, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4722:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5689, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4728:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4722:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5626, + "id": 5691, + "nodeType": "Return", + "src": "4715:21:19" + } + ] + }, + "documentation": "@dev Register a name.", + "id": 5693, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5621, + "modifierName": { + "argumentTypes": null, + "id": 5620, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "4204:4:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4204:4:19" + }, + { + "arguments": null, + "id": 5623, + "modifierName": { + "argumentTypes": null, + "id": 5622, + "name": "onlyController", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5454, + "src": "4209:14:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4209:14:19" + } + ], + "name": "_register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5612, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5693, + "src": "4132:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4132:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5614, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5693, + "src": "4144:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4144:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5616, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5693, + "src": "4159:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5615, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4159:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5618, + "name": "updateRegistry", + "nodeType": "VariableDeclaration", + "scope": 5693, + "src": "4174:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5617, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4174:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4131:63:19" + }, + "returnParameters": { + "id": 5626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5625, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5693, + "src": "4232:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5624, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4232:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4231:6:19" + }, + "scope": 5900, + "src": "4113:630:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5747, + "nodeType": "Block", + "src": "4834:329:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5707, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "4852:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5709, + "indexExpression": { + "argumentTypes": null, + "id": 5708, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "4861:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4852:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5710, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4867:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4852:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 5712, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4883:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4852:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5706, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4844:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4844:43:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5715, + "nodeType": "ExpressionStatement", + "src": "4844:43:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5717, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "4956:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5719, + "indexExpression": { + "argumentTypes": null, + "id": 5718, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "4965:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4956:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5720, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5697, + "src": "4971:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4956:23:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5722, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4982:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4956:38:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5724, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5697, + "src": "4997:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5725, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "5008:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4997:23:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4956:64:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5716, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4948:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4948:73:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5729, + "nodeType": "ExpressionStatement", + "src": "4948:73:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5730, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "5059:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5732, + "indexExpression": { + "argumentTypes": null, + "id": 5731, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "5068:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5059:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5733, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5697, + "src": "5075:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5059:24:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5735, + "nodeType": "ExpressionStatement", + "src": "5059:24:19" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5737, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "5110:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5738, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "5114:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5740, + "indexExpression": { + "argumentTypes": null, + "id": 5739, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "5123:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5114:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5736, + "name": "NameRenewed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4817, + "src": "5098:11:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 5741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5098:29:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5742, + "nodeType": "EmitStatement", + "src": "5093:34:19" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5743, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "5144:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5745, + "indexExpression": { + "argumentTypes": null, + "id": 5744, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "5153:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5144:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5705, + "id": 5746, + "nodeType": "Return", + "src": "5137:19:19" + } + ] + }, + "documentation": null, + "id": 5748, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5700, + "modifierName": { + "argumentTypes": null, + "id": 5699, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "4800:4:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4800:4:19" + }, + { + "arguments": null, + "id": 5702, + "modifierName": { + "argumentTypes": null, + "id": 5701, + "name": "onlyController", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5454, + "src": "4805:14:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4805:14:19" + } + ], + "name": "renew", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5695, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5748, + "src": "4764:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5694, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4764:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5697, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5748, + "src": "4776:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5696, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4776:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4763:27:19" + }, + "returnParameters": { + "id": 5705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5704, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5748, + "src": "4828:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5703, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4828:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4827:6:19" + }, + "scope": 5900, + "src": "4749:414:19", + "stateMutability": "nonpayable", + "superFunction": 4874, + "visibility": "external" + }, + { + "body": { + "id": 5775, + "nodeType": "Block", + "src": "5323:119:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5759, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "5360:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5360:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 5761, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5750, + "src": "5372:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5758, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6521, + "src": "5341:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 5762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5341:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5757, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5333:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5333:43:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5764, + "nodeType": "ExpressionStatement", + "src": "5333:43:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5768, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "5406:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5770, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5750, + "src": "5424:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5416:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 5771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5416:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5772, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5752, + "src": "5429:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5765, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "5386:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "5386:19:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5386:49:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5774, + "nodeType": "ExpressionStatement", + "src": "5386:49:19" + } + ] + }, + "documentation": "@dev Reclaim ownership of a name in ENS, if you own it in the registrar.", + "id": 5776, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5755, + "modifierName": { + "argumentTypes": null, + "id": 5754, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "5318:4:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5318:4:19" + } + ], + "name": "reclaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5750, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5776, + "src": "5282:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5749, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5282:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5752, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5776, + "src": "5294:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5751, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5294:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5281:27:19" + }, + "returnParameters": { + "id": 5756, + "nodeType": "ParameterList", + "parameters": [], + "src": "5323:0:19" + }, + "scope": 5900, + "src": "5265:177:19", + "stateMutability": "nonpayable", + "superFunction": 4881, + "visibility": "external" + }, + { + "body": { + "id": 5878, + "nodeType": "Block", + "src": "5704:764:19", + "statements": [ + { + "assignments": [ + 5788 + ], + "declarations": [ + { + "constant": false, + "id": 5788, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5878, + "src": "5714:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5787, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5714:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5792, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5790, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "5735:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5727:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5727:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5714:27:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5794, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "5760:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5760:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5797, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5330, + "src": "5782:17:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + ], + "id": 5796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5774:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5774:26:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5760:40:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5793, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5752:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5752:49:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5801, + "nodeType": "ExpressionStatement", + "src": "5752:49:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5803, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "5819:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5805, + "indexExpression": { + "argumentTypes": null, + "id": 5804, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5788, + "src": "5828:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5819:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5835:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5819:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5802, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5811:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5811:26:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5809, + "nodeType": "ExpressionStatement", + "src": "5811:26:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5811, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "5855:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5812, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "5876:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5855:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5810, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5847:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5847:33:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5815, + "nodeType": "ExpressionStatement", + "src": "5847:33:19" + }, + { + "assignments": [ + 5817 + ], + "declarations": [ + { + "constant": false, + "id": 5817, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 5878, + "src": "5891:21:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5816, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5891:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5818, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "5891:21:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + { + "argumentTypes": null, + "id": 5819, + "name": "registrationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5817, + "src": "5925:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null, + null + ], + "id": 5820, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "5922:22:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$_t_uint256_$__$__$", + "typeString": "tuple(,,uint256,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5823, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "5973:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 5821, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5330, + "src": "5947:17:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 5822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 4774, + "src": "5947:25:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "id": 5824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5947:32:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "src": "5922:57:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5826, + "nodeType": "ExpressionStatement", + "src": "5922:57:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5828, + "name": "registrationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5817, + "src": "5997:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5829, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "6016:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 5830, + "name": "MIGRATION_LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "6022:21:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6016:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5997:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5827, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5989:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5989:55:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5834, + "nodeType": "ExpressionStatement", + "src": "5989:55:19" + }, + { + "assignments": [ + 5836 + ], + "declarations": [ + { + "constant": false, + "id": 5836, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5878, + "src": "6055:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6055:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5840, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 5837, + "name": "deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "6071:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 5838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2211, + "src": "6071:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 5839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6071:12:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6055:28:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31303030", + "id": 5844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6184:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + } + ], + "expression": { + "argumentTypes": null, + "id": 5841, + "name": "deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "6169:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 5843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "6169:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 5845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6169:20:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5846, + "nodeType": "ExpressionStatement", + "src": "6169:20:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5847, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "6229:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5849, + "indexExpression": { + "argumentTypes": null, + "id": 5848, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5788, + "src": "6238:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6229:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5850, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "6244:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6229:33:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5852, + "nodeType": "ExpressionStatement", + "src": "6229:33:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5854, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "6278:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5855, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5788, + "src": "6285:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5853, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6569, + "src": "6272:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6272:16:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5857, + "nodeType": "ExpressionStatement", + "src": "6272:16:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5861, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "6319:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5862, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "6329:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5863, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "6336:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5858, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "6299:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "6299:19:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 5864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6299:43:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5865, + "nodeType": "ExpressionStatement", + "src": "6299:43:19" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5867, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5788, + "src": "6371:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5868, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "6375:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5869, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "6382:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5866, + "name": "NameMigrated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4803, + "src": "6358:12:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 5870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6358:43:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5871, + "nodeType": "EmitStatement", + "src": "6353:48:19" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5873, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5788, + "src": "6431:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5874, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "6435:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5875, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "6442:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5872, + "name": "NameRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4811, + "src": "6416:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 5876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6416:45:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5877, + "nodeType": "EmitStatement", + "src": "6411:50:19" + } + ] + }, + "documentation": "@dev Transfers a registration from the initial registrar.\nThis function is called by the initial registrar when a user calls `transferRegistrars`.", + "id": 5879, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5785, + "modifierName": { + "argumentTypes": null, + "id": 5784, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "5699:4:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5699:4:19" + } + ], + "name": "acceptRegistrarTransfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5778, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 5879, + "src": "5658:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5777, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5658:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5780, + "name": "deed", + "nodeType": "VariableDeclaration", + "scope": 5879, + "src": "5673:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 5779, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "5673:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5782, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5879, + "src": "5684:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5781, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5684:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5657:32:19" + }, + "returnParameters": { + "id": 5786, + "nodeType": "ParameterList", + "parameters": [], + "src": "5704:0:19" + }, + "scope": 5900, + "src": "5625:843:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 5898, + "nodeType": "Block", + "src": "6550:143:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5886, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5881, + "src": "6567:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5887, + "name": "INTERFACE_META_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5344, + "src": "6582:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "6567:32:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5889, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5881, + "src": "6618:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5890, + "name": "ERC721_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5383, + "src": "6633:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "6618:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6567:75:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5893, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5881, + "src": "6661:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5894, + "name": "RECLAIM_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5390, + "src": "6676:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "6661:25:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6567:119:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5885, + "id": 5897, + "nodeType": "Return", + "src": "6560:126:19" + } + ] + }, + "documentation": null, + "id": 5899, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5881, + "name": "interfaceID", + "nodeType": "VariableDeclaration", + "scope": 5899, + "src": "6501:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5880, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "6501:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6500:20:19" + }, + "returnParameters": { + "id": 5885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5884, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5899, + "src": "6544:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5883, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6544:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6543:6:19" + }, + "scope": 5900, + "src": "6474:219:19", + "stateMutability": "view", + "superFunction": 5932, + "visibility": "external" + } + ], + "scope": 5901, + "src": "270:6425:19" + } + ], + "src": "0:6696:19" + }, + "legacyAST": { + "absolutePath": "@ensdomains/ethregistrar/contracts/OldBaseRegistrarImplementation.sol", + "exportedSymbols": { + "OldBaseRegistrarImplementation": [ + 5900 + ] + }, + "id": 5901, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5317, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:19" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 5318, + "nodeType": "ImportDirective", + "scope": 5901, + "sourceUnit": 2617, + "src": "25:43:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Registrar.sol", + "file": "@ensdomains/ens/contracts/Registrar.sol", + "id": 5319, + "nodeType": "ImportDirective", + "scope": 5901, + "sourceUnit": 4776, + "src": "69:49:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/HashRegistrar.sol", + "file": "@ensdomains/ens/contracts/HashRegistrar.sol", + "id": 5320, + "nodeType": "ImportDirective", + "scope": 5901, + "sourceUnit": 4611, + "src": "119:53:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "file": "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol", + "id": 5321, + "nodeType": "ImportDirective", + "scope": 5901, + "sourceUnit": 6758, + "src": "173:65:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "file": "./BaseRegistrar.sol", + "id": 5322, + "nodeType": "ImportDirective", + "scope": 5901, + "sourceUnit": 4883, + "src": "239:29:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5323, + "name": "BaseRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4882, + "src": "313:13:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 5324, + "nodeType": "InheritanceSpecifier", + "src": "313:13:19" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5325, + "name": "ERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6757, + "src": "328:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721_$6757", + "typeString": "contract ERC721" + } + }, + "id": 5326, + "nodeType": "InheritanceSpecifier", + "src": "328:6:19" + } + ], + "contractDependencies": [ + 4882, + 5951, + 5961, + 6198, + 6757, + 6860 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 5900, + "linearizedBaseContracts": [ + 5900, + 6757, + 4882, + 6198, + 6860, + 5951, + 5961 + ], + "name": "OldBaseRegistrarImplementation", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 5328, + "name": "transferPeriodEnds", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "391:30:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5327, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "391:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5330, + "name": "previousRegistrar", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "457:34:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + }, + "typeName": { + "contractScope": null, + "id": 5329, + "name": "Registrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4775, + "src": "457:9:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5334, + "name": "expiries", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "527:31:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 5333, + "keyType": { + "id": 5331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "535:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "527:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5332, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "544:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": true, + "id": 5337, + "name": "MIGRATION_LOCK_PERIOD", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "565:52:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5335, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "565:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3238", + "id": 5336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "610:7:19", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_2419200_by_1", + "typeString": "int_const 2419200" + }, + "value": "28" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 5344, + "name": "INTERFACE_META_ID", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "624:90:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5338, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "624:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "737570706f727473496e746572666163652862797465733429", + "id": 5341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "685:27:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e2", + "typeString": "literal_string \"supportsInterface(bytes4)\"" + }, + "value": "supportsInterface(bytes4)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e2", + "typeString": "literal_string \"supportsInterface(bytes4)\"" + } + ], + "id": 5340, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "675:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5342, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "675:38:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "668:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 5343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "668:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "constant": true, + "id": 5383, + "name": "ERC721_ID", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "720:530:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5345, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "720:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "62616c616e63654f662875696e7432353629", + "id": 5348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "782:20:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f39", + "typeString": "literal_string \"balanceOf(uint256)\"" + }, + "value": "balanceOf(uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f39", + "typeString": "literal_string \"balanceOf(uint256)\"" + } + ], + "id": 5347, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "772:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "772:31:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6f776e65724f662875696e7432353629", + "id": 5351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "824:18:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", + "typeString": "literal_string \"ownerOf(uint256)\"" + }, + "value": "ownerOf(uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6352211e6566aa027e75ac9dbf2423197fbd9b82b9d981a3ab367d355866aa1c", + "typeString": "literal_string \"ownerOf(uint256)\"" + } + ], + "id": 5350, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "814:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "814:29:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:71:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "617070726f766528616464726573732c75696e7432353629", + "id": 5355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "864:26:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "typeString": "literal_string \"approve(address,uint256)\"" + }, + "value": "approve(address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba", + "typeString": "literal_string \"approve(address,uint256)\"" + } + ], + "id": 5354, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "854:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "854:37:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:119:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "676574417070726f7665642875696e7432353629", + "id": 5359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "912:22:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "typeString": "literal_string \"getApproved(uint256)\"" + }, + "value": "getApproved(uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_081812fc55e34fdc7cf5d8b5cf4e3621fa6423fde952ec6ab24afdc0d85c0b2e", + "typeString": "literal_string \"getApproved(uint256)\"" + } + ], + "id": 5358, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "902:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "902:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:163:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736574417070726f76616c466f72416c6c28616464726573732c626f6f6c29", + "id": 5363, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "956:33:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "typeString": "literal_string \"setApprovalForAll(address,bool)\"" + }, + "value": "setApprovalForAll(address,bool)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a", + "typeString": "literal_string \"setApprovalForAll(address,bool)\"" + } + ], + "id": 5362, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "946:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "946:44:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:218:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6973417070726f766564466f72416c6c28616464726573732c6164647265737329", + "id": 5367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1011:35:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", + "typeString": "literal_string \"isApprovedForAll(address,address)\"" + }, + "value": "isApprovedForAll(address,address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3", + "typeString": "literal_string \"isApprovedForAll(address,address)\"" + } + ], + "id": 5366, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1001:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1001:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:275:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629", + "id": 5371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1068:39:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "typeString": "literal_string \"transferFrom(address,address,uint256)\"" + }, + "value": "transferFrom(address,address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b", + "typeString": "literal_string \"transferFrom(address,address,uint256)\"" + } + ], + "id": 5370, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1058:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1058:50:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:336:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629", + "id": 5375, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1129:43:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256)\"" + }, + "value": "safeTransferFrom(address,address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42842e0eb38857a7775b4e7364b2775df7325074d088e7fb39590cd6281184ed", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256)\"" + } + ], + "id": 5374, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1119:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1119:54:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:401:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e743235362c627974657329", + "id": 5379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1194:49:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256,bytes)\"" + }, + "value": "safeTransferFrom(address,address,uint256,bytes)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b88d4fde60196325a28bb7f99a2582e0b46de55b18761e960c14ad7a32099465", + "typeString": "literal_string \"safeTransferFrom(address,address,uint256,bytes)\"" + } + ], + "id": 5378, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1184:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1184:60:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "772:472:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "756:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 5382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "756:494:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "constant": true, + "id": 5390, + "name": "RECLAIM_ID", + "nodeType": "VariableDeclaration", + "scope": 5900, + "src": "1256:82:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5384, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1256:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7265636c61696d2875696e743235362c6164647265737329", + "id": 5387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1310:26:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_28ed4f6c74b219a5819055dfbcd2f1837c046c364cf01fabb6799e4f440d6f13", + "typeString": "literal_string \"reclaim(uint256,address)\"" + }, + "value": "reclaim(uint256,address)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_28ed4f6c74b219a5819055dfbcd2f1837c046c364cf01fabb6799e4f440d6f13", + "typeString": "literal_string \"reclaim(uint256,address)\"" + } + ], + "id": 5386, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1300:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1300:37:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1293:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": "bytes4" + }, + "id": 5389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1293:45:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 5427, + "nodeType": "Block", + "src": "1453:293:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5402, + "name": "_transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5398, + "src": "1536:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5403, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "1558:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 5404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1564:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 5405, + "name": "MIGRATION_LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "1568:21:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1564:25:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1558:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1536:53:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5401, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1528:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1528:62:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5410, + "nodeType": "ExpressionStatement", + "src": "1528:62:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5411, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "1601:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5412, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5392, + "src": "1607:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "src": "1601:10:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5414, + "nodeType": "ExpressionStatement", + "src": "1601:10:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5415, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "1621:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5416, + "name": "_baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5396, + "src": "1632:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1621:20:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5418, + "nodeType": "ExpressionStatement", + "src": "1621:20:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5419, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5330, + "src": "1651:17:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5420, + "name": "_previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5394, + "src": "1671:18:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "src": "1651:38:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 5422, + "nodeType": "ExpressionStatement", + "src": "1651:38:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5423, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "1699:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5424, + "name": "_transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5398, + "src": "1720:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1699:40:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5426, + "nodeType": "ExpressionStatement", + "src": "1699:40:19" + } + ] + }, + "documentation": null, + "id": 5428, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5392, + "name": "_ens", + "nodeType": "VariableDeclaration", + "scope": 5428, + "src": "1357:8:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 5391, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1357:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5394, + "name": "_previousRegistrar", + "nodeType": "VariableDeclaration", + "scope": 5428, + "src": "1367:32:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + }, + "typeName": { + "contractScope": null, + "id": 5393, + "name": "HashRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4610, + "src": "1367:13:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5396, + "name": "_baseNode", + "nodeType": "VariableDeclaration", + "scope": 5428, + "src": "1401:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5395, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1401:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5398, + "name": "_transferPeriodEnds", + "nodeType": "VariableDeclaration", + "scope": 5428, + "src": "1420:24:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5397, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1420:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1356:89:19" + }, + "returnParameters": { + "id": 5400, + "nodeType": "ParameterList", + "parameters": [], + "src": "1453:0:19" + }, + "scope": 5900, + "src": "1345:401:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5442, + "nodeType": "Block", + "src": "1766:73:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5433, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "1794:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 5431, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "1784:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1784:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 5434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1784:19:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5436, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6966, + "src": "1815:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OldBaseRegistrarImplementation_$5900", + "typeString": "contract OldBaseRegistrarImplementation" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OldBaseRegistrarImplementation_$5900", + "typeString": "contract OldBaseRegistrarImplementation" + } + ], + "id": 5435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1807:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1807:13:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1784:36:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5430, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1776:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1776:45:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5440, + "nodeType": "ExpressionStatement", + "src": "1776:45:19" + }, + { + "id": 5441, + "nodeType": "PlaceholderStatement", + "src": "1831:1:19" + } + ] + }, + "documentation": null, + "id": 5443, + "name": "live", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5429, + "nodeType": "ParameterList", + "parameters": [], + "src": "1766:0:19" + }, + "src": "1752:87:19", + "visibility": "internal" + }, + { + "body": { + "id": 5453, + "nodeType": "Block", + "src": "1869:60:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5446, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "1887:11:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5449, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5447, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "1899:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1899:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1887:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5445, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1879:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1879:32:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5451, + "nodeType": "ExpressionStatement", + "src": "1879:32:19" + }, + { + "id": 5452, + "nodeType": "PlaceholderStatement", + "src": "1921:1:19" + } + ] + }, + "documentation": null, + "id": 5454, + "name": "onlyController", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5444, + "nodeType": "ParameterList", + "parameters": [], + "src": "1869:0:19" + }, + "src": "1845:84:19", + "visibility": "internal" + }, + { + "body": { + "id": 5474, + "nodeType": "Block", + "src": "2278:88:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5462, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "2296:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5464, + "indexExpression": { + "argumentTypes": null, + "id": 5463, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5456, + "src": "2305:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2296:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5465, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "2316:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2296:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5461, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "2288:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2288:32:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5468, + "nodeType": "ExpressionStatement", + "src": "2288:32:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5471, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5456, + "src": "2351:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5469, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6967, + "src": "2337:5:19", + "typeDescriptions": { + "typeIdentifier": "t_super$_OldBaseRegistrarImplementation_$5900", + "typeString": "contract super OldBaseRegistrarImplementation" + } + }, + "id": 5470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 6291, + "src": "2337:13:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2337:22:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5460, + "id": 5473, + "nodeType": "Return", + "src": "2330:29:19" + } + ] + }, + "documentation": "@dev Gets the owner of the specified token ID. Names become unowned\n when their registration expires.\n@param tokenId uint256 ID of the token to query the owner of\n@return address currently marked as the owner of the given token ID", + "id": 5475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5457, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5456, + "name": "tokenId", + "nodeType": "VariableDeclaration", + "scope": 5475, + "src": "2231:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5455, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2231:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2230:17:19" + }, + "returnParameters": { + "id": 5460, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5459, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5475, + "src": "2269:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5458, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2269:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2268:9:19" + }, + "scope": 5900, + "src": "2214:152:19", + "stateMutability": "view", + "superFunction": 6291, + "visibility": "public" + }, + { + "body": { + "id": 5492, + "nodeType": "Block", + "src": "2502:89:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5482, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "2512:11:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5484, + "indexExpression": { + "argumentTypes": null, + "id": 5483, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5477, + "src": "2524:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2512:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2538:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2512:30:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5487, + "nodeType": "ExpressionStatement", + "src": "2512:30:19" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5489, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5477, + "src": "2573:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5488, + "name": "ControllerAdded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4791, + "src": "2557:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2557:27:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5491, + "nodeType": "EmitStatement", + "src": "2552:32:19" + } + ] + }, + "documentation": null, + "id": 5493, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5480, + "modifierName": { + "argumentTypes": null, + "id": 5479, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "2492:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2492:9:19" + } + ], + "name": "addController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5477, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 5493, + "src": "2463:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2463:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2462:20:19" + }, + "returnParameters": { + "id": 5481, + "nodeType": "ParameterList", + "parameters": [], + "src": "2502:0:19" + }, + "scope": 5900, + "src": "2440:151:19", + "stateMutability": "nonpayable", + "superFunction": 4830, + "visibility": "external" + }, + { + "body": { + "id": 5510, + "nodeType": "Block", + "src": "2714:92:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5500, + "name": "controllers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4825, + "src": "2724:11:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 5502, + "indexExpression": { + "argumentTypes": null, + "id": 5501, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5495, + "src": "2736:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2724:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2750:5:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2724:31:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5505, + "nodeType": "ExpressionStatement", + "src": "2724:31:19" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5507, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5495, + "src": "2788:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5506, + "name": "ControllerRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4795, + "src": "2770:17:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2770:29:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5509, + "nodeType": "EmitStatement", + "src": "2765:34:19" + } + ] + }, + "documentation": null, + "id": 5511, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5498, + "modifierName": { + "argumentTypes": null, + "id": 5497, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "2704:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2704:9:19" + } + ], + "name": "removeController", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5495, + "name": "controller", + "nodeType": "VariableDeclaration", + "scope": 5511, + "src": "2675:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2675:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2674:20:19" + }, + "returnParameters": { + "id": 5499, + "nodeType": "ParameterList", + "parameters": [], + "src": "2714:0:19" + }, + "scope": 5900, + "src": "2649:157:19", + "stateMutability": "nonpayable", + "superFunction": 4835, + "visibility": "external" + }, + { + "body": { + "id": 5525, + "nodeType": "Block", + "src": "2930:52:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5521, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "2956:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5522, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5513, + "src": "2966:8:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5518, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "2940:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResolver", + "nodeType": "MemberAccess", + "referencedDeclaration": 2557, + "src": "2940:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 5523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2940:35:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5524, + "nodeType": "ExpressionStatement", + "src": "2940:35:19" + } + ] + }, + "documentation": null, + "id": 5526, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5516, + "modifierName": { + "argumentTypes": null, + "id": 5515, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "2920:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2920:9:19" + } + ], + "name": "setResolver", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5513, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 5526, + "src": "2893:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2893:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2892:18:19" + }, + "returnParameters": { + "id": 5517, + "nodeType": "ParameterList", + "parameters": [], + "src": "2930:0:19" + }, + "scope": 5900, + "src": "2872:110:19", + "stateMutability": "nonpayable", + "superFunction": 4840, + "visibility": "external" + }, + { + "body": { + "id": 5537, + "nodeType": "Block", + "src": "3110:36:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5533, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "3127:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5535, + "indexExpression": { + "argumentTypes": null, + "id": 5534, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5528, + "src": "3136:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3127:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5532, + "id": 5536, + "nodeType": "Return", + "src": "3120:19:19" + } + ] + }, + "documentation": null, + "id": 5538, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "nameExpires", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5528, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5538, + "src": "3070:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5527, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3070:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3069:12:19" + }, + "returnParameters": { + "id": 5532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5531, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5538, + "src": "3104:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5530, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3104:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3103:6:19" + }, + "scope": 5900, + "src": "3049:97:19", + "stateMutability": "view", + "superFunction": 4847, + "visibility": "external" + }, + { + "body": { + "id": 5571, + "nodeType": "Block", + "src": "3283:390:19", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5545, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "3369:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5547, + "indexExpression": { + "argumentTypes": null, + "id": 5546, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5540, + "src": "3378:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3369:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5548, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "3384:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3369:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 5550, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "3400:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3369:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5555, + "nodeType": "IfStatement", + "src": "3366:76:19", + "trueBody": { + "id": 5554, + "nodeType": "Block", + "src": "3405:37:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3426:5:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 5544, + "id": 5553, + "nodeType": "Return", + "src": "3419:12:19" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5556, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "3579:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5557, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "3585:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3579:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "id": 5568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5562, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5540, + "src": "3639:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3631:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 5563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3631:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 5559, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5330, + "src": "3607:17:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 5560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 4677, + "src": "3607:23:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$", + "typeString": "function (bytes32) view external returns (enum Registrar.Mode)" + } + }, + "id": 5564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3607:36:19", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5565, + "name": "Registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "3647:9:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Registrar_$4775_$", + "typeString": "type(contract Registrar)" + } + }, + "id": 5566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "Mode", + "nodeType": "MemberAccess", + "referencedDeclaration": 4620, + "src": "3647:14:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Mode_$4620_$", + "typeString": "type(enum Registrar.Mode)" + } + }, + "id": 5567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Open", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3647:19:19", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "src": "3607:59:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3579:87:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5544, + "id": 5570, + "nodeType": "Return", + "src": "3572:94:19" + } + ] + }, + "documentation": null, + "id": 5572, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "available", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5540, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5572, + "src": "3245:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5539, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3245:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3244:12:19" + }, + "returnParameters": { + "id": 5544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5543, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5572, + "src": "3277:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5542, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3277:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3276:6:19" + }, + "scope": 5900, + "src": "3226:447:19", + "stateMutability": "view", + "superFunction": 4854, + "visibility": "public" + }, + { + "body": { + "id": 5590, + "nodeType": "Block", + "src": "3807:58:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5584, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5574, + "src": "3832:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5585, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5576, + "src": "3836:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5586, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5578, + "src": "3843:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3853:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5583, + "name": "_register", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5693, + "src": "3822:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_bool_$returns$_t_uint256_$", + "typeString": "function (uint256,address,uint256,bool) returns (uint256)" + } + }, + "id": 5588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3822:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5582, + "id": 5589, + "nodeType": "Return", + "src": "3815:43:19" + } + ] + }, + "documentation": "@dev Register a name.", + "id": 5591, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5574, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5591, + "src": "3742:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3742:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5576, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5591, + "src": "3754:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5575, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3754:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5578, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5591, + "src": "3769:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5577, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3769:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3741:42:19" + }, + "returnParameters": { + "id": 5582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5581, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5591, + "src": "3801:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5580, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3801:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3800:6:19" + }, + "scope": 5900, + "src": "3724:141:19", + "stateMutability": "nonpayable", + "superFunction": 4865, + "visibility": "external" + }, + { + "body": { + "id": 5609, + "nodeType": "Block", + "src": "4003:59:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5603, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5593, + "src": "4028:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5604, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5595, + "src": "4032:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5605, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5597, + "src": "4039:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4049:5:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5602, + "name": "_register", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5693, + "src": "4018:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_bool_$returns$_t_uint256_$", + "typeString": "function (uint256,address,uint256,bool) returns (uint256)" + } + }, + "id": 5607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4018:37:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5601, + "id": 5608, + "nodeType": "Return", + "src": "4011:44:19" + } + ] + }, + "documentation": "@dev Register a name.", + "id": 5610, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerOnly", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5593, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5610, + "src": "3938:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3938:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5595, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5610, + "src": "3950:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3950:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5597, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5610, + "src": "3965:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5596, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3965:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3937:42:19" + }, + "returnParameters": { + "id": 5601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5600, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5610, + "src": "3997:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5599, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3997:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3996:6:19" + }, + "scope": 5900, + "src": "3916:146:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 5692, + "nodeType": "Block", + "src": "4238:505:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5629, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4266:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5628, + "name": "available", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5572 + ], + "referencedDeclaration": 5572, + "src": "4256:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4256:13:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5627, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4248:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4248:22:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5632, + "nodeType": "ExpressionStatement", + "src": "4248:22:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5634, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4288:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5635, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4294:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4288:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5637, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4305:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4288:29:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5639, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4320:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5640, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4326:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4320:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4288:50:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5633, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4280:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4280:59:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5644, + "nodeType": "ExpressionStatement", + "src": "4280:59:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5645, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "4377:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5647, + "indexExpression": { + "argumentTypes": null, + "id": 5646, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4386:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4377:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5648, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4392:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5649, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4398:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4392:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4377:29:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5652, + "nodeType": "ExpressionStatement", + "src": "4377:29:19" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5654, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4427:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5653, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "4419:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4419:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5661, + "nodeType": "IfStatement", + "src": "4416:104:19", + "trueBody": { + "id": 5660, + "nodeType": "Block", + "src": "4432:88:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5657, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4506:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5656, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6616, + 6629 + ], + "referencedDeclaration": 6629, + "src": "4500:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4500:9:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5659, + "nodeType": "ExpressionStatement", + "src": "4500:9:19" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5663, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4535:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5664, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4542:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5662, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6569, + "src": "4529:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4529:16:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5666, + "nodeType": "ExpressionStatement", + "src": "4529:16:19" + }, + { + "condition": { + "argumentTypes": null, + "id": 5667, + "name": "updateRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5618, + "src": "4558:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5679, + "nodeType": "IfStatement", + "src": "4555:93:19", + "trueBody": { + "id": 5678, + "nodeType": "Block", + "src": "4574:74:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5671, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "4608:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5673, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4626:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4618:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 5674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4618:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5675, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4631:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5668, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "4588:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "4588:19:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 5676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4588:49:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5677, + "nodeType": "ExpressionStatement", + "src": "4588:49:19" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5681, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5612, + "src": "4678:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5682, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4682:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5683, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4689:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5684, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4695:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4689:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5680, + "name": "NameRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4811, + "src": "4663:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 5686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4663:41:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5687, + "nodeType": "EmitStatement", + "src": "4658:46:19" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5688, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4722:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5689, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4728:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4722:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5626, + "id": 5691, + "nodeType": "Return", + "src": "4715:21:19" + } + ] + }, + "documentation": "@dev Register a name.", + "id": 5693, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5621, + "modifierName": { + "argumentTypes": null, + "id": 5620, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "4204:4:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4204:4:19" + }, + { + "arguments": null, + "id": 5623, + "modifierName": { + "argumentTypes": null, + "id": 5622, + "name": "onlyController", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5454, + "src": "4209:14:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4209:14:19" + } + ], + "name": "_register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5612, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5693, + "src": "4132:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4132:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5614, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5693, + "src": "4144:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4144:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5616, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5693, + "src": "4159:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5615, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4159:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5618, + "name": "updateRegistry", + "nodeType": "VariableDeclaration", + "scope": 5693, + "src": "4174:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5617, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4174:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4131:63:19" + }, + "returnParameters": { + "id": 5626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5625, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5693, + "src": "4232:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5624, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4232:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4231:6:19" + }, + "scope": 5900, + "src": "4113:630:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5747, + "nodeType": "Block", + "src": "4834:329:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5707, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "4852:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5709, + "indexExpression": { + "argumentTypes": null, + "id": 5708, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "4861:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4852:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5710, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4867:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4852:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 5712, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "4883:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4852:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5706, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4844:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4844:43:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5715, + "nodeType": "ExpressionStatement", + "src": "4844:43:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5717, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "4956:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5719, + "indexExpression": { + "argumentTypes": null, + "id": 5718, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "4965:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4956:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5720, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5697, + "src": "4971:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4956:23:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5722, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "4982:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4956:38:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5724, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5697, + "src": "4997:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 5725, + "name": "GRACE_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4787, + "src": "5008:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4997:23:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4956:64:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5716, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4948:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4948:73:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5729, + "nodeType": "ExpressionStatement", + "src": "4948:73:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5730, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "5059:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5732, + "indexExpression": { + "argumentTypes": null, + "id": 5731, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "5068:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5059:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 5733, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5697, + "src": "5075:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5059:24:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5735, + "nodeType": "ExpressionStatement", + "src": "5059:24:19" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5737, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "5110:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5738, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "5114:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5740, + "indexExpression": { + "argumentTypes": null, + "id": 5739, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "5123:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5114:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5736, + "name": "NameRenewed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4817, + "src": "5098:11:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 5741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5098:29:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5742, + "nodeType": "EmitStatement", + "src": "5093:34:19" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5743, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "5144:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5745, + "indexExpression": { + "argumentTypes": null, + "id": 5744, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5695, + "src": "5153:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5144:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5705, + "id": 5746, + "nodeType": "Return", + "src": "5137:19:19" + } + ] + }, + "documentation": null, + "id": 5748, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5700, + "modifierName": { + "argumentTypes": null, + "id": 5699, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "4800:4:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4800:4:19" + }, + { + "arguments": null, + "id": 5702, + "modifierName": { + "argumentTypes": null, + "id": 5701, + "name": "onlyController", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5454, + "src": "4805:14:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4805:14:19" + } + ], + "name": "renew", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5695, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5748, + "src": "4764:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5694, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4764:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5697, + "name": "duration", + "nodeType": "VariableDeclaration", + "scope": 5748, + "src": "4776:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5696, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4776:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4763:27:19" + }, + "returnParameters": { + "id": 5705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5704, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5748, + "src": "4828:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5703, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4828:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4827:6:19" + }, + "scope": 5900, + "src": "4749:414:19", + "stateMutability": "nonpayable", + "superFunction": 4874, + "visibility": "external" + }, + { + "body": { + "id": 5775, + "nodeType": "Block", + "src": "5323:119:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5759, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "5360:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5360:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 5761, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5750, + "src": "5372:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5758, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6521, + "src": "5341:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 5762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5341:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5757, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5333:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5333:43:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5764, + "nodeType": "ExpressionStatement", + "src": "5333:43:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5768, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "5406:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5770, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5750, + "src": "5424:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5416:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 5771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5416:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5772, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5752, + "src": "5429:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5765, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "5386:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "5386:19:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5386:49:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5774, + "nodeType": "ExpressionStatement", + "src": "5386:49:19" + } + ] + }, + "documentation": "@dev Reclaim ownership of a name in ENS, if you own it in the registrar.", + "id": 5776, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5755, + "modifierName": { + "argumentTypes": null, + "id": 5754, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "5318:4:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5318:4:19" + } + ], + "name": "reclaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5750, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5776, + "src": "5282:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5749, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5282:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5752, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5776, + "src": "5294:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5751, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5294:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5281:27:19" + }, + "returnParameters": { + "id": 5756, + "nodeType": "ParameterList", + "parameters": [], + "src": "5323:0:19" + }, + "scope": 5900, + "src": "5265:177:19", + "stateMutability": "nonpayable", + "superFunction": 4881, + "visibility": "external" + }, + { + "body": { + "id": 5878, + "nodeType": "Block", + "src": "5704:764:19", + "statements": [ + { + "assignments": [ + 5788 + ], + "declarations": [ + { + "constant": false, + "id": 5788, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 5878, + "src": "5714:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5787, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5714:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5792, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5790, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "5735:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5727:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5727:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5714:27:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5794, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "5760:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5760:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5797, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5330, + "src": "5782:17:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + ], + "id": 5796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5774:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5774:26:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5760:40:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5793, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5752:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5752:49:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5801, + "nodeType": "ExpressionStatement", + "src": "5752:49:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5803, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "5819:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5805, + "indexExpression": { + "argumentTypes": null, + "id": 5804, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5788, + "src": "5828:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5819:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5835:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5819:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5802, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5811:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5811:26:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5809, + "nodeType": "ExpressionStatement", + "src": "5811:26:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5811, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "5855:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5812, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "5876:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5855:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5810, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5847:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5847:33:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5815, + "nodeType": "ExpressionStatement", + "src": "5847:33:19" + }, + { + "assignments": [ + 5817 + ], + "declarations": [ + { + "constant": false, + "id": 5817, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 5878, + "src": "5891:21:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5816, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5891:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5818, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "5891:21:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + { + "argumentTypes": null, + "id": 5819, + "name": "registrationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5817, + "src": "5925:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null, + null + ], + "id": 5820, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "5922:22:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$_t_uint256_$__$__$", + "typeString": "tuple(,,uint256,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5823, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "5973:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 5821, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5330, + "src": "5947:17:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 5822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 4774, + "src": "5947:25:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "id": 5824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5947:32:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "src": "5922:57:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5826, + "nodeType": "ExpressionStatement", + "src": "5922:57:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5828, + "name": "registrationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5817, + "src": "5997:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5829, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6912, + "src": "6016:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 5830, + "name": "MIGRATION_LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "6022:21:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6016:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5997:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5827, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5989:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5989:55:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5834, + "nodeType": "ExpressionStatement", + "src": "5989:55:19" + }, + { + "assignments": [ + 5836 + ], + "declarations": [ + { + "constant": false, + "id": 5836, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 5878, + "src": "6055:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6055:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5840, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 5837, + "name": "deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "6071:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 5838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2211, + "src": "6071:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 5839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6071:12:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6055:28:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31303030", + "id": 5844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6184:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + } + ], + "expression": { + "argumentTypes": null, + "id": 5841, + "name": "deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "6169:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 5843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeDeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2203, + "src": "6169:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 5845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6169:20:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5846, + "nodeType": "ExpressionStatement", + "src": "6169:20:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 5851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5847, + "name": "expiries", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5334, + "src": "6229:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5849, + "indexExpression": { + "argumentTypes": null, + "id": 5848, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5788, + "src": "6238:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6229:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5850, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "6244:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6229:33:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5852, + "nodeType": "ExpressionStatement", + "src": "6229:33:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5854, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "6278:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5855, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5788, + "src": "6285:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5853, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6569, + "src": "6272:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6272:16:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5857, + "nodeType": "ExpressionStatement", + "src": "6272:16:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5861, + "name": "baseNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4821, + "src": "6319:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5862, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "6329:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5863, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "6336:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5858, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4819, + "src": "6299:3:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 5860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setSubnodeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2550, + "src": "6299:19:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32,address) external returns (bytes32)" + } + }, + "id": 5864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6299:43:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5865, + "nodeType": "ExpressionStatement", + "src": "6299:43:19" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5867, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5788, + "src": "6371:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5868, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "6375:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5869, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "6382:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5866, + "name": "NameMigrated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4803, + "src": "6358:12:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 5870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6358:43:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5871, + "nodeType": "EmitStatement", + "src": "6353:48:19" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5873, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5788, + "src": "6431:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 5874, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "6435:5:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5875, + "name": "transferPeriodEnds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "6442:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5872, + "name": "NameRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4811, + "src": "6416:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 5876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6416:45:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5877, + "nodeType": "EmitStatement", + "src": "6411:50:19" + } + ] + }, + "documentation": "@dev Transfers a registration from the initial registrar.\nThis function is called by the initial registrar when a user calls `transferRegistrars`.", + "id": 5879, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 5785, + "modifierName": { + "argumentTypes": null, + "id": 5784, + "name": "live", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "5699:4:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5699:4:19" + } + ], + "name": "acceptRegistrarTransfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5778, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 5879, + "src": "5658:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5777, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5658:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5780, + "name": "deed", + "nodeType": "VariableDeclaration", + "scope": 5879, + "src": "5673:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 5779, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "5673:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5782, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5879, + "src": "5684:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5781, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5684:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5657:32:19" + }, + "returnParameters": { + "id": 5786, + "nodeType": "ParameterList", + "parameters": [], + "src": "5704:0:19" + }, + "scope": 5900, + "src": "5625:843:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 5898, + "nodeType": "Block", + "src": "6550:143:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5886, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5881, + "src": "6567:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5887, + "name": "INTERFACE_META_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5344, + "src": "6582:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "6567:32:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5889, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5881, + "src": "6618:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5890, + "name": "ERC721_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5383, + "src": "6633:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "6618:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6567:75:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5893, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5881, + "src": "6661:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5894, + "name": "RECLAIM_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5390, + "src": "6676:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "6661:25:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6567:119:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5885, + "id": 5897, + "nodeType": "Return", + "src": "6560:126:19" + } + ] + }, + "documentation": null, + "id": 5899, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5881, + "name": "interfaceID", + "nodeType": "VariableDeclaration", + "scope": 5899, + "src": "6501:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5880, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "6501:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6500:20:19" + }, + "returnParameters": { + "id": 5885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5884, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5899, + "src": "6544:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5883, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6544:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6543:6:19" + }, + "scope": 5900, + "src": "6474:219:19", + "stateMutability": "view", + "superFunction": 5932, + "visibility": "external" + } + ], + "scope": 5901, + "src": "270:6425:19" + } + ], + "src": "0:6696:19" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.804Z", + "devdoc": { + "methods": { + "acceptRegistrarTransfer(bytes32,address,uint256)": { + "details": "Transfers a registration from the initial registrar. This function is called by the initial registrar when a user calls `transferRegistrars`." + }, + "approve(address,uint256)": { + "details": "Approves another address to transfer the given token ID The zero address indicates there is no approved address. There can only be one approved address per token at a given time. Can only be called by the token owner or an approved operator.", + "params": { + "to": "address to be approved for the given token ID", + "tokenId": "uint256 ID of the token to be approved" + } + }, + "balanceOf(address)": { + "details": "Gets the balance of the specified address", + "params": { + "owner": "address to query the balance of" + }, + "return": "uint256 representing the amount owned by the passed address" + }, + "getApproved(uint256)": { + "details": "Gets the approved address for a token ID, or zero if no address set Reverts if the token ID does not exist.", + "params": { + "tokenId": "uint256 ID of the token to query the approval of" + }, + "return": "address currently approved for the given token ID" + }, + "isApprovedForAll(address,address)": { + "details": "Tells whether an operator is approved by a given owner", + "params": { + "operator": "operator address which you want to query the approval of", + "owner": "owner address which you want to query the approval of" + }, + "return": "bool whether the given operator is approved by the given owner" + }, + "isOwner()": { + "return": "true if `msg.sender` is the owner of the contract." + }, + "owner()": { + "return": "the address of the owner." + }, + "ownerOf(uint256)": { + "details": "Gets the owner of the specified token ID. Names become unowned when their registration expires.", + "params": { + "tokenId": "uint256 ID of the token to query the owner of" + }, + "return": "address currently marked as the owner of the given token ID" + }, + "reclaim(uint256,address)": { + "details": "Reclaim ownership of a name in ENS, if you own it in the registrar." + }, + "register(uint256,address,uint256)": { + "details": "Register a name." + }, + "registerOnly(uint256,address,uint256)": { + "details": "Register a name." + }, + "renounceOwnership()": { + "details": "Allows the current owner to relinquish control of the contract." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise, the transfer is reverted. * Requires the msg sender to be the owner, approved, or operator", + "params": { + "from": "current owner of the token", + "to": "address to receive the ownership of the given token ID", + "tokenId": "uint256 ID of the token to be transferred" + } + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers the ownership of a given token ID to another address If the target address is a contract, it must implement `onERC721Received`, which is called upon a safe transfer, and return the magic value `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`; otherwise, the transfer is reverted. Requires the msg sender to be the owner, approved, or operator", + "params": { + "_data": "bytes data to send along with a safe transfer check", + "from": "current owner of the token", + "to": "address to receive the ownership of the given token ID", + "tokenId": "uint256 ID of the token to be transferred" + } + }, + "setApprovalForAll(address,bool)": { + "details": "Sets or unsets the approval of a given operator An operator is allowed to transfer all tokens of the sender on their behalf", + "params": { + "approved": "representing the status of the approval to be set", + "to": "operator address to set the approval" + } + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers the ownership of a given token ID to another address Usage of this method is discouraged, use `safeTransferFrom` whenever possible Requires the msg sender to be the owner, approved, or operator", + "params": { + "from": "current owner of the token", + "to": "address to receive the ownership of the given token ID", + "tokenId": "uint256 ID of the token to be transferred" + } + }, + "transferOwnership(address)": { + "details": "Allows the current owner to transfer control of the contract to a newOwner.", + "params": { + "newOwner": "The address to transfer ownership to." + } + } + } + }, + "userdoc": { + "methods": { + "renounceOwnership()": { + "notice": "Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore." + } + } + } +} \ No newline at end of file diff --git a/contracts/Ownable.json b/contracts/Ownable.json new file mode 100644 index 0000000..a46f9b5 --- /dev/null +++ b/contracts/Ownable.json @@ -0,0 +1,2841 @@ +{ + "contractName": "Ownable", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The Ownable contract has an owner address, and provides basic authorization control functions, this simplifies the implementation of \\\"user permissions\\\".\",\"methods\":{\"constructor\":{\"details\":\"The Ownable constructor sets the original `owner` of the contract to the sender account.\"},\"isOwner()\":{\"return\":\"true if `msg.sender` is the owner of the contract.\"},\"owner()\":{\"return\":\"the address of the owner.\"},\"renounceOwnership()\":{\"details\":\"Allows the current owner to relinquish control of the contract.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Ownable\"},\"userdoc\":{\"methods\":{\"renounceOwnership()\":{\"notice\":\"Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore.\"}}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzz-raw://f07a2c393caa85f62f0aaa461e3edd50aa59371d4209778ba0558d7f8b4b856c\",\"dweb:/ipfs/QmeN3ZiYGSjCnQFeYaJNgoXjF9eDue1g3e9pqManRkeBtV\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\n/**\n * @title Ownable\n * @dev The Ownable contract has an owner address, and provides basic authorization control\n * functions, this simplifies the implementation of \"user permissions\".\n */\ncontract Ownable {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n * account.\n */\n constructor () internal {\n _owner = msg.sender;\n emit OwnershipTransferred(address(0), _owner);\n }\n\n /**\n * @return the address of the owner.\n */\n function owner() public view returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(isOwner());\n _;\n }\n\n /**\n * @return true if `msg.sender` is the owner of the contract.\n */\n function isOwner() public view returns (bool) {\n return msg.sender == _owner;\n }\n\n /**\n * @dev Allows the current owner to relinquish control of the contract.\n * @notice Renouncing to ownership will leave the contract without an owner.\n * It will not be possible to call the functions with the `onlyOwner`\n * modifier anymore.\n */\n function renounceOwnership() public onlyOwner {\n emit OwnershipTransferred(_owner, address(0));\n _owner = address(0);\n }\n\n /**\n * @dev Allows the current owner to transfer control of the contract to a newOwner.\n * @param newOwner The address to transfer ownership to.\n */\n function transferOwnership(address newOwner) public onlyOwner {\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers control of the contract to a newOwner.\n * @param newOwner The address to transfer ownership to.\n */\n function _transferOwnership(address newOwner) internal {\n require(newOwner != address(0));\n emit OwnershipTransferred(_owner, newOwner);\n _owner = newOwner;\n }\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 6198 + ] + }, + "id": 6199, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6091, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:23" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented": true, + "id": 6198, + "linearizedBaseContracts": [ + 6198 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6093, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6198, + "src": "238:22:23", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 6099, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 6098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6095, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 6099, + "src": "294:29:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6094, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "294:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6097, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 6099, + "src": "325:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "325:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "293:57:23" + }, + "src": "267:84:23" + }, + { + "body": { + "id": 6114, + "nodeType": "Block", + "src": "505:91:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6102, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "515:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6103, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "524:3:23", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "524:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "515:19:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6106, + "nodeType": "ExpressionStatement", + "src": "515:19:23" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "578:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "570:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "570:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6111, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "582:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6107, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6099, + "src": "549:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "549:40:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6113, + "nodeType": "EmitStatement", + "src": "544:45:23" + } + ] + }, + "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", + "id": 6115, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6100, + "nodeType": "ParameterList", + "parameters": [], + "src": "493:2:23" + }, + "returnParameters": { + "id": 6101, + "nodeType": "ParameterList", + "parameters": [], + "src": "505:0:23" + }, + "scope": 6198, + "src": "481:115:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6122, + "nodeType": "Block", + "src": "706:30:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6120, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "723:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6119, + "id": 6121, + "nodeType": "Return", + "src": "716:13:23" + } + ] + }, + "documentation": "@return the address of the owner.", + "id": 6123, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6116, + "nodeType": "ParameterList", + "parameters": [], + "src": "673:2:23" + }, + "returnParameters": { + "id": 6119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6118, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6123, + "src": "697:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "697:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "696:9:23" + }, + "scope": 6198, + "src": "659:77:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6131, + "nodeType": "Block", + "src": "845:46:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6126, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6143, + "src": "863:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 6127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "863:9:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6125, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "855:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "855:18:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6129, + "nodeType": "ExpressionStatement", + "src": "855:18:23" + }, + { + "id": 6130, + "nodeType": "PlaceholderStatement", + "src": "883:1:23" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 6132, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6124, + "nodeType": "ParameterList", + "parameters": [], + "src": "842:2:23" + }, + "src": "824:67:23", + "visibility": "internal" + }, + { + "body": { + "id": 6142, + "nodeType": "Block", + "src": "1025:44:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6137, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "1042:3:23", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1042:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6139, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "1056:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1042:20:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6136, + "id": 6141, + "nodeType": "Return", + "src": "1035:27:23" + } + ] + }, + "documentation": "@return true if `msg.sender` is the owner of the contract.", + "id": 6143, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6133, + "nodeType": "ParameterList", + "parameters": [], + "src": "995:2:23" + }, + "returnParameters": { + "id": 6136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6135, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6143, + "src": "1019:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6134, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1019:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1018:6:23" + }, + "scope": 6198, + "src": "979:90:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6161, + "nodeType": "Block", + "src": "1393:91:23", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6149, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "1429:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1445:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1437:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1437:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 6148, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6099, + "src": "1408:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1408:40:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6154, + "nodeType": "EmitStatement", + "src": "1403:45:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6155, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "1458:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1475:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1467:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1467:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1458:19:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6160, + "nodeType": "ExpressionStatement", + "src": "1458:19:23" + } + ] + }, + "documentation": "@dev Allows the current owner to relinquish control of the contract.\n@notice Renouncing to ownership will leave the contract without an owner.\nIt will not be possible to call the functions with the `onlyOwner`\nmodifier anymore.", + "id": 6162, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 6146, + "modifierName": { + "argumentTypes": null, + "id": 6145, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "1383:9:23", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1383:9:23" + } + ], + "name": "renounceOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6144, + "nodeType": "ParameterList", + "parameters": [], + "src": "1373:2:23" + }, + "returnParameters": { + "id": 6147, + "nodeType": "ParameterList", + "parameters": [], + "src": "1393:0:23" + }, + "scope": 6198, + "src": "1347:137:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6173, + "nodeType": "Block", + "src": "1717:45:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6170, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6164, + "src": "1746:8:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6169, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6197, + "src": "1727:18:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 6171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1727:28:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6172, + "nodeType": "ExpressionStatement", + "src": "1727:28:23" + } + ] + }, + "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", + "id": 6174, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 6167, + "modifierName": { + "argumentTypes": null, + "id": 6166, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "1707:9:23", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1707:9:23" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6164, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 6174, + "src": "1682:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1682:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1681:18:23" + }, + "returnParameters": { + "id": 6168, + "nodeType": "ParameterList", + "parameters": [], + "src": "1717:0:23" + }, + "scope": 6198, + "src": "1655:107:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6196, + "nodeType": "Block", + "src": "1961:128:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6180, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6176, + "src": "1979:8:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1999:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1991:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1991:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1979:22:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6179, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1971:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1971:31:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6186, + "nodeType": "ExpressionStatement", + "src": "1971:31:23" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6188, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "2038:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6189, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6176, + "src": "2046:8:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6187, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6099, + "src": "2017:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2017:38:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6191, + "nodeType": "EmitStatement", + "src": "2012:43:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6192, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "2065:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6193, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6176, + "src": "2074:8:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2065:17:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6195, + "nodeType": "ExpressionStatement", + "src": "2065:17:23" + } + ] + }, + "documentation": "@dev Transfers control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", + "id": 6197, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6176, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 6197, + "src": "1934:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1934:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1933:18:23" + }, + "returnParameters": { + "id": 6178, + "nodeType": "ParameterList", + "parameters": [], + "src": "1961:0:23" + }, + "scope": 6198, + "src": "1906:183:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6199, + "src": "215:1876:23" + } + ], + "src": "0:2092:23" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 6198 + ] + }, + "id": 6199, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6091, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:23" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented": true, + "id": 6198, + "linearizedBaseContracts": [ + 6198 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6093, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6198, + "src": "238:22:23", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 6099, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 6098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6095, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 6099, + "src": "294:29:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6094, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "294:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6097, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 6099, + "src": "325:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "325:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "293:57:23" + }, + "src": "267:84:23" + }, + { + "body": { + "id": 6114, + "nodeType": "Block", + "src": "505:91:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6102, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "515:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6103, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "524:3:23", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "524:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "515:19:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6106, + "nodeType": "ExpressionStatement", + "src": "515:19:23" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "578:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "570:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "570:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 6111, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "582:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6107, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6099, + "src": "549:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "549:40:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6113, + "nodeType": "EmitStatement", + "src": "544:45:23" + } + ] + }, + "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", + "id": 6115, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6100, + "nodeType": "ParameterList", + "parameters": [], + "src": "493:2:23" + }, + "returnParameters": { + "id": 6101, + "nodeType": "ParameterList", + "parameters": [], + "src": "505:0:23" + }, + "scope": 6198, + "src": "481:115:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6122, + "nodeType": "Block", + "src": "706:30:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6120, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "723:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6119, + "id": 6121, + "nodeType": "Return", + "src": "716:13:23" + } + ] + }, + "documentation": "@return the address of the owner.", + "id": 6123, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6116, + "nodeType": "ParameterList", + "parameters": [], + "src": "673:2:23" + }, + "returnParameters": { + "id": 6119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6118, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6123, + "src": "697:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "697:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "696:9:23" + }, + "scope": 6198, + "src": "659:77:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6131, + "nodeType": "Block", + "src": "845:46:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6126, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6143, + "src": "863:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 6127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "863:9:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6125, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "855:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "855:18:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6129, + "nodeType": "ExpressionStatement", + "src": "855:18:23" + }, + { + "id": 6130, + "nodeType": "PlaceholderStatement", + "src": "883:1:23" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 6132, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6124, + "nodeType": "ParameterList", + "parameters": [], + "src": "842:2:23" + }, + "src": "824:67:23", + "visibility": "internal" + }, + { + "body": { + "id": 6142, + "nodeType": "Block", + "src": "1025:44:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6137, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "1042:3:23", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1042:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6139, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "1056:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1042:20:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6136, + "id": 6141, + "nodeType": "Return", + "src": "1035:27:23" + } + ] + }, + "documentation": "@return true if `msg.sender` is the owner of the contract.", + "id": 6143, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6133, + "nodeType": "ParameterList", + "parameters": [], + "src": "995:2:23" + }, + "returnParameters": { + "id": 6136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6135, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6143, + "src": "1019:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6134, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1019:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1018:6:23" + }, + "scope": 6198, + "src": "979:90:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6161, + "nodeType": "Block", + "src": "1393:91:23", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6149, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "1429:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1445:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1437:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1437:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 6148, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6099, + "src": "1408:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1408:40:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6154, + "nodeType": "EmitStatement", + "src": "1403:45:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6155, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "1458:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1475:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1467:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1467:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1458:19:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6160, + "nodeType": "ExpressionStatement", + "src": "1458:19:23" + } + ] + }, + "documentation": "@dev Allows the current owner to relinquish control of the contract.\n@notice Renouncing to ownership will leave the contract without an owner.\nIt will not be possible to call the functions with the `onlyOwner`\nmodifier anymore.", + "id": 6162, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 6146, + "modifierName": { + "argumentTypes": null, + "id": 6145, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "1383:9:23", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1383:9:23" + } + ], + "name": "renounceOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6144, + "nodeType": "ParameterList", + "parameters": [], + "src": "1373:2:23" + }, + "returnParameters": { + "id": 6147, + "nodeType": "ParameterList", + "parameters": [], + "src": "1393:0:23" + }, + "scope": 6198, + "src": "1347:137:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6173, + "nodeType": "Block", + "src": "1717:45:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6170, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6164, + "src": "1746:8:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6169, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6197, + "src": "1727:18:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 6171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1727:28:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6172, + "nodeType": "ExpressionStatement", + "src": "1727:28:23" + } + ] + }, + "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", + "id": 6174, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 6167, + "modifierName": { + "argumentTypes": null, + "id": 6166, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "1707:9:23", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1707:9:23" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6164, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 6174, + "src": "1682:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1682:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1681:18:23" + }, + "returnParameters": { + "id": 6168, + "nodeType": "ParameterList", + "parameters": [], + "src": "1717:0:23" + }, + "scope": 6198, + "src": "1655:107:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6196, + "nodeType": "Block", + "src": "1961:128:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6180, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6176, + "src": "1979:8:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1999:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1991:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1991:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1979:22:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6179, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1971:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1971:31:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6186, + "nodeType": "ExpressionStatement", + "src": "1971:31:23" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6188, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "2038:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6189, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6176, + "src": "2046:8:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6187, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6099, + "src": "2017:20:23", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2017:38:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6191, + "nodeType": "EmitStatement", + "src": "2012:43:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6192, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "2065:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6193, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6176, + "src": "2074:8:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2065:17:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6195, + "nodeType": "ExpressionStatement", + "src": "2065:17:23" + } + ] + }, + "documentation": "@dev Transfers control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", + "id": 6197, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6176, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 6197, + "src": "1934:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1934:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1933:18:23" + }, + "returnParameters": { + "id": 6178, + "nodeType": "ParameterList", + "parameters": [], + "src": "1961:0:23" + }, + "scope": 6198, + "src": "1906:183:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6199, + "src": "215:1876:23" + } + ], + "src": "0:2092:23" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.813Z", + "devdoc": { + "details": "The Ownable contract has an owner address, and provides basic authorization control functions, this simplifies the implementation of \"user permissions\".", + "methods": { + "constructor": { + "details": "The Ownable constructor sets the original `owner` of the contract to the sender account." + }, + "isOwner()": { + "return": "true if `msg.sender` is the owner of the contract." + }, + "owner()": { + "return": "the address of the owner." + }, + "renounceOwnership()": { + "details": "Allows the current owner to relinquish control of the contract." + }, + "transferOwnership(address)": { + "details": "Allows the current owner to transfer control of the contract to a newOwner.", + "params": { + "newOwner": "The address to transfer ownership to." + } + } + }, + "title": "Ownable" + }, + "userdoc": { + "methods": { + "renounceOwnership()": { + "notice": "Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore." + } + } + } +} \ No newline at end of file diff --git a/contracts/Registrar.json b/contracts/Registrar.json new file mode 100644 index 0000000..849f96b --- /dev/null +++ b/contracts/Registrar.json @@ -0,0 +1,4257 @@ +{ + "contractName": "Registrar", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "registrationDate", + "type": "uint256" + } + ], + "name": "AuctionStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "status", + "type": "uint8" + } + ], + "name": "BidRevealed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "registrationDate", + "type": "uint256" + } + ], + "name": "HashInvalidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "registrationDate", + "type": "uint256" + } + ], + "name": "HashRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "HashReleased", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "bidder", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "deposit", + "type": "uint256" + } + ], + "name": "NewBid", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "state", + "outputs": [ + { + "internalType": "enum Registrar.Mode", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "startAuction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_hashes", + "type": "bytes32[]" + } + ], + "name": "startAuctions", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "sealedBid", + "type": "bytes32" + } + ], + "name": "newBid", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "hashes", + "type": "bytes32[]" + }, + { + "internalType": "bytes32", + "name": "sealedBid", + "type": "bytes32" + } + ], + "name": "startAuctionsAndBid", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "unsealBid", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "bidder", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "seal", + "type": "bytes32" + } + ], + "name": "cancelBid", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "finalizeAuction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "address payable", + "name": "newOwner", + "type": "address" + } + ], + "name": "transfer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "releaseDeed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "unhashedName", + "type": "string" + } + ], + "name": "invalidateName", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "labels", + "type": "bytes32[]" + } + ], + "name": "eraseNode", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "transferRegistrars", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "contract Deed", + "name": "deed", + "type": "address" + }, + { + "internalType": "uint256", + "name": "registrationDate", + "type": "uint256" + } + ], + "name": "acceptRegistrarTransfer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + } + ], + "name": "entries", + "outputs": [ + { + "internalType": "enum Registrar.Mode", + "name": "", + "type": "uint8" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"AuctionStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"BidRevealed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"HashInvalidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"HashRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"HashReleased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"NewBid\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"contract Deed\",\"name\":\"deed\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"registrationDate\",\"type\":\"uint256\"}],\"name\":\"acceptRegistrarTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"seal\",\"type\":\"bytes32\"}],\"name\":\"cancelBid\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"entries\",\"outputs\":[{\"internalType\":\"enum Registrar.Mode\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"labels\",\"type\":\"bytes32[]\"}],\"name\":\"eraseNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"finalizeAuction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"unhashedName\",\"type\":\"string\"}],\"name\":\"invalidateName\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sealedBid\",\"type\":\"bytes32\"}],\"name\":\"newBid\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"releaseDeed\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"startAuction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_hashes\",\"type\":\"bytes32[]\"}],\"name\":\"startAuctions\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32\",\"name\":\"sealedBid\",\"type\":\"bytes32\"}],\"name\":\"startAuctionsAndBid\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum Registrar.Mode\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"transferRegistrars\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"unsealBid\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens/contracts/Registrar.sol\":\"Registrar\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/Deed.sol\":{\"keccak256\":\"0x7b4abd2f65e2e093743077b899d0fb4952627ad7ff6104b840f9869f5baa5e96\",\"urls\":[\"bzz-raw://d72dc40eb83ded3cca64d6c1b9958f665f4cd61115fed4d32dfd62d0c6ded0fc\",\"dweb:/ipfs/Qmdkef7QyeJDF96ToptWRWroYYuD8XjCvrtxy46dA62iA2\"]},\"@ensdomains/ens/contracts/Registrar.sol\":{\"keccak256\":\"0xaef3f85ba0cf0544485d506a3f93719a90f8f28ef6c59f7175955768bec719bb\",\"urls\":[\"bzz-raw://fc1be7eec872590585a2dfbc0b3d0ef332444dd528ee75e96fb107f265ccc5e7\",\"dweb:/ipfs/QmUCo66Bpmic9rHjdjw2VrmmJ7c7Ma1oHJ2ZvbtctsDM6g\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity >=0.4.24;\n\nimport \"./Deed.sol\";\n\ninterface Registrar {\n\n enum Mode { Open, Auction, Owned, Forbidden, Reveal, NotYetAvailable }\n\n event AuctionStarted(bytes32 indexed hash, uint registrationDate);\n event NewBid(bytes32 indexed hash, address indexed bidder, uint deposit);\n event BidRevealed(bytes32 indexed hash, address indexed owner, uint value, uint8 status);\n event HashRegistered(bytes32 indexed hash, address indexed owner, uint value, uint registrationDate);\n event HashReleased(bytes32 indexed hash, uint value);\n event HashInvalidated(bytes32 indexed hash, string indexed name, uint value, uint registrationDate);\n\n function state(bytes32 _hash) external view returns (Mode);\n function startAuction(bytes32 _hash) external;\n function startAuctions(bytes32[] calldata _hashes) external;\n function newBid(bytes32 sealedBid) external payable;\n function startAuctionsAndBid(bytes32[] calldata hashes, bytes32 sealedBid) external payable;\n function unsealBid(bytes32 _hash, uint _value, bytes32 _salt) external;\n function cancelBid(address bidder, bytes32 seal) external;\n function finalizeAuction(bytes32 _hash) external;\n function transfer(bytes32 _hash, address payable newOwner) external;\n function releaseDeed(bytes32 _hash) external;\n function invalidateName(string calldata unhashedName) external;\n function eraseNode(bytes32[] calldata labels) external;\n function transferRegistrars(bytes32 _hash) external;\n function acceptRegistrarTransfer(bytes32 hash, Deed deed, uint registrationDate) external;\n function entries(bytes32 _hash) external view returns (Mode, address, uint, uint, uint);\n}\n", + "sourcePath": "@ensdomains/ens/contracts/Registrar.sol", + "ast": { + "absolutePath": "@ensdomains/ens/contracts/Registrar.sol", + "exportedSymbols": { + "Registrar": [ + 4775 + ] + }, + "id": 4776, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4612, + "literals": [ + "solidity", + ">=", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:25:16" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Deed.sol", + "file": "./Deed.sol", + "id": 4613, + "nodeType": "ImportDirective", + "scope": 4776, + "sourceUnit": 2228, + "src": "27:20:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 4775, + "linearizedBaseContracts": [ + 4775 + ], + "name": "Registrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Registrar.Mode", + "id": 4620, + "members": [ + { + "id": 4614, + "name": "Open", + "nodeType": "EnumValue", + "src": "88:4:16" + }, + { + "id": 4615, + "name": "Auction", + "nodeType": "EnumValue", + "src": "94:7:16" + }, + { + "id": 4616, + "name": "Owned", + "nodeType": "EnumValue", + "src": "103:5:16" + }, + { + "id": 4617, + "name": "Forbidden", + "nodeType": "EnumValue", + "src": "110:9:16" + }, + { + "id": 4618, + "name": "Reveal", + "nodeType": "EnumValue", + "src": "121:6:16" + }, + { + "id": 4619, + "name": "NotYetAvailable", + "nodeType": "EnumValue", + "src": "129:15:16" + } + ], + "name": "Mode", + "nodeType": "EnumDefinition", + "src": "76:70:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4626, + "name": "AuctionStarted", + "nodeType": "EventDefinition", + "parameters": { + "id": 4625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4622, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4626, + "src": "173:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4621, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "173:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4624, + "indexed": false, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 4626, + "src": "195:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4623, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "195:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "172:45:16" + }, + "src": "152:66:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4634, + "name": "NewBid", + "nodeType": "EventDefinition", + "parameters": { + "id": 4633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4628, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4634, + "src": "236:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4627, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "236:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4630, + "indexed": true, + "name": "bidder", + "nodeType": "VariableDeclaration", + "scope": 4634, + "src": "258:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "258:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4632, + "indexed": false, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 4634, + "src": "282:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4631, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "282:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "235:60:16" + }, + "src": "223:73:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4644, + "name": "BidRevealed", + "nodeType": "EventDefinition", + "parameters": { + "id": 4643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4636, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4644, + "src": "319:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4635, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "319:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4638, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4644, + "src": "341:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4637, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "341:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4640, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 4644, + "src": "364:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4639, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "364:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4642, + "indexed": false, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 4644, + "src": "376:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4641, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "376:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "318:71:16" + }, + "src": "301:89:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4654, + "name": "HashRegistered", + "nodeType": "EventDefinition", + "parameters": { + "id": 4653, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4646, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4654, + "src": "416:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4645, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "416:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4648, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4654, + "src": "438:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4647, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "438:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4650, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 4654, + "src": "461:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4649, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "461:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4652, + "indexed": false, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 4654, + "src": "473:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4651, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "473:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "415:80:16" + }, + "src": "395:101:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4660, + "name": "HashReleased", + "nodeType": "EventDefinition", + "parameters": { + "id": 4659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4656, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4660, + "src": "520:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4655, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "520:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4658, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 4660, + "src": "542:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4657, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "542:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "519:34:16" + }, + "src": "501:53:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4670, + "name": "HashInvalidated", + "nodeType": "EventDefinition", + "parameters": { + "id": 4669, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4662, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4670, + "src": "581:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4661, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "581:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4664, + "indexed": true, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 4670, + "src": "603:19:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4663, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "603:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4666, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 4670, + "src": "624:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4665, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "624:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4668, + "indexed": false, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 4670, + "src": "636:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4667, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "636:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "580:78:16" + }, + "src": "559:100:16" + }, + { + "body": null, + "documentation": null, + "id": 4677, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "state", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4672, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4677, + "src": "680:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4671, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "680:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "679:15:16" + }, + "returnParameters": { + "id": 4676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4675, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4677, + "src": "718:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 4674, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "718:4:16", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "717:6:16" + }, + "scope": 4775, + "src": "665:59:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4682, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startAuction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4679, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4682, + "src": "751:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4678, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "751:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "750:15:16" + }, + "returnParameters": { + "id": 4681, + "nodeType": "ParameterList", + "parameters": [], + "src": "774:0:16" + }, + "scope": 4775, + "src": "729:46:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4688, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startAuctions", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4685, + "name": "_hashes", + "nodeType": "VariableDeclaration", + "scope": 4688, + "src": "803:26:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4683, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "803:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4684, + "length": null, + "nodeType": "ArrayTypeName", + "src": "803:9:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "802:28:16" + }, + "returnParameters": { + "id": 4687, + "nodeType": "ParameterList", + "parameters": [], + "src": "839:0:16" + }, + "scope": 4775, + "src": "780:60:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4693, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "newBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4691, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4690, + "name": "sealedBid", + "nodeType": "VariableDeclaration", + "scope": 4693, + "src": "861:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4689, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "861:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "860:19:16" + }, + "returnParameters": { + "id": 4692, + "nodeType": "ParameterList", + "parameters": [], + "src": "896:0:16" + }, + "scope": 4775, + "src": "845:52:16", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4701, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startAuctionsAndBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4696, + "name": "hashes", + "nodeType": "VariableDeclaration", + "scope": 4701, + "src": "931:25:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4694, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "931:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4695, + "length": null, + "nodeType": "ArrayTypeName", + "src": "931:9:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4698, + "name": "sealedBid", + "nodeType": "VariableDeclaration", + "scope": 4701, + "src": "958:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4697, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "958:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "930:46:16" + }, + "returnParameters": { + "id": 4700, + "nodeType": "ParameterList", + "parameters": [], + "src": "993:0:16" + }, + "scope": 4775, + "src": "902:92:16", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4710, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "unsealBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4708, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4703, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4710, + "src": "1018:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4702, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1018:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4705, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 4710, + "src": "1033:11:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4704, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1033:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4707, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 4710, + "src": "1046:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4706, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1046:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1017:43:16" + }, + "returnParameters": { + "id": 4709, + "nodeType": "ParameterList", + "parameters": [], + "src": "1069:0:16" + }, + "scope": 4775, + "src": "999:71:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4717, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4712, + "name": "bidder", + "nodeType": "VariableDeclaration", + "scope": 4717, + "src": "1094:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4711, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1094:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4714, + "name": "seal", + "nodeType": "VariableDeclaration", + "scope": 4717, + "src": "1110:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1110:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1093:30:16" + }, + "returnParameters": { + "id": 4716, + "nodeType": "ParameterList", + "parameters": [], + "src": "1132:0:16" + }, + "scope": 4775, + "src": "1075:58:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4722, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "finalizeAuction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4719, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4722, + "src": "1163:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4718, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1163:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1162:15:16" + }, + "returnParameters": { + "id": 4721, + "nodeType": "ParameterList", + "parameters": [], + "src": "1186:0:16" + }, + "scope": 4775, + "src": "1138:49:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4729, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4724, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4729, + "src": "1210:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4723, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1210:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4726, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 4729, + "src": "1225:24:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 4725, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1225:15:16", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1209:41:16" + }, + "returnParameters": { + "id": 4728, + "nodeType": "ParameterList", + "parameters": [], + "src": "1259:0:16" + }, + "scope": 4775, + "src": "1192:68:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4734, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "releaseDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4731, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4734, + "src": "1286:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4730, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1286:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1285:15:16" + }, + "returnParameters": { + "id": 4733, + "nodeType": "ParameterList", + "parameters": [], + "src": "1309:0:16" + }, + "scope": 4775, + "src": "1265:45:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4739, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "invalidateName", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4736, + "name": "unhashedName", + "nodeType": "VariableDeclaration", + "scope": 4739, + "src": "1339:28:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4735, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1339:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1338:30:16" + }, + "returnParameters": { + "id": 4738, + "nodeType": "ParameterList", + "parameters": [], + "src": "1377:0:16" + }, + "scope": 4775, + "src": "1315:63:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4745, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "eraseNode", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4742, + "name": "labels", + "nodeType": "VariableDeclaration", + "scope": 4745, + "src": "1402:25:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4740, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1402:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4741, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1402:9:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1401:27:16" + }, + "returnParameters": { + "id": 4744, + "nodeType": "ParameterList", + "parameters": [], + "src": "1437:0:16" + }, + "scope": 4775, + "src": "1383:55:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4750, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferRegistrars", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4747, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4750, + "src": "1471:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4746, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1471:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1470:15:16" + }, + "returnParameters": { + "id": 4749, + "nodeType": "ParameterList", + "parameters": [], + "src": "1494:0:16" + }, + "scope": 4775, + "src": "1443:52:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4759, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "acceptRegistrarTransfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4752, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4759, + "src": "1533:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4751, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1533:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4754, + "name": "deed", + "nodeType": "VariableDeclaration", + "scope": 4759, + "src": "1547:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 4753, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "1547:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4756, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 4759, + "src": "1558:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4755, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1558:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1532:48:16" + }, + "returnParameters": { + "id": 4758, + "nodeType": "ParameterList", + "parameters": [], + "src": "1589:0:16" + }, + "scope": 4775, + "src": "1500:90:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4774, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "entries", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4761, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1612:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4760, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1612:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1611:15:16" + }, + "returnParameters": { + "id": 4773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4764, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1650:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 4763, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "1650:4:16", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4766, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1656:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1656:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4768, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1665:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4767, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1665:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4770, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1671:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4769, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1671:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4772, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1677:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4771, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1677:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1649:33:16" + }, + "scope": 4775, + "src": "1595:88:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 4776, + "src": "49:1636:16" + } + ], + "src": "0:1686:16" + }, + "legacyAST": { + "absolutePath": "@ensdomains/ens/contracts/Registrar.sol", + "exportedSymbols": { + "Registrar": [ + 4775 + ] + }, + "id": 4776, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4612, + "literals": [ + "solidity", + ">=", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:25:16" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Deed.sol", + "file": "./Deed.sol", + "id": 4613, + "nodeType": "ImportDirective", + "scope": 4776, + "sourceUnit": 2228, + "src": "27:20:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 4775, + "linearizedBaseContracts": [ + 4775 + ], + "name": "Registrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Registrar.Mode", + "id": 4620, + "members": [ + { + "id": 4614, + "name": "Open", + "nodeType": "EnumValue", + "src": "88:4:16" + }, + { + "id": 4615, + "name": "Auction", + "nodeType": "EnumValue", + "src": "94:7:16" + }, + { + "id": 4616, + "name": "Owned", + "nodeType": "EnumValue", + "src": "103:5:16" + }, + { + "id": 4617, + "name": "Forbidden", + "nodeType": "EnumValue", + "src": "110:9:16" + }, + { + "id": 4618, + "name": "Reveal", + "nodeType": "EnumValue", + "src": "121:6:16" + }, + { + "id": 4619, + "name": "NotYetAvailable", + "nodeType": "EnumValue", + "src": "129:15:16" + } + ], + "name": "Mode", + "nodeType": "EnumDefinition", + "src": "76:70:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4626, + "name": "AuctionStarted", + "nodeType": "EventDefinition", + "parameters": { + "id": 4625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4622, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4626, + "src": "173:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4621, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "173:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4624, + "indexed": false, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 4626, + "src": "195:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4623, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "195:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "172:45:16" + }, + "src": "152:66:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4634, + "name": "NewBid", + "nodeType": "EventDefinition", + "parameters": { + "id": 4633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4628, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4634, + "src": "236:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4627, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "236:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4630, + "indexed": true, + "name": "bidder", + "nodeType": "VariableDeclaration", + "scope": 4634, + "src": "258:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "258:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4632, + "indexed": false, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 4634, + "src": "282:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4631, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "282:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "235:60:16" + }, + "src": "223:73:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4644, + "name": "BidRevealed", + "nodeType": "EventDefinition", + "parameters": { + "id": 4643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4636, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4644, + "src": "319:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4635, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "319:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4638, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4644, + "src": "341:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4637, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "341:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4640, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 4644, + "src": "364:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4639, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "364:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4642, + "indexed": false, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 4644, + "src": "376:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4641, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "376:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "318:71:16" + }, + "src": "301:89:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4654, + "name": "HashRegistered", + "nodeType": "EventDefinition", + "parameters": { + "id": 4653, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4646, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4654, + "src": "416:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4645, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "416:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4648, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 4654, + "src": "438:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4647, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "438:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4650, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 4654, + "src": "461:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4649, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "461:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4652, + "indexed": false, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 4654, + "src": "473:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4651, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "473:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "415:80:16" + }, + "src": "395:101:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4660, + "name": "HashReleased", + "nodeType": "EventDefinition", + "parameters": { + "id": 4659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4656, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4660, + "src": "520:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4655, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "520:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4658, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 4660, + "src": "542:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4657, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "542:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "519:34:16" + }, + "src": "501:53:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 4670, + "name": "HashInvalidated", + "nodeType": "EventDefinition", + "parameters": { + "id": 4669, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4662, + "indexed": true, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4670, + "src": "581:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4661, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "581:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4664, + "indexed": true, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 4670, + "src": "603:19:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4663, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "603:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4666, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 4670, + "src": "624:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4665, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "624:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4668, + "indexed": false, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 4670, + "src": "636:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4667, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "636:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "580:78:16" + }, + "src": "559:100:16" + }, + { + "body": null, + "documentation": null, + "id": 4677, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "state", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4672, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4677, + "src": "680:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4671, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "680:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "679:15:16" + }, + "returnParameters": { + "id": 4676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4675, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4677, + "src": "718:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 4674, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "718:4:16", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "717:6:16" + }, + "scope": 4775, + "src": "665:59:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4682, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startAuction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4679, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4682, + "src": "751:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4678, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "751:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "750:15:16" + }, + "returnParameters": { + "id": 4681, + "nodeType": "ParameterList", + "parameters": [], + "src": "774:0:16" + }, + "scope": 4775, + "src": "729:46:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4688, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startAuctions", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4685, + "name": "_hashes", + "nodeType": "VariableDeclaration", + "scope": 4688, + "src": "803:26:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4683, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "803:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4684, + "length": null, + "nodeType": "ArrayTypeName", + "src": "803:9:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "802:28:16" + }, + "returnParameters": { + "id": 4687, + "nodeType": "ParameterList", + "parameters": [], + "src": "839:0:16" + }, + "scope": 4775, + "src": "780:60:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4693, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "newBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4691, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4690, + "name": "sealedBid", + "nodeType": "VariableDeclaration", + "scope": 4693, + "src": "861:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4689, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "861:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "860:19:16" + }, + "returnParameters": { + "id": 4692, + "nodeType": "ParameterList", + "parameters": [], + "src": "896:0:16" + }, + "scope": 4775, + "src": "845:52:16", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4701, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startAuctionsAndBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4696, + "name": "hashes", + "nodeType": "VariableDeclaration", + "scope": 4701, + "src": "931:25:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4694, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "931:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4695, + "length": null, + "nodeType": "ArrayTypeName", + "src": "931:9:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4698, + "name": "sealedBid", + "nodeType": "VariableDeclaration", + "scope": 4701, + "src": "958:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4697, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "958:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "930:46:16" + }, + "returnParameters": { + "id": 4700, + "nodeType": "ParameterList", + "parameters": [], + "src": "993:0:16" + }, + "scope": 4775, + "src": "902:92:16", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4710, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "unsealBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4708, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4703, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4710, + "src": "1018:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4702, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1018:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4705, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 4710, + "src": "1033:11:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4704, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1033:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4707, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 4710, + "src": "1046:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4706, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1046:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1017:43:16" + }, + "returnParameters": { + "id": 4709, + "nodeType": "ParameterList", + "parameters": [], + "src": "1069:0:16" + }, + "scope": 4775, + "src": "999:71:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4717, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelBid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4712, + "name": "bidder", + "nodeType": "VariableDeclaration", + "scope": 4717, + "src": "1094:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4711, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1094:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4714, + "name": "seal", + "nodeType": "VariableDeclaration", + "scope": 4717, + "src": "1110:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1110:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1093:30:16" + }, + "returnParameters": { + "id": 4716, + "nodeType": "ParameterList", + "parameters": [], + "src": "1132:0:16" + }, + "scope": 4775, + "src": "1075:58:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4722, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "finalizeAuction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4719, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4722, + "src": "1163:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4718, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1163:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1162:15:16" + }, + "returnParameters": { + "id": 4721, + "nodeType": "ParameterList", + "parameters": [], + "src": "1186:0:16" + }, + "scope": 4775, + "src": "1138:49:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4729, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4724, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4729, + "src": "1210:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4723, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1210:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4726, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 4729, + "src": "1225:24:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 4725, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1225:15:16", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1209:41:16" + }, + "returnParameters": { + "id": 4728, + "nodeType": "ParameterList", + "parameters": [], + "src": "1259:0:16" + }, + "scope": 4775, + "src": "1192:68:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4734, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "releaseDeed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4731, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4734, + "src": "1286:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4730, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1286:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1285:15:16" + }, + "returnParameters": { + "id": 4733, + "nodeType": "ParameterList", + "parameters": [], + "src": "1309:0:16" + }, + "scope": 4775, + "src": "1265:45:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4739, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "invalidateName", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4736, + "name": "unhashedName", + "nodeType": "VariableDeclaration", + "scope": 4739, + "src": "1339:28:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4735, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1339:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1338:30:16" + }, + "returnParameters": { + "id": 4738, + "nodeType": "ParameterList", + "parameters": [], + "src": "1377:0:16" + }, + "scope": 4775, + "src": "1315:63:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4745, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "eraseNode", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4742, + "name": "labels", + "nodeType": "VariableDeclaration", + "scope": 4745, + "src": "1402:25:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4740, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1402:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4741, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1402:9:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1401:27:16" + }, + "returnParameters": { + "id": 4744, + "nodeType": "ParameterList", + "parameters": [], + "src": "1437:0:16" + }, + "scope": 4775, + "src": "1383:55:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4750, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferRegistrars", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4747, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4750, + "src": "1471:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4746, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1471:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1470:15:16" + }, + "returnParameters": { + "id": 4749, + "nodeType": "ParameterList", + "parameters": [], + "src": "1494:0:16" + }, + "scope": 4775, + "src": "1443:52:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4759, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "acceptRegistrarTransfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4752, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 4759, + "src": "1533:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4751, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1533:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4754, + "name": "deed", + "nodeType": "VariableDeclaration", + "scope": 4759, + "src": "1547:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 4753, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "1547:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4756, + "name": "registrationDate", + "nodeType": "VariableDeclaration", + "scope": 4759, + "src": "1558:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4755, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1558:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1532:48:16" + }, + "returnParameters": { + "id": 4758, + "nodeType": "ParameterList", + "parameters": [], + "src": "1589:0:16" + }, + "scope": 4775, + "src": "1500:90:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 4774, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "entries", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4761, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1612:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4760, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1612:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1611:15:16" + }, + "returnParameters": { + "id": 4773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4764, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1650:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + }, + "typeName": { + "contractScope": null, + "id": 4763, + "name": "Mode", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4620, + "src": "1650:4:16", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Mode_$4620", + "typeString": "enum Registrar.Mode" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4766, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1656:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1656:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4768, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1665:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4767, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1665:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4770, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1671:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4769, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1671:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4772, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4774, + "src": "1677:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4771, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1677:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1649:33:16" + }, + "scope": 4775, + "src": "1595:88:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 4776, + "src": "49:1636:16" + } + ], + "src": "0:1686:16" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.797Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/RegistrarInterface.json b/contracts/RegistrarInterface.json new file mode 100644 index 0000000..39ee3a4 --- /dev/null +++ b/contracts/RegistrarInterface.json @@ -0,0 +1,2328 @@ +{ + "contractName": "RegistrarInterface", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "DomainConfigured", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "DomainUnlisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "NewRegistration", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "RentPaid", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "query", + "outputs": [ + { + "internalType": "string", + "name": "domain", + "type": "string" + }, + { + "internalType": "uint256", + "name": "signupFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rent", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address payable", + "name": "referrer", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "register", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "rentDue", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "payRent", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"DomainConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"DomainUnlisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"NewRegistration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"RentPaid\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"payRent\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"signupFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"register\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"rentDue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol\":\"RegistrarInterface\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol\":{\"keccak256\":\"0x32eb0addc992b12a37b1fa94a5666bd540037419a3c02d2ba7537b556503d810\",\"urls\":[\"bzz-raw://c7da50663daa8678c844584ca7cf45edc0cf8139686051e1aab079c94027bb10\",\"dweb:/ipfs/Qmd8s5aQg98KyXXn4tEqyFDnTozwRQEBChZxWvwEGu5QJi\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\ncontract RegistrarInterface {\n event OwnerChanged(bytes32 indexed label, address indexed oldOwner, address indexed newOwner);\n event DomainConfigured(bytes32 indexed label);\n event DomainUnlisted(bytes32 indexed label);\n event NewRegistration(bytes32 indexed label, string subdomain, address indexed owner, address indexed referrer, uint price);\n event RentPaid(bytes32 indexed label, string subdomain, uint amount, uint expirationDate);\n\n // InterfaceID of these four methods is 0xc1b15f5a\n function query(bytes32 label, string calldata subdomain) external view returns (string memory domain, uint signupFee, uint rent, uint referralFeePPM);\n function register(bytes32 label, string calldata subdomain, address owner, address payable referrer, address resolver) external payable;\n\n function rentDue(bytes32 label, string calldata subdomain) external view returns (uint timestamp);\n function payRent(bytes32 label, string calldata subdomain) external payable;\n}\n", + "sourcePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol", + "ast": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol", + "exportedSymbols": { + "RegistrarInterface": [ + 1159 + ] + }, + "id": 1160, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1076, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:4" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1159, + "linearizedBaseContracts": [ + 1159 + ], + "name": "RegistrarInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 1084, + "name": "OwnerChanged", + "nodeType": "EventDefinition", + "parameters": { + "id": 1083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1078, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "78:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1077, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "78:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1080, + "indexed": true, + "name": "oldOwner", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "101:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1079, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "101:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1082, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "127:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "127:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "77:75:4" + }, + "src": "59:94:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 1088, + "name": "DomainConfigured", + "nodeType": "EventDefinition", + "parameters": { + "id": 1087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1086, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1088, + "src": "181:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1085, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "181:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "180:23:4" + }, + "src": "158:46:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 1092, + "name": "DomainUnlisted", + "nodeType": "EventDefinition", + "parameters": { + "id": 1091, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1090, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "230:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1089, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "230:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "229:23:4" + }, + "src": "209:44:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 1104, + "name": "NewRegistration", + "nodeType": "EventDefinition", + "parameters": { + "id": 1103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1094, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "280:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1093, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "280:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1096, + "indexed": false, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "303:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1095, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "303:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1098, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "321:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "321:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1100, + "indexed": true, + "name": "referrer", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "344:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1099, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "344:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1102, + "indexed": false, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "370:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1101, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "370:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "279:102:4" + }, + "src": "258:124:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 1114, + "name": "RentPaid", + "nodeType": "EventDefinition", + "parameters": { + "id": 1113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1106, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "402:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1105, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "402:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1108, + "indexed": false, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "425:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1107, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "425:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1110, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "443:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1109, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "443:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1112, + "indexed": false, + "name": "expirationDate", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "456:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1111, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "456:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "401:75:4" + }, + "src": "387:90:4" + }, + { + "body": null, + "documentation": null, + "id": 1129, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "query", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1116, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "553:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1115, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "553:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1118, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "568:25:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1117, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "568:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "552:42:4" + }, + "returnParameters": { + "id": 1128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1121, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "618:20:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1120, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "618:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1123, + "name": "signupFee", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "640:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1122, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "640:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1125, + "name": "rent", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "656:9:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1124, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "656:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1127, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "667:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1126, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "667:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "617:70:4" + }, + "scope": 1159, + "src": "538:150:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1142, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1131, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "711:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1130, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "711:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1133, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "726:25:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1132, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "726:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1135, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "753:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1134, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "753:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1137, + "name": "referrer", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "768:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1136, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "768:15:4", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1139, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "794:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1138, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "794:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "710:101:4" + }, + "returnParameters": { + "id": 1141, + "nodeType": "ParameterList", + "parameters": [], + "src": "828:0:4" + }, + "scope": 1159, + "src": "693:136:4", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1151, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rentDue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1144, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1151, + "src": "852:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1143, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "852:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1146, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1151, + "src": "867:25:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1145, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "867:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "851:42:4" + }, + "returnParameters": { + "id": 1150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1149, + "name": "timestamp", + "nodeType": "VariableDeclaration", + "scope": 1151, + "src": "917:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1148, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "917:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "916:16:4" + }, + "scope": 1159, + "src": "835:98:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1158, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "payRent", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1156, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1153, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "955:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1152, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "955:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1155, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "970:25:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1154, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "970:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "954:42:4" + }, + "returnParameters": { + "id": 1157, + "nodeType": "ParameterList", + "parameters": [], + "src": "1013:0:4" + }, + "scope": 1159, + "src": "938:76:4", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1160, + "src": "25:991:4" + } + ], + "src": "0:1017:4" + }, + "legacyAST": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol", + "exportedSymbols": { + "RegistrarInterface": [ + 1159 + ] + }, + "id": 1160, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1076, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:4" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1159, + "linearizedBaseContracts": [ + 1159 + ], + "name": "RegistrarInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 1084, + "name": "OwnerChanged", + "nodeType": "EventDefinition", + "parameters": { + "id": 1083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1078, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "78:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1077, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "78:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1080, + "indexed": true, + "name": "oldOwner", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "101:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1079, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "101:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1082, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1084, + "src": "127:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "127:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "77:75:4" + }, + "src": "59:94:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 1088, + "name": "DomainConfigured", + "nodeType": "EventDefinition", + "parameters": { + "id": 1087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1086, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1088, + "src": "181:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1085, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "181:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "180:23:4" + }, + "src": "158:46:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 1092, + "name": "DomainUnlisted", + "nodeType": "EventDefinition", + "parameters": { + "id": 1091, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1090, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1092, + "src": "230:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1089, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "230:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "229:23:4" + }, + "src": "209:44:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 1104, + "name": "NewRegistration", + "nodeType": "EventDefinition", + "parameters": { + "id": 1103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1094, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "280:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1093, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "280:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1096, + "indexed": false, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "303:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1095, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "303:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1098, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "321:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "321:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1100, + "indexed": true, + "name": "referrer", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "344:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1099, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "344:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1102, + "indexed": false, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "370:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1101, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "370:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "279:102:4" + }, + "src": "258:124:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 1114, + "name": "RentPaid", + "nodeType": "EventDefinition", + "parameters": { + "id": 1113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1106, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "402:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1105, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "402:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1108, + "indexed": false, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "425:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1107, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "425:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1110, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "443:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1109, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "443:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1112, + "indexed": false, + "name": "expirationDate", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "456:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1111, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "456:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "401:75:4" + }, + "src": "387:90:4" + }, + { + "body": null, + "documentation": null, + "id": 1129, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "query", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1116, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "553:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1115, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "553:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1118, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "568:25:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1117, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "568:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "552:42:4" + }, + "returnParameters": { + "id": 1128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1121, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "618:20:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1120, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "618:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1123, + "name": "signupFee", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "640:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1122, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "640:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1125, + "name": "rent", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "656:9:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1124, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "656:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1127, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 1129, + "src": "667:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1126, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "667:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "617:70:4" + }, + "scope": 1159, + "src": "538:150:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1142, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1131, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "711:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1130, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "711:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1133, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "726:25:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1132, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "726:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1135, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "753:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1134, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "753:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1137, + "name": "referrer", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "768:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1136, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "768:15:4", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1139, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "794:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1138, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "794:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "710:101:4" + }, + "returnParameters": { + "id": 1141, + "nodeType": "ParameterList", + "parameters": [], + "src": "828:0:4" + }, + "scope": 1159, + "src": "693:136:4", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1151, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rentDue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1144, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1151, + "src": "852:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1143, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "852:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1146, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1151, + "src": "867:25:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1145, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "867:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "851:42:4" + }, + "returnParameters": { + "id": 1150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1149, + "name": "timestamp", + "nodeType": "VariableDeclaration", + "scope": 1151, + "src": "917:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1148, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "917:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "916:16:4" + }, + "scope": 1159, + "src": "835:98:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1158, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "payRent", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1156, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1153, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "955:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1152, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "955:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1155, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "970:25:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1154, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "970:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "954:42:4" + }, + "returnParameters": { + "id": 1157, + "nodeType": "ParameterList", + "parameters": [], + "src": "1013:0:4" + }, + "scope": 1159, + "src": "938:76:4", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1160, + "src": "25:991:4" + } + ], + "src": "0:1017:4" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.755Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/RegistrarInterface.sol b/contracts/RegistrarInterface.sol deleted file mode 100644 index 2ce2447..0000000 --- a/contracts/RegistrarInterface.sol +++ /dev/null @@ -1,16 +0,0 @@ -pragma solidity ^0.5.0; - -contract RegistrarInterface { - event OwnerChanged(bytes32 indexed label, address indexed oldOwner, address indexed newOwner); - event DomainConfigured(bytes32 indexed label); - event DomainUnlisted(bytes32 indexed label); - event NewRegistration(bytes32 indexed label, string subdomain, address indexed owner, address indexed referrer, uint price); - event RentPaid(bytes32 indexed label, string subdomain, uint amount, uint expirationDate); - - // InterfaceID of these four methods is 0xc1b15f5a - function query(bytes32 label, string calldata subdomain) external view returns (string memory domain, uint signupFee, uint rent, uint referralFeePPM); - function register(bytes32 label, string calldata subdomain, address owner, address payable referrer, address resolver) external payable; - - function rentDue(bytes32 label, string calldata subdomain) external view returns (uint timestamp); - function payRent(bytes32 label, string calldata subdomain) external payable; -} diff --git a/contracts/Resolver.json b/contracts/Resolver.json new file mode 100644 index 0000000..e67becf --- /dev/null +++ b/contracts/Resolver.json @@ -0,0 +1,680 @@ +{ + "contractName": "Resolver", + "abi": [ + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "addr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "setAddr", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"setAddr\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"A basic interface for ENS resolvers.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol\":\"Resolver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol\":{\"keccak256\":\"0x4da4417de1daf1d66ee092b3cae0aeee2b5c591bfe881b006f80d2c4e582b790\",\"urls\":[\"bzz-raw://8b0c70eef6d5b9d2d6cda5b0849e2d6336ad395616e90673e61c5a73be66c29c\",\"dweb:/ipfs/QmYZWJDsgw284zSRztKu8jT5yPLPU7ySh9i3agWsnRd9Zw\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\nimport \"@ensdomains/ens/contracts/ENS.sol\";\n\n/**\n * @dev A basic interface for ENS resolvers.\n */\ncontract Resolver {\n function supportsInterface(bytes4 interfaceID) public pure returns (bool);\n function addr(bytes32 node) public view returns (address);\n function setAddr(bytes32 node, address addr) public;\n}\n", + "sourcePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol", + "ast": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol", + "exportedSymbols": { + "Resolver": [ + 1184 + ] + }, + "id": 1185, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1161, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:5" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 1162, + "nodeType": "ImportDirective", + "scope": 1185, + "sourceUnit": 2617, + "src": "25:43:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@dev A basic interface for ENS resolvers.", + "fullyImplemented": false, + "id": 1184, + "linearizedBaseContracts": [ + 1184 + ], + "name": "Resolver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1169, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1164, + "name": "interfaceID", + "nodeType": "VariableDeclaration", + "scope": 1169, + "src": "174:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1163, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "174:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "173:20:5" + }, + "returnParameters": { + "id": 1168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1167, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1169, + "src": "215:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1166, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "215:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "214:6:5" + }, + "scope": 1184, + "src": "147:74:5", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1176, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addr", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1171, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "240:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1170, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "240:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "239:14:5" + }, + "returnParameters": { + "id": 1175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1174, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "275:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1173, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "275:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "274:9:5" + }, + "scope": 1184, + "src": "226:58:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1183, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setAddr", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1178, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 1183, + "src": "306:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1177, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "306:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1180, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 1183, + "src": "320:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "320:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "305:28:5" + }, + "returnParameters": { + "id": 1182, + "nodeType": "ParameterList", + "parameters": [], + "src": "340:0:5" + }, + "scope": 1184, + "src": "289:52:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1185, + "src": "123:220:5" + } + ], + "src": "0:344:5" + }, + "legacyAST": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol", + "exportedSymbols": { + "Resolver": [ + 1184 + ] + }, + "id": 1185, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1161, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:5" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 1162, + "nodeType": "ImportDirective", + "scope": 1185, + "sourceUnit": 2617, + "src": "25:43:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@dev A basic interface for ENS resolvers.", + "fullyImplemented": false, + "id": 1184, + "linearizedBaseContracts": [ + 1184 + ], + "name": "Resolver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1169, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1164, + "name": "interfaceID", + "nodeType": "VariableDeclaration", + "scope": 1169, + "src": "174:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1163, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "174:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "173:20:5" + }, + "returnParameters": { + "id": 1168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1167, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1169, + "src": "215:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1166, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "215:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "214:6:5" + }, + "scope": 1184, + "src": "147:74:5", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1176, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addr", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1171, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "240:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1170, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "240:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "239:14:5" + }, + "returnParameters": { + "id": 1175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1174, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "275:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1173, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "275:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "274:9:5" + }, + "scope": 1184, + "src": "226:58:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1183, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setAddr", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1178, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 1183, + "src": "306:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1177, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "306:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1180, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 1183, + "src": "320:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "320:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "305:28:5" + }, + "returnParameters": { + "id": 1182, + "nodeType": "ParameterList", + "parameters": [], + "src": "340:0:5" + }, + "scope": 1184, + "src": "289:52:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1185, + "src": "123:220:5" + } + ], + "src": "0:344:5" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.756Z", + "devdoc": { + "details": "A basic interface for ENS resolvers.", + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/Resolver.sol b/contracts/Resolver.sol deleted file mode 100644 index 78752c3..0000000 --- a/contracts/Resolver.sol +++ /dev/null @@ -1,12 +0,0 @@ -pragma solidity ^0.5.0; - -import "@ensdomains/ens/contracts/ENS.sol"; - -/** - * @dev A basic interface for ENS resolvers. - */ -contract Resolver { - function supportsInterface(bytes4 interfaceID) public pure returns (bool); - function addr(bytes32 node) public view returns (address); - function setAddr(bytes32 node, address addr) public; -} diff --git a/contracts/SafeMath.json b/contracts/SafeMath.json new file mode 100644 index 0000000..7b3d021 --- /dev/null +++ b/contracts/SafeMath.json @@ -0,0 +1,3288 @@ +{ + "contractName": "SafeMath", + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Unsigned math operations with safety checks that revert on error\",\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzz-raw://1eb493553b27efd46c231a836a83ce50d215639feb97b4aac9f301d0fd034ff5\",\"dweb:/ipfs/QmbMdvSXcqGKxeeYvzF3VrWpoHQyVzMXBhzhAokF2Gdymv\"]}},\"version\":1}", + "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820e56d5919c4301738dc9142f57d7a162e37b523b34dac51c60bb82a17b7a090dd64736f6c63430005100032", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820e56d5919c4301738dc9142f57d7a162e37b523b34dac51c60bb82a17b7a090dd64736f6c63430005100032", + "sourceMap": "125:1726:22:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "deployedSourceMap": "125:1726:22:-;;;;;;;;", + "source": "pragma solidity ^0.5.0;\n\n/**\n * @title SafeMath\n * @dev Unsigned math operations with safety checks that revert on error\n */\nlibrary SafeMath {\n /**\n * @dev Multiplies two unsigned integers, reverts on overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b);\n\n return c;\n }\n\n /**\n * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n // Solidity only automatically asserts when dividing by 0\n require(b > 0);\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b <= a);\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Adds two unsigned integers, reverts on overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a);\n\n return c;\n }\n\n /**\n * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\n * reverts when dividing by zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b != 0);\n return a % b;\n }\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 6089 + ] + }, + "id": 6090, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5963, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:22" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Unsigned math operations with safety checks that revert on error", + "fullyImplemented": true, + "id": 6089, + "linearizedBaseContracts": [ + 6089 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 5995, + "nodeType": "Block", + "src": "296:354:22", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5972, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5965, + "src": "527:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "532:1:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "527:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5978, + "nodeType": "IfStatement", + "src": "523:45:22", + "trueBody": { + "id": 5977, + "nodeType": "Block", + "src": "535:33:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "556:1:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 5971, + "id": 5976, + "nodeType": "Return", + "src": "549:8:22" + } + ] + } + }, + { + "assignments": [ + 5980 + ], + "declarations": [ + { + "constant": false, + "id": 5980, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 5995, + "src": "578:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5979, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "578:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5984, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5981, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5965, + "src": "590:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 5982, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5967, + "src": "594:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "590:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "578:17:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5986, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5980, + "src": "613:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 5987, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5965, + "src": "617:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "613:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5989, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5967, + "src": "622:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "613:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5985, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "605:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "605:19:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5992, + "nodeType": "ExpressionStatement", + "src": "605:19:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 5993, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5980, + "src": "642:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5971, + "id": 5994, + "nodeType": "Return", + "src": "635:8:22" + } + ] + }, + "documentation": "@dev Multiplies two unsigned integers, reverts on overflow.", + "id": 5996, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5965, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "242:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "242:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5967, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "253:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5966, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "253:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "241:22:22" + }, + "returnParameters": { + "id": 5971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5970, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "287:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5969, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "287:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "286:9:22" + }, + "scope": 6089, + "src": "229:421:22", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6019, + "nodeType": "Block", + "src": "845:229:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6006, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6000, + "src": "929:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6007, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "933:1:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "929:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6005, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "921:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "921:14:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6010, + "nodeType": "ExpressionStatement", + "src": "921:14:22" + }, + { + "assignments": [ + 6012 + ], + "declarations": [ + { + "constant": false, + "id": 6012, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6019, + "src": "945:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6011, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "945:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6016, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6013, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5998, + "src": "957:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 6014, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6000, + "src": "961:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "957:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "945:17:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6017, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6012, + "src": "1066:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6004, + "id": 6018, + "nodeType": "Return", + "src": "1059:8:22" + } + ] + }, + "documentation": "@dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.", + "id": 6020, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5998, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6020, + "src": "791:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "791:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6000, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6020, + "src": "802:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "802:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "790:22:22" + }, + "returnParameters": { + "id": 6004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6003, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6020, + "src": "836:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6002, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "836:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "835:9:22" + }, + "scope": 6089, + "src": "778:296:22", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6043, + "nodeType": "Block", + "src": "1272:78:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6030, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6024, + "src": "1290:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 6031, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6022, + "src": "1295:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1290:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6029, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1282:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1282:15:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6034, + "nodeType": "ExpressionStatement", + "src": "1282:15:22" + }, + { + "assignments": [ + 6036 + ], + "declarations": [ + { + "constant": false, + "id": 6036, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6043, + "src": "1307:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6035, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1307:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6040, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6037, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6022, + "src": "1319:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 6038, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6024, + "src": "1323:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1319:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1307:17:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6041, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6036, + "src": "1342:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6028, + "id": 6042, + "nodeType": "Return", + "src": "1335:8:22" + } + ] + }, + "documentation": "@dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).", + "id": 6044, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6022, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6044, + "src": "1218:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6021, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1218:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6024, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6044, + "src": "1229:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6023, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1229:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1217:22:22" + }, + "returnParameters": { + "id": 6028, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6027, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6044, + "src": "1263:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6026, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1263:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1262:9:22" + }, + "scope": 6089, + "src": "1205:145:22", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6067, + "nodeType": "Block", + "src": "1498:78:22", + "statements": [ + { + "assignments": [ + 6054 + ], + "declarations": [ + { + "constant": false, + "id": 6054, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6067, + "src": "1508:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6053, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1508:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6058, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6055, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6046, + "src": "1520:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 6056, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6048, + "src": "1524:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1520:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1508:17:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6060, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6054, + "src": "1543:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6061, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6046, + "src": "1548:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1543:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6059, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1535:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1535:15:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6064, + "nodeType": "ExpressionStatement", + "src": "1535:15:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6065, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6054, + "src": "1568:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6052, + "id": 6066, + "nodeType": "Return", + "src": "1561:8:22" + } + ] + }, + "documentation": "@dev Adds two unsigned integers, reverts on overflow.", + "id": 6068, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6046, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6068, + "src": "1444:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6045, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1444:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6048, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6068, + "src": "1455:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1455:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1443:22:22" + }, + "returnParameters": { + "id": 6052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6051, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6068, + "src": "1489:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1489:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1488:9:22" + }, + "scope": 6089, + "src": "1431:145:22", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6087, + "nodeType": "Block", + "src": "1795:54:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6078, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "1813:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1818:1:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1813:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6077, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1805:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1805:15:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6082, + "nodeType": "ExpressionStatement", + "src": "1805:15:22" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6083, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "1837:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "id": 6084, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "1841:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1837:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6076, + "id": 6086, + "nodeType": "Return", + "src": "1830:12:22" + } + ] + }, + "documentation": "@dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", + "id": 6088, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mod", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6070, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6088, + "src": "1741:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6069, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1741:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6072, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6088, + "src": "1752:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6071, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1752:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1740:22:22" + }, + "returnParameters": { + "id": 6076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6075, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6088, + "src": "1786:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6074, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1786:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1785:9:22" + }, + "scope": 6089, + "src": "1728:121:22", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6090, + "src": "125:1726:22" + } + ], + "src": "0:1852:22" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 6089 + ] + }, + "id": 6090, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5963, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:22" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Unsigned math operations with safety checks that revert on error", + "fullyImplemented": true, + "id": 6089, + "linearizedBaseContracts": [ + 6089 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 5995, + "nodeType": "Block", + "src": "296:354:22", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5972, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5965, + "src": "527:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "532:1:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "527:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5978, + "nodeType": "IfStatement", + "src": "523:45:22", + "trueBody": { + "id": 5977, + "nodeType": "Block", + "src": "535:33:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "556:1:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 5971, + "id": 5976, + "nodeType": "Return", + "src": "549:8:22" + } + ] + } + }, + { + "assignments": [ + 5980 + ], + "declarations": [ + { + "constant": false, + "id": 5980, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 5995, + "src": "578:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5979, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "578:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5984, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5981, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5965, + "src": "590:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 5982, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5967, + "src": "594:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "590:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "578:17:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5986, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5980, + "src": "613:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 5987, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5965, + "src": "617:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "613:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5989, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5967, + "src": "622:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "613:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5985, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "605:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "605:19:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5992, + "nodeType": "ExpressionStatement", + "src": "605:19:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 5993, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5980, + "src": "642:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5971, + "id": 5994, + "nodeType": "Return", + "src": "635:8:22" + } + ] + }, + "documentation": "@dev Multiplies two unsigned integers, reverts on overflow.", + "id": 5996, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5965, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "242:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "242:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5967, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "253:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5966, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "253:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "241:22:22" + }, + "returnParameters": { + "id": 5971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5970, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "287:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5969, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "287:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "286:9:22" + }, + "scope": 6089, + "src": "229:421:22", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6019, + "nodeType": "Block", + "src": "845:229:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6006, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6000, + "src": "929:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6007, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "933:1:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "929:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6005, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "921:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "921:14:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6010, + "nodeType": "ExpressionStatement", + "src": "921:14:22" + }, + { + "assignments": [ + 6012 + ], + "declarations": [ + { + "constant": false, + "id": 6012, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6019, + "src": "945:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6011, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "945:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6016, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6013, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5998, + "src": "957:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 6014, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6000, + "src": "961:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "957:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "945:17:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6017, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6012, + "src": "1066:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6004, + "id": 6018, + "nodeType": "Return", + "src": "1059:8:22" + } + ] + }, + "documentation": "@dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.", + "id": 6020, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5998, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6020, + "src": "791:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "791:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6000, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6020, + "src": "802:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "802:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "790:22:22" + }, + "returnParameters": { + "id": 6004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6003, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6020, + "src": "836:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6002, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "836:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "835:9:22" + }, + "scope": 6089, + "src": "778:296:22", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6043, + "nodeType": "Block", + "src": "1272:78:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6030, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6024, + "src": "1290:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 6031, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6022, + "src": "1295:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1290:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6029, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1282:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1282:15:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6034, + "nodeType": "ExpressionStatement", + "src": "1282:15:22" + }, + { + "assignments": [ + 6036 + ], + "declarations": [ + { + "constant": false, + "id": 6036, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6043, + "src": "1307:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6035, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1307:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6040, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6037, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6022, + "src": "1319:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 6038, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6024, + "src": "1323:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1319:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1307:17:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6041, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6036, + "src": "1342:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6028, + "id": 6042, + "nodeType": "Return", + "src": "1335:8:22" + } + ] + }, + "documentation": "@dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).", + "id": 6044, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6022, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6044, + "src": "1218:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6021, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1218:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6024, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6044, + "src": "1229:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6023, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1229:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1217:22:22" + }, + "returnParameters": { + "id": 6028, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6027, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6044, + "src": "1263:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6026, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1263:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1262:9:22" + }, + "scope": 6089, + "src": "1205:145:22", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6067, + "nodeType": "Block", + "src": "1498:78:22", + "statements": [ + { + "assignments": [ + 6054 + ], + "declarations": [ + { + "constant": false, + "id": 6054, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6067, + "src": "1508:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6053, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1508:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6058, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6055, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6046, + "src": "1520:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 6056, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6048, + "src": "1524:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1520:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1508:17:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6060, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6054, + "src": "1543:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6061, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6046, + "src": "1548:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1543:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6059, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1535:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1535:15:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6064, + "nodeType": "ExpressionStatement", + "src": "1535:15:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6065, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6054, + "src": "1568:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6052, + "id": 6066, + "nodeType": "Return", + "src": "1561:8:22" + } + ] + }, + "documentation": "@dev Adds two unsigned integers, reverts on overflow.", + "id": 6068, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6046, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6068, + "src": "1444:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6045, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1444:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6048, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6068, + "src": "1455:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1455:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1443:22:22" + }, + "returnParameters": { + "id": 6052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6051, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6068, + "src": "1489:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1489:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1488:9:22" + }, + "scope": 6089, + "src": "1431:145:22", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6087, + "nodeType": "Block", + "src": "1795:54:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6078, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "1813:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1818:1:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1813:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6077, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1805:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1805:15:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6082, + "nodeType": "ExpressionStatement", + "src": "1805:15:22" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6083, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6070, + "src": "1837:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "id": 6084, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6072, + "src": "1841:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1837:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6076, + "id": 6086, + "nodeType": "Return", + "src": "1830:12:22" + } + ] + }, + "documentation": "@dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", + "id": 6088, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mod", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6070, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6088, + "src": "1741:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6069, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1741:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6072, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6088, + "src": "1752:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6071, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1752:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1740:22:22" + }, + "returnParameters": { + "id": 6076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6075, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6088, + "src": "1786:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6074, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1786:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1785:9:22" + }, + "scope": 6089, + "src": "1728:121:22", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6090, + "src": "125:1726:22" + } + ], + "src": "0:1852:22" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.812Z", + "devdoc": { + "details": "Unsigned math operations with safety checks that revert on error", + "methods": {}, + "title": "SafeMath" + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/SubdomainMigrationRegistrar.json b/contracts/SubdomainMigrationRegistrar.json new file mode 100644 index 0000000..d23da6f --- /dev/null +++ b/contracts/SubdomainMigrationRegistrar.json @@ -0,0 +1,3821 @@ +{ + "contractName": "SubdomainMigrationRegistrar", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_previousRegistrar", + "type": "address" + }, + { + "internalType": "address payable", + "name": "_newRegistrar", + "type": "address" + }, + { + "internalType": "contract HashRegistrar", + "name": "_hashRegistrar", + "type": "address" + }, + { + "internalType": "contract BaseRegistrar", + "name": "_ethRegistrar", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": true, + "inputs": [], + "name": "TLD_NODE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ethRegistrar", + "outputs": [ + { + "internalType": "contract BaseRegistrar", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "hashRegistrar", + "outputs": [ + { + "internalType": "contract HashRegistrar", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "newRegistrar", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "previousRegistrar", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_transfer", + "type": "address" + } + ], + "name": "configureDomainFor", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_previousRegistrar\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_newRegistrar\",\"type\":\"address\"},{\"internalType\":\"contract HashRegistrar\",\"name\":\"_hashRegistrar\",\"type\":\"address\"},{\"internalType\":\"contract BaseRegistrar\",\"name\":\"_ethRegistrar\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":true,\"inputs\":[],\"name\":\"TLD_NODE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transfer\",\"type\":\"address\"}],\"name\":\"configureDomainFor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ethRegistrar\",\"outputs\":[{\"internalType\":\"contract BaseRegistrar\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hashRegistrar\",\"outputs\":[{\"internalType\":\"contract HashRegistrar\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newRegistrar\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"previousRegistrar\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/SubdomainMigrationRegistrar.sol\":\"SubdomainMigrationRegistrar\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/SubdomainMigrationRegistrar.sol\":{\"keccak256\":\"0x432acd30057797c65440e4c68134c89aac8dc24a08ffa5a9c731cd14050b6174\",\"urls\":[\"bzz-raw://823841097fdac925633f3626481f63feddb9b2031bac64401b55a1b497e0cb70\",\"dweb:/ipfs/QmV8aP2YGXrXn3iN5aRwhMfcNCHwducDvjF3RJsQGZQERY\"]},\"@ensdomains/ens/contracts/Deed.sol\":{\"keccak256\":\"0x7b4abd2f65e2e093743077b899d0fb4952627ad7ff6104b840f9869f5baa5e96\",\"urls\":[\"bzz-raw://d72dc40eb83ded3cca64d6c1b9958f665f4cd61115fed4d32dfd62d0c6ded0fc\",\"dweb:/ipfs/Qmdkef7QyeJDF96ToptWRWroYYuD8XjCvrtxy46dA62iA2\"]},\"@ensdomains/ens/contracts/DeedImplementation.sol\":{\"keccak256\":\"0x91242ba8032d5e01a8a59da84afb4d0d5b1007d4257bde8e6caa20fbc700cdc7\",\"urls\":[\"bzz-raw://6810d6c6038674ba3736a199aa71d2a9bcbbb10bffc796f13e1b52de0de91854\",\"dweb:/ipfs/QmdSjH6EhvqTnqhVKkUkvs6PVT67wAxq4gwerFLZ4UsD5c\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ens/contracts/HashRegistrar.sol\":{\"keccak256\":\"0xfa35370373bb3f4393d2b32908c526651fbc46cad2e313c9c8b2e6d051083b11\",\"urls\":[\"bzz-raw://1dbfe101894eb558901c4020e113a5b63c0f1562112902736093df5eebe81afd\",\"dweb:/ipfs/QmPDdcczyuE8iAHauYWrLCG3FSF8vKmDAW2r2ZGvpR1NTs\"]},\"@ensdomains/ens/contracts/Registrar.sol\":{\"keccak256\":\"0xaef3f85ba0cf0544485d506a3f93719a90f8f28ef6c59f7175955768bec719bb\",\"urls\":[\"bzz-raw://fc1be7eec872590585a2dfbc0b3d0ef332444dd528ee75e96fb107f265ccc5e7\",\"dweb:/ipfs/QmUCo66Bpmic9rHjdjw2VrmmJ7c7Ma1oHJ2ZvbtctsDM6g\"]},\"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\":{\"keccak256\":\"0x8f8f496603d868fdf3ddf31c54fb6eed6a865f2adbf568fe0b3d999d4fa667f4\",\"urls\":[\"bzz-raw://40c16e89553e4af1dad651bdb63208f5e20429e0e5dbd716eb0cad14eafb96be\",\"dweb:/ipfs/QmYdCBZHRwRgKPRmCvghw7hbdvqqcJJCKg5JTtzWWwoSQP\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xbbb6159006ae3639daea09f7d63987816d6cf3a99f52af919363e025d3abf3b8\",\"urls\":[\"bzz-raw://35e7d742ee71461779df12a0ab1ad4701144d98eb6401182838c8daf40b008dd\",\"dweb:/ipfs/QmY4t7pxcX2cfk6VsGJWZLBgoKMpRctY8X1HPxykLjptSi\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzz-raw://f07a2c393caa85f62f0aaa461e3edd50aa59371d4209778ba0558d7f8b4b856c\",\"dweb:/ipfs/QmeN3ZiYGSjCnQFeYaJNgoXjF9eDue1g3e9pqManRkeBtV\"]},\"openzeppelin-solidity/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x1f059ee943273719130df645fa38069b792988e8b732585528d5b1265f5aa046\",\"urls\":[\"bzz-raw://31e4d99091a83a42a6ea14d74ceae2ec3ffb2905c7ee07358875af72ea188333\",\"dweb:/ipfs/Qmf7nHc6BwhbyawapCVRZHzhBHNoA8ftpQWmGSyToVKVzN\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50604051610a6b380380610a6b8339818101604052608081101561003357600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050506108f3806101786000396000f3fe6080604052600436106100555760003560e01c8063387c0cb4146100575780633c9b51b4146100ae578063565b052b1461010557806396df35401461015c578063ab14ec5914610187578063cf775255146101de575b005b34801561006357600080fd5b5061006c6102fa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ba57600080fd5b506100c361031f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011157600080fd5b5061011a610345565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016857600080fd5b5061017161036b565b6040518082815260200191505060405180910390f35b34801561019357600080fd5b5061019c610392565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ea57600080fd5b506102f8600480360360a081101561020157600080fd5b810190808035906020019064010000000081111561021e57600080fd5b82018360208201111561023057600080fd5b8035906020019184600183028401116401000000008311171561025257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103b8565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b81565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461041257600080fd5b6000858051906020012090506000610429826107d7565b73ffffffffffffffffffffffffffffffffffffffff16633fa4f2456040518163ffffffff1660e01b815260040160206040518083038186803b15801561046e57600080fd5b505afa158015610482573d6000803e3d6000fd5b505050506040513d602081101561049857600080fd5b810190808051906020019092919050505090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ddae283836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561051f57600080fd5b505af1158015610533573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460001c6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561060557600080fd5b505af1158015610619573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610663573d6000803e3d6000fd5b50600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf77525588888888886040518663ffffffff1660e01b815260040180806020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825287818151815260200191508051906020019080838360005b8381101561076657808201518184015260208101905061074b565b50505050905090810190601f1680156107935780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b1580156107b657600080fd5b505af11580156107ca573d6000803e3d6000fd5b5050505050505050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267b6922846040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b15801561084c57600080fd5b505afa158015610860573d6000803e3d6000fd5b505050506040513d60a081101561087657600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505091905056fea265627a7a72315820e5e3977211ee2171834969d713bee4f396c7276d0adc8c62dc2ec8595cf7e9a964736f6c63430005100032", + "deployedBytecode": "0x6080604052600436106100555760003560e01c8063387c0cb4146100575780633c9b51b4146100ae578063565b052b1461010557806396df35401461015c578063ab14ec5914610187578063cf775255146101de575b005b34801561006357600080fd5b5061006c6102fa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ba57600080fd5b506100c361031f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011157600080fd5b5061011a610345565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016857600080fd5b5061017161036b565b6040518082815260200191505060405180910390f35b34801561019357600080fd5b5061019c610392565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ea57600080fd5b506102f8600480360360a081101561020157600080fd5b810190808035906020019064010000000081111561021e57600080fd5b82018360208201111561023057600080fd5b8035906020019184600183028401116401000000008311171561025257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103b8565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b81565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461041257600080fd5b6000858051906020012090506000610429826107d7565b73ffffffffffffffffffffffffffffffffffffffff16633fa4f2456040518163ffffffff1660e01b815260040160206040518083038186803b15801561046e57600080fd5b505afa158015610482573d6000803e3d6000fd5b505050506040513d602081101561049857600080fd5b810190808051906020019092919050505090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ddae283836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561051f57600080fd5b505af1158015610533573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460001c6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561060557600080fd5b505af1158015610619573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610663573d6000803e3d6000fd5b50600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf77525588888888886040518663ffffffff1660e01b815260040180806020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825287818151815260200191508051906020019080838360005b8381101561076657808201518184015260208101905061074b565b50505050905090810190601f1680156107935780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b1580156107b657600080fd5b505af11580156107ca573d6000803e3d6000fd5b5050505050505050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267b6922846040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b15801561084c57600080fd5b505afa158015610860573d6000803e3d6000fd5b505050506040513d60a081101561087657600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505091905056fea265627a7a72315820e5e3977211ee2171834969d713bee4f396c7276d0adc8c62dc2ec8595cf7e9a964736f6c63430005100032", + "sourceMap": "143:1568:6:-;;;560:346;8:9:-1;5:2;;;30:1;27;20:12;5:2;560:346:6;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;560:346:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;765:18;745:17;;:38;;;;;;;;;;;;;;;;;;808:13;793:12;;:28;;;;;;;;;;;;;;;;;;847:14;831:13;;:30;;;;;;;;;;;;;;;;;;886:13;871:12;;:28;;;;;;;;;;;;;;;;;;560:346;;;;143:1568;;;;;;", + "deployedSourceMap": "143:1568:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;295:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;295:34:6;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;413:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;413:35:6;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;335:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;335:33:6;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;187:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;187:101:6;;;:::i;:::-;;;;;;;;;;;;;;;;;;;375:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;375:32:6;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;950:587;;8:9:-1;5:2;;;30:1;27;20:12;5:2;950:587:6;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;950:587:6;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;950:587:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;950:587:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;950:587:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;950:587:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;295:34;;;;;;;;;;;;;:::o;413:35::-;;;;;;;;;;;;;:::o;335:33::-;;;;;;;;;;;;;:::o;187:101::-;222:66;187:101;;;:::o;375:32::-;;;;;;;;;;;;;:::o;950:587::-;518:17;;;;;;;;;;;504:31;;:10;:31;;;496:40;;;;;;1113:13;1145:4;1129:22;;;;;;1113:38;;1162:13;1178:11;1183:5;1178:4;:11::i;:::-;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1178:19:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1178:19:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1178:19:6;;;;;;;;;;;;;;;;1162:35;;1208:13;;;;;;;;;;;:32;;;1241:5;1208:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1208:39:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1208:39:6;;;;1258:12;;;;;;;;;;;:20;;;1279:12;;;;;;;;;;;1301:5;1293:14;;1258:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1258:50:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1258:50:6;;;;1319:6;:15;;:22;1335:5;1319:22;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1319:22:6;1380:12;;;;;;;;;;;1352:60;;;1426:4;1444:5;1463:14;1491:6;1511:9;1352:178;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1352:178:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1352:178:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1352:178:6;;;;546:1;;950:587;;;;;:::o;1543:166::-;1595:4;1614:19;1640:13;;;;;;;;;;;:21;;;1662:5;1640:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1640:28:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1640:28:6;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1640:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1611:57;;;;;;1690:11;1678:24;;;1543:166;;;:::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"@ensdomains/ens/contracts/HashRegistrar.sol\";\nimport \"@ensdomains/ethregistrar/contracts/BaseRegistrar.sol\";\n\ncontract SubdomainMigrationRegistrar {\n\n bytes32 constant public TLD_NODE = 0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae;\n\n HashRegistrar public hashRegistrar;\n BaseRegistrar public ethRegistrar;\n\n address public previousRegistrar;\n address payable public newRegistrar;\n\n modifier onlyPreviousRegistrar {\n require(msg.sender == previousRegistrar);\n _;\n }\n\n constructor(\n address _previousRegistrar,\n address payable _newRegistrar,\n HashRegistrar _hashRegistrar,\n BaseRegistrar _ethRegistrar\n ) public {\n previousRegistrar = _previousRegistrar;\n newRegistrar = _newRegistrar;\n hashRegistrar = _hashRegistrar;\n ethRegistrar = _ethRegistrar;\n }\n\n function () external payable { }\n\n function configureDomainFor(string memory name, uint price, uint referralFeePPM, address payable _owner, address _transfer) public onlyPreviousRegistrar {\n bytes32 label = keccak256(bytes(name));\n\n uint256 value = deed(label).value();\n\n hashRegistrar.transferRegistrars(label);\n\n ethRegistrar.approve(newRegistrar, uint256(label));\n\n _owner.transfer(value);\n\n SubdomainMigrationRegistrar(newRegistrar).configureDomainFor(\n name,\n price,\n referralFeePPM,\n _owner,\n _transfer\n );\n }\n\n function deed(bytes32 label) internal view returns (Deed) {\n (, address deedAddress,,,) = hashRegistrar.entries(label);\n return Deed(deedAddress);\n }\n}\n", + "sourcePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/SubdomainMigrationRegistrar.sol", + "ast": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/SubdomainMigrationRegistrar.sol", + "exportedSymbols": { + "SubdomainMigrationRegistrar": [ + 1326 + ] + }, + "id": 1327, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1186, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:6" + }, + { + "absolutePath": "@ensdomains/ens/contracts/HashRegistrar.sol", + "file": "@ensdomains/ens/contracts/HashRegistrar.sol", + "id": 1187, + "nodeType": "ImportDirective", + "scope": 1327, + "sourceUnit": 4611, + "src": "25:53:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "file": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "id": 1188, + "nodeType": "ImportDirective", + "scope": 1327, + "sourceUnit": 4883, + "src": "79:62:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1326, + "linearizedBaseContracts": [ + 1326 + ], + "name": "SubdomainMigrationRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1191, + "name": "TLD_NODE", + "nodeType": "VariableDeclaration", + "scope": 1326, + "src": "187:101:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1189, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "187:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307839336364656237303862373534356463363638656239323830313736313639643163333363666438656436663034363930613062636338386139336663346165", + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "222:66:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_66853817334611902194238164484889819180315942402426128563245745834960013477038_by_1", + "typeString": "int_const 6685...(69 digits omitted)...7038" + }, + "value": "0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 1193, + "name": "hashRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1326, + "src": "295:34:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + }, + "typeName": { + "contractScope": null, + "id": 1192, + "name": "HashRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4610, + "src": "295:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1195, + "name": "ethRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1326, + "src": "335:33:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + }, + "typeName": { + "contractScope": null, + "id": 1194, + "name": "BaseRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4882, + "src": "335:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1197, + "name": "previousRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1326, + "src": "375:32:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1196, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "375:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1199, + "name": "newRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1326, + "src": "413:35:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1198, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "413:15:6", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 1209, + "nodeType": "Block", + "src": "486:68:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1202, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "504:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "504:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1204, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1197, + "src": "518:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "504:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1201, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "496:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "496:40:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1207, + "nodeType": "ExpressionStatement", + "src": "496:40:6" + }, + { + "id": 1208, + "nodeType": "PlaceholderStatement", + "src": "546:1:6" + } + ] + }, + "documentation": null, + "id": 1210, + "name": "onlyPreviousRegistrar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1200, + "nodeType": "ParameterList", + "parameters": [], + "src": "486:0:6" + }, + "src": "455:99:6", + "visibility": "internal" + }, + { + "body": { + "id": 1237, + "nodeType": "Block", + "src": "735:171:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1221, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1197, + "src": "745:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1222, + "name": "_previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1212, + "src": "765:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "745:38:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1224, + "nodeType": "ExpressionStatement", + "src": "745:38:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1225, + "name": "newRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1199, + "src": "793:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1226, + "name": "_newRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1214, + "src": "808:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "793:28:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1228, + "nodeType": "ExpressionStatement", + "src": "793:28:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1229, + "name": "hashRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1193, + "src": "831:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1230, + "name": "_hashRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "847:14:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "src": "831:30:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "id": 1232, + "nodeType": "ExpressionStatement", + "src": "831:30:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1233, + "name": "ethRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1195, + "src": "871:12:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1234, + "name": "_ethRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "886:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "src": "871:28:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 1236, + "nodeType": "ExpressionStatement", + "src": "871:28:6" + } + ] + }, + "documentation": null, + "id": 1238, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1212, + "name": "_previousRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1238, + "src": "581:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1211, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "581:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1214, + "name": "_newRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1238, + "src": "617:29:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "617:15:6", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1216, + "name": "_hashRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1238, + "src": "656:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + }, + "typeName": { + "contractScope": null, + "id": 1215, + "name": "HashRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4610, + "src": "656:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1218, + "name": "_ethRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1238, + "src": "694:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + }, + "typeName": { + "contractScope": null, + "id": 1217, + "name": "BaseRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4882, + "src": "694:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "571:156:6" + }, + "returnParameters": { + "id": 1220, + "nodeType": "ParameterList", + "parameters": [], + "src": "735:0:6" + }, + "scope": 1326, + "src": "560:346:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1241, + "nodeType": "Block", + "src": "941:3:6", + "statements": [] + }, + "documentation": null, + "id": 1242, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1239, + "nodeType": "ParameterList", + "parameters": [], + "src": "921:2:6" + }, + "returnParameters": { + "id": 1240, + "nodeType": "ParameterList", + "parameters": [], + "src": "941:0:6" + }, + "scope": 1326, + "src": "912:32:6", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1305, + "nodeType": "Block", + "src": "1103:434:6", + "statements": [ + { + "assignments": [ + 1258 + ], + "declarations": [ + { + "constant": false, + "id": 1258, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1305, + "src": "1113:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1257, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1113:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1264, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1261, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1145:4:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1139:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1139:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1259, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1129:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1129:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1113:38:6" + }, + { + "assignments": [ + 1266 + ], + "declarations": [ + { + "constant": false, + "id": 1266, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1305, + "src": "1162:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1162:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1272, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1268, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "1183:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1267, + "name": "deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1325, + "src": "1178:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_contract$_Deed_$2227_$", + "typeString": "function (bytes32) view returns (contract Deed)" + } + }, + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1178:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 1270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2221, + "src": "1178:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1178:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1162:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1276, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "1241:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1273, + "name": "hashRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1193, + "src": "1208:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "id": 1275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferRegistrars", + "nodeType": "MemberAccess", + "referencedDeclaration": 4023, + "src": "1208:32:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1208:39:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1278, + "nodeType": "ExpressionStatement", + "src": "1208:39:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1282, + "name": "newRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1199, + "src": "1279:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1284, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "1301:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1293:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 1285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1293:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1279, + "name": "ethRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1195, + "src": "1258:12:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 6807, + "src": "1258:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 1286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1258:50:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1287, + "nodeType": "ExpressionStatement", + "src": "1258:50:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1291, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1266, + "src": "1335:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1288, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1250, + "src": "1319:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1319:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1319:22:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1293, + "nodeType": "ExpressionStatement", + "src": "1319:22:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1298, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1426:4:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1299, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1246, + "src": "1444:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1300, + "name": "referralFeePPM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1248, + "src": "1463:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1301, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1250, + "src": "1491:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 1302, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "1511:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1295, + "name": "newRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1199, + "src": "1380:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 1294, + "name": "SubdomainMigrationRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1326, + "src": "1352:27:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SubdomainMigrationRegistrar_$1326_$", + "typeString": "type(contract SubdomainMigrationRegistrar)" + } + }, + "id": 1296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1352:41:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SubdomainMigrationRegistrar_$1326", + "typeString": "contract SubdomainMigrationRegistrar" + } + }, + "id": 1297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "configureDomainFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 1306, + "src": "1352:60:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_payable_$_t_address_$returns$__$", + "typeString": "function (string memory,uint256,uint256,address payable,address) external" + } + }, + "id": 1303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1352:178:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1304, + "nodeType": "ExpressionStatement", + "src": "1352:178:6" + } + ] + }, + "documentation": null, + "id": 1306, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1255, + "modifierName": { + "argumentTypes": null, + "id": 1254, + "name": "onlyPreviousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1210, + "src": "1081:21:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1081:21:6" + } + ], + "name": "configureDomainFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1244, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "978:18:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1243, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "978:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1246, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "998:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1245, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "998:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1248, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "1010:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1247, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1010:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1250, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "1031:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1031:15:6", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1252, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "1055:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1055:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "977:96:6" + }, + "returnParameters": { + "id": 1256, + "nodeType": "ParameterList", + "parameters": [], + "src": "1103:0:6" + }, + "scope": 1326, + "src": "950:587:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1324, + "nodeType": "Block", + "src": "1601:108:6", + "statements": [ + { + "assignments": [ + null, + 1314, + null, + null, + null + ], + "declarations": [ + null, + { + "constant": false, + "id": 1314, + "name": "deedAddress", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "1614:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1614:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + null, + null, + null + ], + "id": 1319, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1317, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1308, + "src": "1662:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1315, + "name": "hashRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1193, + "src": "1640:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 4076, + "src": "1640:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1640:28:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1611:57:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1321, + "name": "deedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1314, + "src": "1690:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1320, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "1685:4:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 1322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1685:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "functionReturnParameters": 1312, + "id": 1323, + "nodeType": "Return", + "src": "1678:24:6" + } + ] + }, + "documentation": null, + "id": 1325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1308, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "1557:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1307, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1557:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1556:15:6" + }, + "returnParameters": { + "id": 1312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1311, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "1595:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 1310, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "1595:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1594:6:6" + }, + "scope": 1326, + "src": "1543:166:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1327, + "src": "143:1568:6" + } + ], + "src": "0:1712:6" + }, + "legacyAST": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/SubdomainMigrationRegistrar.sol", + "exportedSymbols": { + "SubdomainMigrationRegistrar": [ + 1326 + ] + }, + "id": 1327, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1186, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:6" + }, + { + "absolutePath": "@ensdomains/ens/contracts/HashRegistrar.sol", + "file": "@ensdomains/ens/contracts/HashRegistrar.sol", + "id": 1187, + "nodeType": "ImportDirective", + "scope": 1327, + "sourceUnit": 4611, + "src": "25:53:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "file": "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol", + "id": 1188, + "nodeType": "ImportDirective", + "scope": 1327, + "sourceUnit": 4883, + "src": "79:62:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1326, + "linearizedBaseContracts": [ + 1326 + ], + "name": "SubdomainMigrationRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1191, + "name": "TLD_NODE", + "nodeType": "VariableDeclaration", + "scope": 1326, + "src": "187:101:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1189, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "187:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307839336364656237303862373534356463363638656239323830313736313639643163333363666438656436663034363930613062636338386139336663346165", + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "222:66:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_66853817334611902194238164484889819180315942402426128563245745834960013477038_by_1", + "typeString": "int_const 6685...(69 digits omitted)...7038" + }, + "value": "0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 1193, + "name": "hashRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1326, + "src": "295:34:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + }, + "typeName": { + "contractScope": null, + "id": 1192, + "name": "HashRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4610, + "src": "295:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1195, + "name": "ethRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1326, + "src": "335:33:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + }, + "typeName": { + "contractScope": null, + "id": 1194, + "name": "BaseRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4882, + "src": "335:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1197, + "name": "previousRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1326, + "src": "375:32:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1196, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "375:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1199, + "name": "newRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1326, + "src": "413:35:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1198, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "413:15:6", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 1209, + "nodeType": "Block", + "src": "486:68:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1202, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "504:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "504:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1204, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1197, + "src": "518:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "504:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1201, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "496:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "496:40:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1207, + "nodeType": "ExpressionStatement", + "src": "496:40:6" + }, + { + "id": 1208, + "nodeType": "PlaceholderStatement", + "src": "546:1:6" + } + ] + }, + "documentation": null, + "id": 1210, + "name": "onlyPreviousRegistrar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1200, + "nodeType": "ParameterList", + "parameters": [], + "src": "486:0:6" + }, + "src": "455:99:6", + "visibility": "internal" + }, + { + "body": { + "id": 1237, + "nodeType": "Block", + "src": "735:171:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1221, + "name": "previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1197, + "src": "745:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1222, + "name": "_previousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1212, + "src": "765:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "745:38:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1224, + "nodeType": "ExpressionStatement", + "src": "745:38:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1225, + "name": "newRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1199, + "src": "793:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1226, + "name": "_newRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1214, + "src": "808:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "793:28:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1228, + "nodeType": "ExpressionStatement", + "src": "793:28:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1229, + "name": "hashRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1193, + "src": "831:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1230, + "name": "_hashRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "847:14:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "src": "831:30:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "id": 1232, + "nodeType": "ExpressionStatement", + "src": "831:30:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1233, + "name": "ethRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1195, + "src": "871:12:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1234, + "name": "_ethRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "886:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "src": "871:28:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 1236, + "nodeType": "ExpressionStatement", + "src": "871:28:6" + } + ] + }, + "documentation": null, + "id": 1238, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1212, + "name": "_previousRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1238, + "src": "581:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1211, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "581:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1214, + "name": "_newRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1238, + "src": "617:29:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "617:15:6", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1216, + "name": "_hashRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1238, + "src": "656:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + }, + "typeName": { + "contractScope": null, + "id": 1215, + "name": "HashRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4610, + "src": "656:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1218, + "name": "_ethRegistrar", + "nodeType": "VariableDeclaration", + "scope": 1238, + "src": "694:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + }, + "typeName": { + "contractScope": null, + "id": 1217, + "name": "BaseRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4882, + "src": "694:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "571:156:6" + }, + "returnParameters": { + "id": 1220, + "nodeType": "ParameterList", + "parameters": [], + "src": "735:0:6" + }, + "scope": 1326, + "src": "560:346:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1241, + "nodeType": "Block", + "src": "941:3:6", + "statements": [] + }, + "documentation": null, + "id": 1242, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1239, + "nodeType": "ParameterList", + "parameters": [], + "src": "921:2:6" + }, + "returnParameters": { + "id": 1240, + "nodeType": "ParameterList", + "parameters": [], + "src": "941:0:6" + }, + "scope": 1326, + "src": "912:32:6", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1305, + "nodeType": "Block", + "src": "1103:434:6", + "statements": [ + { + "assignments": [ + 1258 + ], + "declarations": [ + { + "constant": false, + "id": 1258, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1305, + "src": "1113:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1257, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1113:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1264, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1261, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1145:4:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1139:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1139:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1259, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "1129:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1129:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1113:38:6" + }, + { + "assignments": [ + 1266 + ], + "declarations": [ + { + "constant": false, + "id": 1266, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1305, + "src": "1162:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1162:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1272, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1268, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "1183:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1267, + "name": "deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1325, + "src": "1178:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_contract$_Deed_$2227_$", + "typeString": "function (bytes32) view returns (contract Deed)" + } + }, + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1178:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 1270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2221, + "src": "1178:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1178:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1162:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1276, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "1241:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1273, + "name": "hashRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1193, + "src": "1208:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "id": 1275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferRegistrars", + "nodeType": "MemberAccess", + "referencedDeclaration": 4023, + "src": "1208:32:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1208:39:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1278, + "nodeType": "ExpressionStatement", + "src": "1208:39:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1282, + "name": "newRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1199, + "src": "1279:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1284, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "1301:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1293:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 1285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1293:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1279, + "name": "ethRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1195, + "src": "1258:12:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BaseRegistrar_$4882", + "typeString": "contract BaseRegistrar" + } + }, + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 6807, + "src": "1258:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 1286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1258:50:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1287, + "nodeType": "ExpressionStatement", + "src": "1258:50:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1291, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1266, + "src": "1335:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1288, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1250, + "src": "1319:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1319:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1319:22:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1293, + "nodeType": "ExpressionStatement", + "src": "1319:22:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1298, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1426:4:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1299, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1246, + "src": "1444:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1300, + "name": "referralFeePPM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1248, + "src": "1463:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1301, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1250, + "src": "1491:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 1302, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "1511:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1295, + "name": "newRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1199, + "src": "1380:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 1294, + "name": "SubdomainMigrationRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1326, + "src": "1352:27:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SubdomainMigrationRegistrar_$1326_$", + "typeString": "type(contract SubdomainMigrationRegistrar)" + } + }, + "id": 1296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1352:41:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SubdomainMigrationRegistrar_$1326", + "typeString": "contract SubdomainMigrationRegistrar" + } + }, + "id": 1297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "configureDomainFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 1306, + "src": "1352:60:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_payable_$_t_address_$returns$__$", + "typeString": "function (string memory,uint256,uint256,address payable,address) external" + } + }, + "id": 1303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1352:178:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1304, + "nodeType": "ExpressionStatement", + "src": "1352:178:6" + } + ] + }, + "documentation": null, + "id": 1306, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1255, + "modifierName": { + "argumentTypes": null, + "id": 1254, + "name": "onlyPreviousRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1210, + "src": "1081:21:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1081:21:6" + } + ], + "name": "configureDomainFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1244, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "978:18:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1243, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "978:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1246, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "998:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1245, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "998:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1248, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "1010:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1247, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1010:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1250, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "1031:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1031:15:6", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1252, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "1055:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1055:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "977:96:6" + }, + "returnParameters": { + "id": 1256, + "nodeType": "ParameterList", + "parameters": [], + "src": "1103:0:6" + }, + "scope": 1326, + "src": "950:587:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1324, + "nodeType": "Block", + "src": "1601:108:6", + "statements": [ + { + "assignments": [ + null, + 1314, + null, + null, + null + ], + "declarations": [ + null, + { + "constant": false, + "id": 1314, + "name": "deedAddress", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "1614:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1614:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + null, + null, + null + ], + "id": 1319, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1317, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1308, + "src": "1662:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1315, + "name": "hashRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1193, + "src": "1640:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_HashRegistrar_$4610", + "typeString": "contract HashRegistrar" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 4076, + "src": "1640:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1640:28:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1611:57:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1321, + "name": "deedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1314, + "src": "1690:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1320, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "1685:4:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 1322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1685:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "functionReturnParameters": 1312, + "id": 1323, + "nodeType": "Return", + "src": "1678:24:6" + } + ] + }, + "documentation": null, + "id": 1325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1308, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "1557:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1307, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1557:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1556:15:6" + }, + "returnParameters": { + "id": 1312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1311, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "1595:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 1310, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "1595:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1594:6:6" + }, + "scope": 1326, + "src": "1543:166:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1327, + "src": "143:1568:6" + } + ], + "src": "0:1712:6" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.756Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/SubdomainMigrationRegistrar.sol b/contracts/SubdomainMigrationRegistrar.sol deleted file mode 100644 index e5984a3..0000000 --- a/contracts/SubdomainMigrationRegistrar.sol +++ /dev/null @@ -1,59 +0,0 @@ -pragma solidity ^0.5.0; - -import "@ensdomains/ens/contracts/HashRegistrar.sol"; -import "@ensdomains/ethregistrar/contracts/BaseRegistrar.sol"; - -contract SubdomainMigrationRegistrar { - - bytes32 constant public TLD_NODE = 0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae; - - HashRegistrar public hashRegistrar; - BaseRegistrar public ethRegistrar; - - address public previousRegistrar; - address payable public newRegistrar; - - modifier onlyPreviousRegistrar { - require(msg.sender == previousRegistrar); - _; - } - - constructor( - address _previousRegistrar, - address payable _newRegistrar, - HashRegistrar _hashRegistrar, - BaseRegistrar _ethRegistrar - ) public { - previousRegistrar = _previousRegistrar; - newRegistrar = _newRegistrar; - hashRegistrar = _hashRegistrar; - ethRegistrar = _ethRegistrar; - } - - function () external payable { } - - function configureDomainFor(string memory name, uint price, uint referralFeePPM, address payable _owner, address _transfer) public onlyPreviousRegistrar { - bytes32 label = keccak256(bytes(name)); - - uint256 value = deed(label).value(); - - hashRegistrar.transferRegistrars(label); - - ethRegistrar.approve(newRegistrar, uint256(label)); - - _owner.transfer(value); - - SubdomainMigrationRegistrar(newRegistrar).configureDomainFor( - name, - price, - referralFeePPM, - _owner, - _transfer - ); - } - - function deed(bytes32 label) internal view returns (Deed) { - (, address deedAddress,,,) = hashRegistrar.entries(label); - return Deed(deedAddress); - } -} diff --git a/contracts/SubdomainRegistrar.json b/contracts/SubdomainRegistrar.json new file mode 100644 index 0000000..5e276dc --- /dev/null +++ b/contracts/SubdomainRegistrar.json @@ -0,0 +1,22654 @@ +{ + "contractName": "SubdomainRegistrar", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ENS", + "name": "ens", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "DomainConfigured", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "DomainTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "DomainUnlisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "NewRegistration", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expirationDate", + "type": "uint256" + } + ], + "name": "RentPaid", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "TransferAddressSet", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "TLD_NODE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + } + ], + "name": "configureDomain", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "migration", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "registrar", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "registrarOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "rentDue", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_migration", + "type": "address" + } + ], + "name": "setMigrationAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "stop", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "stopped", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + } + ], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address payable", + "name": "newOwner", + "type": "address" + } + ], + "name": "transfer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_transfer", + "type": "address" + } + ], + "name": "configureDomainFor", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "address", + "name": "transfer", + "type": "address" + } + ], + "name": "setTransferAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "unlistDomain", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "query", + "outputs": [ + { + "internalType": "string", + "name": "domain", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rent", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "referralFeePPM", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + }, + { + "internalType": "address", + "name": "_subdomainOwner", + "type": "address" + }, + { + "internalType": "address payable", + "name": "referrer", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "register", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "upgrade", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "migrate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "subdomain", + "type": "string" + } + ], + "name": "payRent", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ENS\",\"name\":\"ens\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"DomainConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"DomainTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"DomainUnlisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"NewRegistration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expirationDate\",\"type\":\"uint256\"}],\"name\":\"RentPaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"TransferAddressSet\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"TLD_NODE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"}],\"name\":\"configureDomain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transfer\",\"type\":\"address\"}],\"name\":\"configureDomainFor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"migrate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"migration\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"payRent\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralFeePPM\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_subdomainOwner\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"register\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registrar\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registrarOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"subdomain\",\"type\":\"string\"}],\"name\":\"rentDue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_migration\",\"type\":\"address\"}],\"name\":\"setMigrationAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"transfer\",\"type\":\"address\"}],\"name\":\"setTransferAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stop\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"stopped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address payable\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"unlistDomain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"upgrade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implements an ENS registrar that sells subdomains on behalf of their owners. * Users may register a subdomain by calling `register` with the name of the domain they wish to register under, and the label hash of the subdomain they want to register. They must also specify the new owner of the domain, and the referrer, who is paid an optional finder's fee. The registrar then configures a simple default resolver, which resolves `addr` lookups to the new owner, and sets the `owner` account as the owner of the subdomain in ENS. * New domains may be added by calling `configureDomain`, then transferring ownership in the ENS registry to this contract. Ownership in the contract may be transferred using `transfer`, and a domain may be unlisted for sale using `unlistDomain`. There is (deliberately) no way to recover ownership in ENS once the name is transferred to this registrar. * Critically, this contract does not check one key property of a listed domain: * - Is the name UTS46 normalised? * User applications MUST check these two elements for each domain before offering them to users for registration. * Applications should additionally check that the domains they are offering to register are controlled by this registrar, since calls to `register` will fail if this is not the case.\",\"methods\":{\"configureDomain(string,uint256,uint256)\":{\"details\":\"Configures a domain for sale.\",\"params\":{\"name\":\"The name to configure.\",\"price\":\"The price in wei to charge for subdomain registrations\",\"referralFeePPM\":\"The referral fee to offer, in parts per million\"}},\"configureDomainFor(string,uint256,uint256,address,address)\":{\"details\":\"Configures a domain, optionally transferring it to a new owner.\",\"params\":{\"_owner\":\"The address to assign ownership of this domain to.\",\"_transfer\":\"The address to set as the transfer address for the name when the permanent registrar is replaced. Can only be set to a non-zero value once.\",\"name\":\"The name to configure.\",\"price\":\"The price in wei to charge for subdomain registrations.\",\"referralFeePPM\":\"The referral fee to offer, in parts per million.\"}},\"migrate(string)\":{\"details\":\"Migrates the domain to a new registrar.\",\"params\":{\"name\":\"The name of the domain to migrate.\"}},\"owner(bytes32)\":{\"details\":\"owner returns the address of the account that controls a domain. Initially this is a null address. If the name has been transferred to this contract, then the internal mapping is consulted to determine who controls it. If the owner is not set, the previous owner of the deed is returned.\",\"params\":{\"label\":\"The label hash of the deed to check.\"},\"return\":\"The address owning the deed.\"},\"query(bytes32,string)\":{\"details\":\"Returns information about a subdomain.\",\"params\":{\"label\":\"The label hash for the domain.\",\"subdomain\":\"The label for the subdomain.\"},\"return\":\"domain The name of the domain, or an empty string if the subdomain is unavailable.price The price to register a subdomain, in wei.rent The rent to retain a subdomain, in wei per second.referralFeePPM The referral fee for the dapp, in ppm.\"},\"register(bytes32,string,address,address,address)\":{\"details\":\"Registers a subdomain.\",\"params\":{\"_subdomainOwner\":\"The account that should own the newly configured subdomain.\",\"label\":\"The label hash of the domain to register a subdomain of.\",\"referrer\":\"The address of the account to receive the referral fee.\",\"subdomain\":\"The desired subdomain label.\"}},\"setMigrationAddress(address)\":{\"details\":\"Sets the address where domains are migrated to.\",\"params\":{\"_migration\":\"Address of the new registrar.\"}},\"setResolver(string,address)\":{\"details\":\"Sets the resolver record for a name in ENS.\",\"params\":{\"name\":\"The name to set the resolver for.\",\"resolver\":\"The address of the resolver\"}},\"setTransferAddress(string,address)\":{\"details\":\"Sets the transfer address of a domain for after an ENS update.\",\"params\":{\"name\":\"The name for which to set the transfer address.\",\"transfer\":\"The address to transfer to.\"}},\"stop()\":{\"details\":\"Stops the registrar, disabling configuring of new domains.\"},\"transfer(string,address)\":{\"details\":\"Transfers internal control of a name to a new account. Does not update ENS.\",\"params\":{\"name\":\"The name to transfer.\",\"newOwner\":\"The address of the new owner.\"}},\"unlistDomain(string)\":{\"details\":\"Unlists a domain May only be called by the owner.\",\"params\":{\"name\":\"The name of the domain to unlist.\"}},\"upgrade(string)\":{\"details\":\"Upgrades the domain to a new registrar.\",\"params\":{\"name\":\"The name of the domain to transfer.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/SubdomainRegistrar.sol\":\"SubdomainRegistrar\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol\":{\"keccak256\":\"0x956a877538a83f7f4479a3e98d0918cfd1834440329780f67f0cd9ed399fb488\",\"urls\":[\"bzz-raw://47a2599288ae69dc111e7d32170e1aebb73e12747d85bd577e766772aed88577\",\"dweb:/ipfs/QmPXVqDeZXnYr9DW63YH4yDJVwMi7F38uEMTAnX5BTKH2A\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/RegistrarInterface.sol\":{\"keccak256\":\"0x32eb0addc992b12a37b1fa94a5666bd540037419a3c02d2ba7537b556503d810\",\"urls\":[\"bzz-raw://c7da50663daa8678c844584ca7cf45edc0cf8139686051e1aab079c94027bb10\",\"dweb:/ipfs/Qmd8s5aQg98KyXXn4tEqyFDnTozwRQEBChZxWvwEGu5QJi\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol\":{\"keccak256\":\"0x4da4417de1daf1d66ee092b3cae0aeee2b5c591bfe881b006f80d2c4e582b790\",\"urls\":[\"bzz-raw://8b0c70eef6d5b9d2d6cda5b0849e2d6336ad395616e90673e61c5a73be66c29c\",\"dweb:/ipfs/QmYZWJDsgw284zSRztKu8jT5yPLPU7ySh9i3agWsnRd9Zw\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/SubdomainRegistrar.sol\":{\"keccak256\":\"0x34d572518f335b44f503b57a63afdca154d3a8c7e7d91fd3e2a6ebce1a62e5a8\",\"urls\":[\"bzz-raw://26927637dde660aa411c74441410780b297eff212e314a3326531e5957b6fb4c\",\"dweb:/ipfs/QmTZwDoA3X4iX52feD8k7ipd3W9KmL7o4Mz3VpJaFygoBi\"]},\"@ensdomains/ens/contracts/Deed.sol\":{\"keccak256\":\"0x7b4abd2f65e2e093743077b899d0fb4952627ad7ff6104b840f9869f5baa5e96\",\"urls\":[\"bzz-raw://d72dc40eb83ded3cca64d6c1b9958f665f4cd61115fed4d32dfd62d0c6ded0fc\",\"dweb:/ipfs/Qmdkef7QyeJDF96ToptWRWroYYuD8XjCvrtxy46dA62iA2\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@ensdomains/ens/contracts/Registrar.sol\":{\"keccak256\":\"0xaef3f85ba0cf0544485d506a3f93719a90f8f28ef6c59f7175955768bec719bb\",\"urls\":[\"bzz-raw://fc1be7eec872590585a2dfbc0b3d0ef332444dd528ee75e96fb107f265ccc5e7\",\"dweb:/ipfs/QmUCo66Bpmic9rHjdjw2VrmmJ7c7Ma1oHJ2ZvbtctsDM6g\"]}},\"version\":1}", + "bytecode": "0x608060405260008060006101000a81548160ff0219169083151502179055503480156200002b57600080fd5b506040516200350738038062003507833981810160405260208110156200005157600080fd5b81019080805190602001909291905050508080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be37f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200013b57600080fd5b505afa15801562000150573d6000803e3d6000fd5b505050506040513d60208110156200016757600080fd5b8101908080519060200190929190505050600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506132fc806200020b6000396000f3fe6080604052600436106101405760003560e01c8063660b7ad5116100b6578063cf7752551161006f578063cf775255146109f0578063da1fe7d514610b0c578063dcccb41d14610be8578063e34e788914610cd0578063f2fde38b14610d98578063fbf58b3e14610de957610140565b8063660b7ad5146106bf578063733ccaba1461076357806375f12b211461084b57806396df35401461087a578063c9c5b5b4146108a5578063cb01a9bf1461096d57610140565b80631cb82d79116101085780631cb82d79146103685780632b20e397146103bf5780632eef3d65146104165780633f15457f146105345780634254b1551461058b5780634732a7dc1461066e57610140565b806301ffc9a71461014557806302571be3146101b757806307da68f5146102325780630da95761146102495780631705a3bd14610311575b600080fd5b34801561015157600080fd5b5061019d6004803603602081101561016857600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610ed1565b604051808215151515815260200191505060405180910390f35b3480156101c357600080fd5b506101f0600480360360208110156101da57600080fd5b8101908080359060200190929190505050610f33565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023e57600080fd5b50610247611130565b005b34801561025557600080fd5b5061030f6004803603602081101561026c57600080fd5b810190808035906020019064010000000081111561028957600080fd5b82018360208201111561029b57600080fd5b803590602001918460018302840111640100000000831117156102bd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111bf565b005b34801561031d57600080fd5b5061032661159b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037457600080fd5b5061037d6115c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103cb57600080fd5b506103d46115e7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561042257600080fd5b506104a46004803603604081101561043957600080fd5b81019080803590602001909291908035906020019064010000000081111561046057600080fd5b82018360208201111561047257600080fd5b8035906020019184600183028401116401000000008311171561049457600080fd5b909192939192939050505061160d565b6040518080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156104f65780820151818401526020810190506104db565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561054057600080fd5b506105496118a6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61066c600480360360a08110156105a157600080fd5b8101908080359060200190929190803590602001906401000000008111156105c857600080fd5b8201836020820111156105da57600080fd5b803590602001918460018302840111640100000000831117156105fc57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118cc565b005b34801561067a57600080fd5b506106bd6004803603602081101561069157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e00565b005b3480156106cb57600080fd5b5061074d600480360360408110156106e257600080fd5b81019080803590602001909291908035906020019064010000000081111561070957600080fd5b82018360208201111561071b57600080fd5b8035906020019184600183028401116401000000008311171561073d57600080fd5b9091929391929390505050611eb6565b6040518082815260200191505060405180910390f35b34801561076f57600080fd5b506108496004803603604081101561078657600080fd5b81019080803590602001906401000000008111156107a357600080fd5b8201836020820111156107b557600080fd5b803590602001918460018302840111640100000000831117156107d757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ee2565b005b34801561085757600080fd5b50610860612054565b604051808215151515815260200191505060405180910390f35b34801561088657600080fd5b5061088f612066565b6040518082815260200191505060405180910390f35b3480156108b157600080fd5b5061096b600480360360208110156108c857600080fd5b81019080803590602001906401000000008111156108e557600080fd5b8201836020820111156108f757600080fd5b8035906020019184600183028401116401000000008311171561091957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061208d565b005b6109ee6004803603604081101561098357600080fd5b8101908080359060200190929190803590602001906401000000008111156109aa57600080fd5b8201836020820111156109bc57600080fd5b803590602001918460018302840111640100000000831117156109de57600080fd5b9091929391929390505050612550565b005b3480156109fc57600080fd5b50610b0a600480360360a0811015610a1357600080fd5b8101908080359060200190640100000000811115610a3057600080fd5b820183602082011115610a4257600080fd5b80359060200191846001830284011164010000000083111715610a6457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612555565b005b348015610b1857600080fd5b50610be660048036036060811015610b2f57600080fd5b8101908080359060200190640100000000811115610b4c57600080fd5b820183602082011115610b5e57600080fd5b80359060200191846001830284011164010000000083111715610b8057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190505050612969565b005b348015610bf457600080fd5b50610cce60048036036040811015610c0b57600080fd5b8101908080359060200190640100000000811115610c2857600080fd5b820183602082011115610c3a57600080fd5b80359060200191846001830284011164010000000083111715610c5c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061297c565b005b348015610cdc57600080fd5b50610d9660048036036020811015610cf357600080fd5b8101908080359060200190640100000000811115610d1057600080fd5b820183602082011115610d2257600080fd5b80359060200191846001830284011164010000000083111715610d4457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612af2565b005b348015610da457600080fd5b50610de760048036036020811015610dbb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612bcc565b005b348015610df557600080fd5b50610ecf60048036036040811015610e0c57600080fd5b8101908080359060200190640100000000811115610e2957600080fd5b820183602082011115610e3b57600080fd5b80359060200191846001830284011164010000000083111715610e5d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c6a565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610f2c575063c1b15f5a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fdc576004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061112b565b6000610fe783612daa565b90503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561104657600080fd5b505afa15801561105a573d6000803e3d6000fd5b505050506040513d602081101561107057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146110a657600091505061112b565b8073ffffffffffffffffffffffffffffffffffffffff1663674f220f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110ec57600080fd5b505afa158015611100573d6000803e3d6000fd5b505050506040513d602081101561111657600080fd5b81019080805190602001909291905050509150505b919050565b6000809054906101000a900460ff161561114957600080fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111a357600080fd5b60016000806101000a81548160ff021916908315150217905550565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff166111e782610f33565b73ffffffffffffffffffffffffffffffffffffffff161461120757600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be37f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156112d657600080fd5b505afa1580156112ea573d6000803e3d6000fd5b505050506040513d602081101561130057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141561133257600080fd5b60008280519060200120905060006004600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113b357600080fd5b60046000838152602001908152602001600020600080820160006113d791906131da565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905560048201600090555050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379ce9fac83836040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50505050817f8c0dd32279c25300d82425bebe31a5c703918d83d2bb57a1155dfa6cbba61cf8856040518080602001828103825283818151815260200191508051906020019080838360005b8381101561155b578082015181840152602081019050611540565b50505050905090810190601f1680156115885780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000806000807f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b886040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600081888860405180838380828437808301925050509250505060405180910390206040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561174557600080fd5b505afa158015611759573d6000803e3d6000fd5b505050506040513d602081101561176f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146117cb576000806000604051806020016040528060008152509291908292508191508090509550955095509550505061189d565b6000600460008b8152602001908152602001600020905080600001816003015460008360040154838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118875780601f1061185c57610100808354040283529160200191611887565b820191906000526020600020905b81548152906001019060200180831161186a57829003601f168201915b5050505050935081915096509650965096505050505b93509350935093565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900460ff16156118e557600080fd5b600083905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b8860405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000878760405180838380828437808301925050509250505060405180910390209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be384846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614611a7757600080fd5b6000600460008b8152602001908152602001600020905089816000016040516020018082805460018160011615610100020316600290048015611af15780601f10611acf576101008083540402835291820191611af1565b820191906000526020600020905b815481529060010190602001808311611add575b50509150506040516020818303038152906040528051906020012014611b1657600080fd5b8060030154341015611b2757600080fd5b8060030154341115611b81573373ffffffffffffffffffffffffffffffffffffffff166108fc826003015434039081150290604051600060405180830381858888f19350505050158015611b7f573d6000803e3d6000fd5b505b60008160030154905060008260030154836004015402118015611bd15750600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b8015611c2d57508160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15611c9b576000620f4240836004015484600301540281611c4a57fe5b0490508773ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c93573d6000803e3d6000fd5b508082039150505b6000811115611d10578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d0e573d6000803e3d6000fd5b505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611d49573394505b611d5584848789612e92565b8673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168c7ffa38f9920801763ca6e4ee19135fb26a4fa11c0a34f7117455064991a1a3e6588d8d876003015460405180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a45050505050505050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e5a57600080fd5b6000809054906101000a900460ff16611e7257600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90509392505050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff16611f0a82610f33565b73ffffffffffffffffffffffffffffffffffffffff1614611f2a57600080fd5b60008380519060200120905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82866040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561203557600080fd5b505af1158015612049573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900460ff1681565b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b81565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff166120b582610f33565b73ffffffffffffffffffffffffffffffffffffffff16146120d557600080fd5b6000809054906101000a900460ff166120ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561214957600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379ce9fac83600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561223757600080fd5b505af115801561224b573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf77525582600001836003015484600401548560010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168660020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040180806020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156123ed5780601f106123c2576101008083540402835291602001916123ed565b820191906000526020600020905b8154815290600101906020018083116123d057829003601f168201915b50509650505050505050600060405180830381600087803b15801561241157600080fd5b505af1158015612425573d6000803e3d6000fd5b50505050600460008381526020019081526020016000206000808201600061244d91906131da565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905560048201600090555050817f8c0dd32279c25300d82425bebe31a5c703918d83d2bb57a1155dfa6cbba61cf8856040518080602001828103825283818151815260200191508051906020019080838360005b838110156125105780820151818401526020810190506124f5565b50505050905090810190601f16801561253d5780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050565b600080fd5b84805190602001203373ffffffffffffffffffffffffffffffffffffffff1661257d82610f33565b73ffffffffffffffffffffffffffffffffffffffff161461259d57600080fd5b6000868051906020012090506000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061264b5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b806126a557508373ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6126ae57600080fd5b8473ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461274957848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b818160000160405160200180828054600181600116156101000203166002900480156127ac5780601f1061278a5761010080835404028352918201916127ac565b820191906000526020600020905b815481529060010190602001808311612798575b505091505060405160208183030381529060405280519060200120146127e657878160000190805190602001906127e4929190613222565b505b8681600301819055508581600401819055508373ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156128855750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561293257838160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550817f2d7de2863f470ffa77d12170d4a38ab17226373c6d1d81d1cc75defe123e45fe85604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b817f1427993bb6b6c16d8953c450c37078c8f41196e2e2db1619cda06620143e2d9160405160405180910390a25050505050505050565b612977838383336000612555565b505050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff166129a482610f33565b73ffffffffffffffffffffffffffffffffffffffff16146129c457600080fd5b6000838051906020012090506000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a4457600080fd5b838160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550817f2d7de2863f470ffa77d12170d4a38ab17226373c6d1d81d1cc75defe123e45fe85604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25050505050565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff16612b1a82610f33565b73ffffffffffffffffffffffffffffffffffffffff1614612b3a57600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050817f77f7b610de5055c8f704e6a3b12874468f5785f3a7d1007b67a8a4b4c7ed88fc60405160405180910390a260405180602001604052806000815250816000019080519060200190612bb1929190613222565b50600081600301819055506000816004018190555050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612c2657600080fd5b80600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff16612c9282610f33565b73ffffffffffffffffffffffffffffffffffffffff1614612cb257600080fd5b6000838051906020012090508273ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16827f06e9c07310f63759634ddbb7257dbb19ca404f90bd6bdef1d3386fab033cebce60405160405180910390a4826004600083815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267b6922846040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b158015612e2057600080fd5b505afa158015612e34573d6000803e3d6000fd5b505050506040513d60a0811015612e4a57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505050505091505080915050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59238585306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015612f4357600080fd5b505af1158015612f57573d6000803e3d6000fd5b505050506040513d6020811015612f6d57600080fd5b810190808051906020019092919050505050600084846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82846040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561305b57600080fd5b505af115801561306f573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663d5fa2b0082856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156130fa57600080fd5b505af115801561310e573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156131bb57600080fd5b505af11580156131cf573d6000803e3d6000fd5b505050505050505050565b50805460018160011615610100020316600290046000825580601f10613200575061321f565b601f01602090049060005260206000209081019061321e91906132a2565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061326357805160ff1916838001178555613291565b82800160010185558215613291579182015b82811115613290578251825591602001919060010190613275565b5b50905061329e91906132a2565b5090565b6132c491905b808211156132c05760008160009055506001016132a8565b5090565b9056fea265627a7a72315820a5bd168dcf9bc8b6c58fb15e7e8c5ba6377f1ffaa9514a1cc63ff63333cc3f2264736f6c63430005100032", + "deployedBytecode": "0x6080604052600436106101405760003560e01c8063660b7ad5116100b6578063cf7752551161006f578063cf775255146109f0578063da1fe7d514610b0c578063dcccb41d14610be8578063e34e788914610cd0578063f2fde38b14610d98578063fbf58b3e14610de957610140565b8063660b7ad5146106bf578063733ccaba1461076357806375f12b211461084b57806396df35401461087a578063c9c5b5b4146108a5578063cb01a9bf1461096d57610140565b80631cb82d79116101085780631cb82d79146103685780632b20e397146103bf5780632eef3d65146104165780633f15457f146105345780634254b1551461058b5780634732a7dc1461066e57610140565b806301ffc9a71461014557806302571be3146101b757806307da68f5146102325780630da95761146102495780631705a3bd14610311575b600080fd5b34801561015157600080fd5b5061019d6004803603602081101561016857600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610ed1565b604051808215151515815260200191505060405180910390f35b3480156101c357600080fd5b506101f0600480360360208110156101da57600080fd5b8101908080359060200190929190505050610f33565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023e57600080fd5b50610247611130565b005b34801561025557600080fd5b5061030f6004803603602081101561026c57600080fd5b810190808035906020019064010000000081111561028957600080fd5b82018360208201111561029b57600080fd5b803590602001918460018302840111640100000000831117156102bd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111bf565b005b34801561031d57600080fd5b5061032661159b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037457600080fd5b5061037d6115c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103cb57600080fd5b506103d46115e7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561042257600080fd5b506104a46004803603604081101561043957600080fd5b81019080803590602001909291908035906020019064010000000081111561046057600080fd5b82018360208201111561047257600080fd5b8035906020019184600183028401116401000000008311171561049457600080fd5b909192939192939050505061160d565b6040518080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156104f65780820151818401526020810190506104db565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561054057600080fd5b506105496118a6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61066c600480360360a08110156105a157600080fd5b8101908080359060200190929190803590602001906401000000008111156105c857600080fd5b8201836020820111156105da57600080fd5b803590602001918460018302840111640100000000831117156105fc57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118cc565b005b34801561067a57600080fd5b506106bd6004803603602081101561069157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e00565b005b3480156106cb57600080fd5b5061074d600480360360408110156106e257600080fd5b81019080803590602001909291908035906020019064010000000081111561070957600080fd5b82018360208201111561071b57600080fd5b8035906020019184600183028401116401000000008311171561073d57600080fd5b9091929391929390505050611eb6565b6040518082815260200191505060405180910390f35b34801561076f57600080fd5b506108496004803603604081101561078657600080fd5b81019080803590602001906401000000008111156107a357600080fd5b8201836020820111156107b557600080fd5b803590602001918460018302840111640100000000831117156107d757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ee2565b005b34801561085757600080fd5b50610860612054565b604051808215151515815260200191505060405180910390f35b34801561088657600080fd5b5061088f612066565b6040518082815260200191505060405180910390f35b3480156108b157600080fd5b5061096b600480360360208110156108c857600080fd5b81019080803590602001906401000000008111156108e557600080fd5b8201836020820111156108f757600080fd5b8035906020019184600183028401116401000000008311171561091957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061208d565b005b6109ee6004803603604081101561098357600080fd5b8101908080359060200190929190803590602001906401000000008111156109aa57600080fd5b8201836020820111156109bc57600080fd5b803590602001918460018302840111640100000000831117156109de57600080fd5b9091929391929390505050612550565b005b3480156109fc57600080fd5b50610b0a600480360360a0811015610a1357600080fd5b8101908080359060200190640100000000811115610a3057600080fd5b820183602082011115610a4257600080fd5b80359060200191846001830284011164010000000083111715610a6457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612555565b005b348015610b1857600080fd5b50610be660048036036060811015610b2f57600080fd5b8101908080359060200190640100000000811115610b4c57600080fd5b820183602082011115610b5e57600080fd5b80359060200191846001830284011164010000000083111715610b8057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190505050612969565b005b348015610bf457600080fd5b50610cce60048036036040811015610c0b57600080fd5b8101908080359060200190640100000000811115610c2857600080fd5b820183602082011115610c3a57600080fd5b80359060200191846001830284011164010000000083111715610c5c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061297c565b005b348015610cdc57600080fd5b50610d9660048036036020811015610cf357600080fd5b8101908080359060200190640100000000811115610d1057600080fd5b820183602082011115610d2257600080fd5b80359060200191846001830284011164010000000083111715610d4457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612af2565b005b348015610da457600080fd5b50610de760048036036020811015610dbb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612bcc565b005b348015610df557600080fd5b50610ecf60048036036040811015610e0c57600080fd5b8101908080359060200190640100000000811115610e2957600080fd5b820183602082011115610e3b57600080fd5b80359060200191846001830284011164010000000083111715610e5d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c6a565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610f2c575063c1b15f5a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fdc576004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061112b565b6000610fe783612daa565b90503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561104657600080fd5b505afa15801561105a573d6000803e3d6000fd5b505050506040513d602081101561107057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146110a657600091505061112b565b8073ffffffffffffffffffffffffffffffffffffffff1663674f220f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110ec57600080fd5b505afa158015611100573d6000803e3d6000fd5b505050506040513d602081101561111657600080fd5b81019080805190602001909291905050509150505b919050565b6000809054906101000a900460ff161561114957600080fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111a357600080fd5b60016000806101000a81548160ff021916908315150217905550565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff166111e782610f33565b73ffffffffffffffffffffffffffffffffffffffff161461120757600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be37f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156112d657600080fd5b505afa1580156112ea573d6000803e3d6000fd5b505050506040513d602081101561130057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141561133257600080fd5b60008280519060200120905060006004600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113b357600080fd5b60046000838152602001908152602001600020600080820160006113d791906131da565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905560048201600090555050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379ce9fac83836040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50505050817f8c0dd32279c25300d82425bebe31a5c703918d83d2bb57a1155dfa6cbba61cf8856040518080602001828103825283818151815260200191508051906020019080838360005b8381101561155b578082015181840152602081019050611540565b50505050905090810190601f1680156115885780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000806000807f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b886040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600081888860405180838380828437808301925050509250505060405180910390206040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561174557600080fd5b505afa158015611759573d6000803e3d6000fd5b505050506040513d602081101561176f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146117cb576000806000604051806020016040528060008152509291908292508191508090509550955095509550505061189d565b6000600460008b8152602001908152602001600020905080600001816003015460008360040154838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118875780601f1061185c57610100808354040283529160200191611887565b820191906000526020600020905b81548152906001019060200180831161186a57829003601f168201915b5050505050935081915096509650965096505050505b93509350935093565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900460ff16156118e557600080fd5b600083905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b8860405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000878760405180838380828437808301925050509250505060405180910390209050600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be384846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614611a7757600080fd5b6000600460008b8152602001908152602001600020905089816000016040516020018082805460018160011615610100020316600290048015611af15780601f10611acf576101008083540402835291820191611af1565b820191906000526020600020905b815481529060010190602001808311611add575b50509150506040516020818303038152906040528051906020012014611b1657600080fd5b8060030154341015611b2757600080fd5b8060030154341115611b81573373ffffffffffffffffffffffffffffffffffffffff166108fc826003015434039081150290604051600060405180830381858888f19350505050158015611b7f573d6000803e3d6000fd5b505b60008160030154905060008260030154836004015402118015611bd15750600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b8015611c2d57508160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15611c9b576000620f4240836004015484600301540281611c4a57fe5b0490508773ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c93573d6000803e3d6000fd5b508082039150505b6000811115611d10578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d0e573d6000803e3d6000fd5b505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611d49573394505b611d5584848789612e92565b8673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168c7ffa38f9920801763ca6e4ee19135fb26a4fa11c0a34f7117455064991a1a3e6588d8d876003015460405180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a45050505050505050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e5a57600080fd5b6000809054906101000a900460ff16611e7257600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90509392505050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff16611f0a82610f33565b73ffffffffffffffffffffffffffffffffffffffff1614611f2a57600080fd5b60008380519060200120905060007f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82866040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561203557600080fd5b505af1158015612049573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900460ff1681565b7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60001b81565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff166120b582610f33565b73ffffffffffffffffffffffffffffffffffffffff16146120d557600080fd5b6000809054906101000a900460ff166120ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561214957600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379ce9fac83600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561223757600080fd5b505af115801561224b573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf77525582600001836003015484600401548560010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168660020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040180806020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156123ed5780601f106123c2576101008083540402835291602001916123ed565b820191906000526020600020905b8154815290600101906020018083116123d057829003601f168201915b50509650505050505050600060405180830381600087803b15801561241157600080fd5b505af1158015612425573d6000803e3d6000fd5b50505050600460008381526020019081526020016000206000808201600061244d91906131da565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905560048201600090555050817f8c0dd32279c25300d82425bebe31a5c703918d83d2bb57a1155dfa6cbba61cf8856040518080602001828103825283818151815260200191508051906020019080838360005b838110156125105780820151818401526020810190506124f5565b50505050905090810190601f16801561253d5780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050565b600080fd5b84805190602001203373ffffffffffffffffffffffffffffffffffffffff1661257d82610f33565b73ffffffffffffffffffffffffffffffffffffffff161461259d57600080fd5b6000868051906020012090506000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061264b5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b806126a557508373ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6126ae57600080fd5b8473ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461274957848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b818160000160405160200180828054600181600116156101000203166002900480156127ac5780601f1061278a5761010080835404028352918201916127ac565b820191906000526020600020905b815481529060010190602001808311612798575b505091505060405160208183030381529060405280519060200120146127e657878160000190805190602001906127e4929190613222565b505b8681600301819055508581600401819055508373ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156128855750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561293257838160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550817f2d7de2863f470ffa77d12170d4a38ab17226373c6d1d81d1cc75defe123e45fe85604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b817f1427993bb6b6c16d8953c450c37078c8f41196e2e2db1619cda06620143e2d9160405160405180910390a25050505050505050565b612977838383336000612555565b505050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff166129a482610f33565b73ffffffffffffffffffffffffffffffffffffffff16146129c457600080fd5b6000838051906020012090506000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a4457600080fd5b838160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550817f2d7de2863f470ffa77d12170d4a38ab17226373c6d1d81d1cc75defe123e45fe85604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25050505050565b80805190602001203373ffffffffffffffffffffffffffffffffffffffff16612b1a82610f33565b73ffffffffffffffffffffffffffffffffffffffff1614612b3a57600080fd5b6000828051906020012090506000600460008381526020019081526020016000209050817f77f7b610de5055c8f704e6a3b12874468f5785f3a7d1007b67a8a4b4c7ed88fc60405160405180910390a260405180602001604052806000815250816000019080519060200190612bb1929190613222565b50600081600301819055506000816004018190555050505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612c2657600080fd5b80600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81805190602001203373ffffffffffffffffffffffffffffffffffffffff16612c9282610f33565b73ffffffffffffffffffffffffffffffffffffffff1614612cb257600080fd5b6000838051906020012090508273ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16827f06e9c07310f63759634ddbb7257dbb19ca404f90bd6bdef1d3386fab033cebce60405160405180910390a4826004600083815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663267b6922846040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b158015612e2057600080fd5b505afa158015612e34573d6000803e3d6000fd5b505050506040513d60a0811015612e4a57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505050505091505080915050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59238585306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015612f4357600080fd5b505af1158015612f57573d6000803e3d6000fd5b505050506040513d6020811015612f6d57600080fd5b810190808051906020019092919050505050600084846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a82846040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561305b57600080fd5b505af115801561306f573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663d5fa2b0082856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156130fa57600080fd5b505af115801561310e573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156131bb57600080fd5b505af11580156131cf573d6000803e3d6000fd5b505050505050505050565b50805460018160011615610100020316600290046000825580601f10613200575061321f565b601f01602090049060005260206000209081019061321e91906132a2565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061326357805160ff1916838001178555613291565b82800160010185558215613291579182015b82811115613290578251825591602001919060010190613275565b5b50905061329e91906132a2565b5090565b6132c491905b808211156132c05760008160009055506001016132a8565b5090565b9056fea265627a7a72315820a5bd168dcf9bc8b6c58fb15e7e8c5ba6377f1ffaa9514a1cc63ff63333cc3f2264736f6c63430005100032", + "sourceMap": "1532:9062:7:-;;;348:5:0;326:27;;;;;;;;;;;;;;;;;;;;1977:63:7;8:9:-1;5:2;;;30:1;27;20:12;5:2;1977:63:7;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1977:63:7;;;;;;;;;;;;;;;;2025:3;869:4:0;863:3;;:10;;;;;;;;;;;;;;;;;;895:3;;;;;;;;;;;:9;;;253:66;905:8;;895:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;895:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;895:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;895:19:0;;;;;;;;;;;;;;;;883:9;;:31;;;;;;;;;;;;;;;;;;941:10;924:14;;:27;;;;;;;;;;;;;;;;;;824:134;1977:63:7;1532:9062;;;;;;", + "deployedSourceMap": "1532:9062:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1568:243:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1568:243:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1568:243:0;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2511:348:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2511:348:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2511:348:7;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2979:87:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2979:87:0;;;:::i;:::-;;9147:405:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9147:405:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9147:405:7;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;9147:405:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9147:405:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9147:405:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9147:405:7;;;;;;;;;;;;;;;:::i;:::-;;394:24:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;394:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;359:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;359:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;425:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;425:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6467:518:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6467:518:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6467:518:7;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6467:518:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6467:518:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6467:518:7;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6467:518:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;456:14:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;456:14:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7341:1677:7;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7341:1677:7;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7341:1677:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7341:1677:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7341:1677:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3203:142:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3203:142:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3203:142:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1817:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1817:188:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1817:188:0;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1817:188:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1817:188:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1817:188:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2187:266;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2187:266:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2187:266:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2187:266:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2187:266:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2187:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2187:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;326:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;326:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;218:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;218:101:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9680:626:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9680:626:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9680:626:7;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;9680:626:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9680:626:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9680:626:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9680:626:7;;;;;;;;;;;;;;;:::i;:::-;;10312:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10312:101:7;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;10312:101:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10312:101:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10312:101:7;;;;;;;;;;;;:::i;:::-;;3901:1032;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3901:1032:7;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3901:1032:7;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3901:1032:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3901:1032:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3901:1032:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3901:1032:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2711:175:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2711:175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2711:175:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2711:175:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2711:175:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2711:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2711:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5148:363:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5148:363:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5148:363:7;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5148:363:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5148:363:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5148:363:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5148:363:7;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5655:311;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5655:311:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5655:311:7;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5655:311:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5655:311:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5655:311:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5655:311:7;;;;;;;;;;;;;;;:::i;:::-;;3351:115:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3351:115:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3351:115:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3075:268:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3075:268:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3075:268:7;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3075:268:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3075:268:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3075:268:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3075:268:7;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1568:243:0;1636:4;1689:10;1674:25;;:11;:25;;;;1673:99;;;;1761:10;1746:25;;:11;:25;;;;1673:99;1652:152;;1568:243;;;:::o;2511:348:7:-;2562:7;2617:3;2585:36;;:7;:14;2593:5;2585:14;;;;;;;;;;;:20;;;;;;;;;;;;:36;;;2581:94;;2644:7;:14;2652:5;2644:14;;;;;;;;;;;:20;;;;;;;;;;;;2637:27;;;;2581:94;2685:15;2703:11;2708:5;2703:4;:11::i;:::-;2685:29;;2758:4;2728:35;;:10;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2728:18:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2728:18:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2728:18:7;;;;;;;;;;;;;;;;:35;;;2724:85;;2794:3;2779:19;;;;;2724:85;2826:10;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2826:26:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2826:26:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2826:26:7;;;;;;;;;;;;;;;;2819:33;;;2511:348;;;;:::o;2979:87:0:-;623:7;;;;;;;;;;;622:8;614:17;;;;;;719:14;;;;;;;;;;;705:28;;:10;:28;;;697:37;;;;;;3055:4;3045:7;;:14;;;;;;;;;;;;;;;;;;2979:87::o;9147:405:7:-;9218:4;9202:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;1832:9:7;;;;;;;;;;;1801:41;;:3;;;;;;;;;;;:9;;;253:66:0;1811:8:7;;1801:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1801:19:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1801:19:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1801:19:7;;;;;;;;;;;;;;;;:41;;;;1793:50;;;;;;9250:13;9282:4;9266:22;;;;;;9250:38;;9298:16;9317:7;:14;9325:5;9317:14;;;;;;;;;;;:30;;;;;;;;;;;;9298:49;;9386:3;9366:24;;:8;:24;;;;9358:33;;;;;;9409:7;:14;9417:5;9409:14;;;;;;;;;;;;9402:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9444:9;;;;;;;;;;;9434:29;;;9464:5;9488:8;9434:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9434:66:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9434:66:7;;;;9533:5;9515:30;9540:4;9515:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9515:30:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1853:1;;9147:405;;:::o;394:24:0:-;;;;;;;;;;;;;:::o;359:29::-;;;;;;;;;;;;;:::o;425:24::-;;;;;;;;;;;;;:::o;6467:518:7:-;6547:20;6569:10;6581:9;6592:19;6623:12;253:66:0;6665:8:7;;6675:5;6648:33;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6648:33:7;;;6638:44;;;;;;6623:59;;6692:15;6737:4;6759:9;;6743:27;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;6743:27:7;;;;;;;;;;;;;6720:51;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6720:51:7;;;6710:62;;;;;;6692:80;;6817:3;6787:34;;:3;;;;;;;;;;;:9;;;6797:7;6787:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6787:18:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6787:18:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6787:18:7;;;;;;;;;;;;;;;;:34;;;6783:85;;6849:1;6852;6855;6837:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6783:85;6878:19;6900:7;:14;6908:5;6900:14;;;;;;;;;;;6878:36;;6932:4;:9;;6943:4;:10;;;6955:1;6958:4;:19;;;6924:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6467:518;;;;;;;;:::o;456:14:0:-;;;;;;;;;;;;;:::o;7341:1677:7:-;623:7:0;;;;;;;;;;;622:8;614:17;;;;;;7509:22:7;7534:15;7509:40;;7559:18;253:66:0;7607:8:7;;7617:5;7590:33;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7590:33:7;;;7580:44;;;;;;7559:65;;7634:22;7675:9;;7659:27;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;7659:27:7;;;;;;;;;;;;;7634:52;;7836:1;7758:80;;:3;;;;;;;;;;;:9;;;7795:10;7807:14;7778:44;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7778:44:7;;;7768:55;;;;;;7758:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7758:66:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7758:66:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7758:66:7;;;;;;;;;;;;;;;;:80;;;7750:89;;;;;;7850:21;7874:7;:14;7882:5;7874:14;;;;;;;;;;;7850:38;;8004:5;7987:6;:11;;7970:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7970:29:7;;;7960:40;;;;;;:49;7952:58;;;;;;8080:6;:12;;;8067:9;:25;;8059:34;;;;;;8151:6;:12;;;8139:9;:24;8135:100;;;8179:10;:19;;:45;8211:6;:12;;;8199:9;:24;8179:45;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8179:45:7;8135:100;8278:13;8294:6;:12;;;8278:28;;8359:1;8344:6;:12;;;8320:6;:21;;;:36;:40;:68;;;;;8384:3;8364:24;;:8;:24;;;;8320:68;:96;;;;;8404:6;:12;;;;;;;;;;;;8392:24;;:8;:24;;;;8320:96;8316:275;;;8432:19;8495:7;8470:6;:21;;;8455:6;:12;;;:36;8454:48;;;;;;8432:70;;8516:8;:17;;:30;8534:11;8516:30;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8516:30:7;8569:11;8560:20;;;;8316:275;;8650:1;8642:5;:9;8638:68;;;8667:6;:12;;;;;;;;;;;;:21;;:28;8689:5;8667:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8667:28:7;8638:68;8777:3;8751:30;;:14;:30;;;8747:88;;;8814:10;8797:27;;8747:88;8844:78;8859:10;8871:14;8887;8912:8;8844:14;:78::i;:::-;8988:8;8938:73;;8972:14;8938:73;;8954:5;8938:73;8961:9;;8998:6;:12;;;8938:73;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;8938:73:7;;;;;;;;;;;;;;;641:1:0;;;;;7341:1677:7;;;;;;:::o;3203:142:0:-;719:14;;;;;;;;;;;705:28;;:10;:28;;;697:37;;;;;;3298:7;;;;;;;;;;;3290:16;;;;;;3328:10;3316:9;;:22;;;;;;;;;;;;;;;;;;3203:142;:::o;1817:188::-;1899:14;1932:66;1925:73;;1817:188;;;;;:::o;2187:266::-;2280:4;2264:22;;;;;;546:10;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;2298:13;2330:4;2314:22;;;;;;2298:38;;2346:12;253:66;2388:8;;2398:5;2371:33;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2371:33:0;;;2361:44;;;;;;2346:59;;2415:3;;;;;;;;;;;:15;;;2431:4;2437:8;2415:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2415:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2415:31:0;;;;567:1;;2187:266;;;:::o;326:27::-;;;;;;;;;;;;;:::o;218:101::-;253:66;218:101;;;:::o;9680:626:7:-;9751:4;9735:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;9777:7:7;;;;;;;;;;;9769:16;;;;;;9824:3;9803:25;;:9;;;;;;;;;;;:25;;;;9795:34;;;;;;9840:13;9872:4;9856:22;;;;;;9840:38;;9888:21;9912:7;:14;9920:5;9912:14;;;;;;;;;;;9888:38;;9947:9;;;;;;;;;;;9937:29;;;9967:5;9991:9;;;;;;;;;;;9937:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9937:67:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9937:67:7;;;;10034:9;;;;;;;;;;;10015:48;;;10077:6;:11;;10102:6;:12;;;10128:6;:21;;;10163:6;:12;;;;;;;;;;;;10189:6;:22;;;;;;;;;;;;10015:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10015:206:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10015:206:7;;;;10239:7;:14;10247:5;10239:14;;;;;;;;;;;;10232:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10287:5;10269:30;10294:4;10269:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10269:30:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;567:1:0;;9680:626:7;;:::o;10312:101::-;10398:8;;;3901:1032;4059:4;4043:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;4077:13:7;4109:4;4093:22;;;;;;4077:38;;4125:21;4149:7;:14;4157:5;4149:14;;;;;;;;;;;4125:38;;4322:3;4288:38;;:6;:22;;;;;;;;;;;;:38;;;:67;;;;4351:3;4330:25;;:9;:25;;;4288:67;:106;;;;4385:9;4359:35;;:6;:22;;;;;;;;;;;;:35;;;4288:106;4280:115;;;;;;4426:6;4410:22;;:6;:12;;;;;;;;;;;;:22;;;4406:74;;4463:6;4448;:12;;;:21;;;;;;;;;;;;;;;;;;4406:74;4538:5;4521:6;:11;;4504:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4504:29:7;;;4494:40;;;;;;:49;4490:125;;4600:4;4586:6;:11;;:18;;;;;;;;;;;;:::i;:::-;;4490:125;4640:5;4625:6;:12;;:20;;;;4679:14;4655:6;:21;;:38;;;;4734:9;4708:35;;:6;:22;;;;;;;;;;;;:35;;;;:64;;;;;4768:3;4747:25;;:9;:25;;;;4708:64;4704:184;;;4813:9;4788:6;:22;;;:34;;;;;;;;;;;;;;;;;;4860:5;4841:36;4867:9;4841:36;;;;;;;;;;;;;;;;;;;;;;4704:184;4920:5;4903:23;;;;;;;;;;567:1:0;;3901:1032:7;;;;;;:::o;2711:175:0:-;2806:73;2825:4;2831:5;2838:14;2854:10;2874:3;2806:18;:73::i;:::-;2711:175;;;:::o;5148:363:7:-;5248:4;5232:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;5266:13:7;5298:4;5282:22;;;;;;5266:38;;5314:21;5338:7;:14;5346:5;5338:14;;;;;;;;;;;5314:38;;5405:3;5371:38;;:6;:22;;;;;;;;;;;;:38;;;5363:47;;;;;;5446:8;5421:6;:22;;;:33;;;;;;;;;;;;;;;;;;5488:5;5469:35;5495:8;5469:35;;;;;;;;;;;;;;;;;;;;;;567:1:0;;5148:363:7;;;:::o;5655:311::-;5731:4;5715:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;5749:13:7;5781:4;5765:22;;;;;;5749:38;;5797:21;5821:7;:14;5829:5;5821:14;;;;;;;;;;;5797:38;;5865:5;5850:21;;;;;;;;;;5882:16;;;;;;;;;;;;:6;:11;;:16;;;;;;;;;;;;:::i;:::-;;5923:1;5908:6;:12;;:16;;;;5958:1;5934:6;:21;;:25;;;;567:1:0;;5655:311:7;;:::o;3351:115:0:-;719:14;;;;;;;;;;;705:28;;:10;:28;;;697:37;;;;;;3451:8;3434:14;;:25;;;;;;;;;;;;;;;;;;3351:115;:::o;3075:268:7:-;3173:4;3157:22;;;;;;546:10:0;530:26;;:12;536:5;530;:12::i;:::-;:26;;;522:35;;;;;;3191:13:7;3223:4;3207:22;;;;;;3191:38;;3286:8;3244:51;;3264:7;:14;3272:5;3264:14;;;;;;;;;;;:20;;;;;;;;;;;;3244:51;;3257:5;3244:51;;;;;;;;;;3328:8;3305:7;:14;3313:5;3305:14;;;;;;;;;;;:20;;;:31;;;;;;;;;;;;;;;;;;567:1:0;3075:268:7;;;:::o;10419:173::-;10471:4;10490:19;10526:9;;;;;;;;;;;10516:28;;;10545:5;10516:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10516:35:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10516:35:7;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10516:35:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10487:64;;;;;;10573:11;10561:24;;;10419:173;;;:::o;964:598:0:-;1131:3;;;;;;;;;;;:19;;;1151:4;1157:5;1172:4;1131:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1131:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1131:47:0;;;;;;;;;;;;;;;;;1189:15;1234:4;1240:5;1217:29;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1217:29:0;;;1207:40;;;;;;1189:58;;1297:3;;;;;;;;;;;:15;;;1313:7;1330:8;1297:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1297:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1297:43:0;;;;1401:8;:16;;;1418:7;1427:14;1401:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1401:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1401:41:0;;;;1518:3;;;;;;;;;;;:12;;;1531:7;1540:14;1518:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1518:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1518:37:0;;;;964:598;;;;;:::o;1532:9062:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"./AbstractSubdomainRegistrar.sol\";\nimport \"@ensdomains/ens/contracts/Deed.sol\";\nimport \"@ensdomains/ens/contracts/Registrar.sol\";\n\n/**\n * @dev Implements an ENS registrar that sells subdomains on behalf of their owners.\n *\n * Users may register a subdomain by calling `register` with the name of the domain\n * they wish to register under, and the label hash of the subdomain they want to\n * register. They must also specify the new owner of the domain, and the referrer,\n * who is paid an optional finder's fee. The registrar then configures a simple\n * default resolver, which resolves `addr` lookups to the new owner, and sets\n * the `owner` account as the owner of the subdomain in ENS.\n *\n * New domains may be added by calling `configureDomain`, then transferring\n * ownership in the ENS registry to this contract. Ownership in the contract\n * may be transferred using `transfer`, and a domain may be unlisted for sale\n * using `unlistDomain`. There is (deliberately) no way to recover ownership\n * in ENS once the name is transferred to this registrar.\n *\n * Critically, this contract does not check one key property of a listed domain:\n *\n * - Is the name UTS46 normalised?\n *\n * User applications MUST check these two elements for each domain before\n * offering them to users for registration.\n *\n * Applications should additionally check that the domains they are offering to\n * register are controlled by this registrar, since calls to `register` will\n * fail if this is not the case.\n */\ncontract SubdomainRegistrar is AbstractSubdomainRegistrar {\n\n struct Domain {\n string name;\n address payable owner;\n address transferAddress;\n uint price;\n uint referralFeePPM;\n }\n\n modifier new_registrar() {\n require(ens.owner(TLD_NODE) != address(registrar));\n _;\n }\n\n mapping (bytes32 => Domain) domains;\n\n event TransferAddressSet(bytes32 indexed label, address addr);\n\n constructor(ENS ens) AbstractSubdomainRegistrar(ens) public { }\n\n /**\n * @dev owner returns the address of the account that controls a domain.\n * Initially this is a null address. If the name has been\n * transferred to this contract, then the internal mapping is consulted\n * to determine who controls it. If the owner is not set,\n * the previous owner of the deed is returned.\n * @param label The label hash of the deed to check.\n * @return The address owning the deed.\n */\n function owner(bytes32 label) public view returns (address) {\n if (domains[label].owner != address(0x0)) {\n return domains[label].owner;\n }\n\n Deed domainDeed = deed(label);\n if (domainDeed.owner() != address(this)) {\n return address(0x0);\n }\n\n return domainDeed.previousOwner();\n }\n\n /**\n * @dev Transfers internal control of a name to a new account. Does not update\n * ENS.\n * @param name The name to transfer.\n * @param newOwner The address of the new owner.\n */\n function transfer(string memory name, address payable newOwner) public owner_only(keccak256(bytes(name))) {\n bytes32 label = keccak256(bytes(name));\n emit OwnerChanged(label, domains[label].owner, newOwner);\n domains[label].owner = newOwner;\n }\n\n /**\n * @dev Configures a domain, optionally transferring it to a new owner.\n * @param name The name to configure.\n * @param price The price in wei to charge for subdomain registrations.\n * @param referralFeePPM The referral fee to offer, in parts per million.\n * @param _owner The address to assign ownership of this domain to.\n * @param _transfer The address to set as the transfer address for the name\n * when the permanent registrar is replaced. Can only be set to a non-zero\n * value once.\n */\n function configureDomainFor(string memory name, uint price, uint referralFeePPM, address payable _owner, address _transfer) public owner_only(keccak256(bytes(name))) {\n bytes32 label = keccak256(bytes(name));\n Domain storage domain = domains[label];\n\n // Don't allow changing the transfer address once set. Treat 0 as \"don't change\" for convenience.\n require(domain.transferAddress == address(0x0) || _transfer == address(0x0) || domain.transferAddress == _transfer);\n\n if (domain.owner != _owner) {\n domain.owner = _owner;\n }\n\n if (keccak256(abi.encodePacked(domain.name)) != label) {\n // New listing\n domain.name = name;\n }\n\n domain.price = price;\n domain.referralFeePPM = referralFeePPM;\n\n if (domain.transferAddress != _transfer && _transfer != address(0x0)) {\n domain.transferAddress = _transfer;\n emit TransferAddressSet(label, _transfer);\n }\n\n emit DomainConfigured(label);\n }\n\n /**\n * @dev Sets the transfer address of a domain for after an ENS update.\n * @param name The name for which to set the transfer address.\n * @param transfer The address to transfer to.\n */\n function setTransferAddress(string memory name, address transfer) public owner_only(keccak256(bytes(name))) {\n bytes32 label = keccak256(bytes(name));\n Domain storage domain = domains[label];\n\n require(domain.transferAddress == address(0x0));\n\n domain.transferAddress = transfer;\n emit TransferAddressSet(label, transfer);\n }\n\n /**\n * @dev Unlists a domain\n * May only be called by the owner.\n * @param name The name of the domain to unlist.\n */\n function unlistDomain(string memory name) public owner_only(keccak256(bytes(name))) {\n bytes32 label = keccak256(bytes(name));\n Domain storage domain = domains[label];\n emit DomainUnlisted(label);\n\n domain.name = '';\n domain.price = 0;\n domain.referralFeePPM = 0;\n }\n\n /**\n * @dev Returns information about a subdomain.\n * @param label The label hash for the domain.\n * @param subdomain The label for the subdomain.\n * @return domain The name of the domain, or an empty string if the subdomain\n * is unavailable.\n * @return price The price to register a subdomain, in wei.\n * @return rent The rent to retain a subdomain, in wei per second.\n * @return referralFeePPM The referral fee for the dapp, in ppm.\n */\n function query(bytes32 label, string calldata subdomain) external view returns (string memory domain, uint price, uint rent, uint referralFeePPM) {\n bytes32 node = keccak256(abi.encodePacked(TLD_NODE, label));\n bytes32 subnode = keccak256(abi.encodePacked(node, keccak256(bytes(subdomain))));\n\n if (ens.owner(subnode) != address(0x0)) {\n return ('', 0, 0, 0);\n }\n\n Domain storage data = domains[label];\n return (data.name, data.price, 0, data.referralFeePPM);\n }\n\n /**\n * @dev Registers a subdomain.\n * @param label The label hash of the domain to register a subdomain of.\n * @param subdomain The desired subdomain label.\n * @param _subdomainOwner The account that should own the newly configured subdomain.\n * @param referrer The address of the account to receive the referral fee.\n */\n function register(bytes32 label, string calldata subdomain, address _subdomainOwner, address payable referrer, address resolver) external not_stopped payable {\n address subdomainOwner = _subdomainOwner;\n bytes32 domainNode = keccak256(abi.encodePacked(TLD_NODE, label));\n bytes32 subdomainLabel = keccak256(bytes(subdomain));\n\n // Subdomain must not be registered already.\n require(ens.owner(keccak256(abi.encodePacked(domainNode, subdomainLabel))) == address(0));\n\n Domain storage domain = domains[label];\n\n // Domain must be available for registration\n require(keccak256(abi.encodePacked(domain.name)) == label);\n\n // User must have paid enough\n require(msg.value >= domain.price);\n\n // Send any extra back\n if (msg.value > domain.price) {\n msg.sender.transfer(msg.value - domain.price);\n }\n\n // Send any referral fee\n uint256 total = domain.price;\n if (domain.referralFeePPM * domain.price > 0 && referrer != address(0x0) && referrer != domain.owner) {\n uint256 referralFee = (domain.price * domain.referralFeePPM) / 1000000;\n referrer.transfer(referralFee);\n total -= referralFee;\n }\n\n // Send the registration fee\n if (total > 0) {\n domain.owner.transfer(total);\n }\n\n // Register the domain\n if (subdomainOwner == address(0x0)) {\n subdomainOwner = msg.sender;\n }\n doRegistration(domainNode, subdomainLabel, subdomainOwner, Resolver(resolver));\n\n emit NewRegistration(label, subdomain, subdomainOwner, referrer, domain.price);\n }\n\n /**\n * @dev Upgrades the domain to a new registrar.\n * @param name The name of the domain to transfer.\n */\n function upgrade(string memory name) public owner_only(keccak256(bytes(name))) new_registrar {\n bytes32 label = keccak256(bytes(name));\n address transfer = domains[label].transferAddress;\n\n require(transfer != address(0x0));\n\n delete domains[label];\n\n Registrar(registrar).transfer(label, address(uint160((transfer))));\n emit DomainTransferred(label, name);\n }\n\n /**\n * @dev Migrates the domain to a new registrar.\n * @param name The name of the domain to migrate.\n */\n function migrate(string memory name) public owner_only(keccak256(bytes(name))) {\n require(stopped);\n require(migration != address(0x0));\n\n bytes32 label = keccak256(bytes(name));\n Domain storage domain = domains[label];\n\n Registrar(registrar).transfer(label, address(uint160((migration))));\n\n SubdomainRegistrar(migration).configureDomainFor(\n domain.name,\n domain.price,\n domain.referralFeePPM,\n domain.owner,\n domain.transferAddress\n );\n\n delete domains[label];\n\n emit DomainTransferred(label, name);\n }\n\n function payRent(bytes32 label, string calldata subdomain) external payable {\n revert();\n }\n\n function deed(bytes32 label) internal view returns (Deed) {\n (, address deedAddress,,,) = Registrar(registrar).entries(label);\n return Deed(deedAddress);\n }\n}\n", + "sourcePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/SubdomainRegistrar.sol", + "ast": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/SubdomainRegistrar.sol", + "exportedSymbols": { + "SubdomainRegistrar": [ + 2116 + ] + }, + "id": 2117, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1328, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:7" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol", + "file": "./AbstractSubdomainRegistrar.sol", + "id": 1329, + "nodeType": "ImportDirective", + "scope": 2117, + "sourceUnit": 307, + "src": "25:42:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Deed.sol", + "file": "@ensdomains/ens/contracts/Deed.sol", + "id": 1330, + "nodeType": "ImportDirective", + "scope": 2117, + "sourceUnit": 2228, + "src": "68:44:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Registrar.sol", + "file": "@ensdomains/ens/contracts/Registrar.sol", + "id": 1331, + "nodeType": "ImportDirective", + "scope": 2117, + "sourceUnit": 4776, + "src": "113:49:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1332, + "name": "AbstractSubdomainRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 306, + "src": "1563:26:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AbstractSubdomainRegistrar_$306", + "typeString": "contract AbstractSubdomainRegistrar" + } + }, + "id": 1333, + "nodeType": "InheritanceSpecifier", + "src": "1563:26:7" + } + ], + "contractDependencies": [ + 306, + 1159 + ], + "contractKind": "contract", + "documentation": "@dev Implements an ENS registrar that sells subdomains on behalf of their owners.\n * Users may register a subdomain by calling `register` with the name of the domain\nthey wish to register under, and the label hash of the subdomain they want to\nregister. They must also specify the new owner of the domain, and the referrer,\nwho is paid an optional finder's fee. The registrar then configures a simple\ndefault resolver, which resolves `addr` lookups to the new owner, and sets\nthe `owner` account as the owner of the subdomain in ENS.\n * New domains may be added by calling `configureDomain`, then transferring\nownership in the ENS registry to this contract. Ownership in the contract\nmay be transferred using `transfer`, and a domain may be unlisted for sale\nusing `unlistDomain`. There is (deliberately) no way to recover ownership\nin ENS once the name is transferred to this registrar.\n * Critically, this contract does not check one key property of a listed domain:\n * - Is the name UTS46 normalised?\n * User applications MUST check these two elements for each domain before\noffering them to users for registration.\n * Applications should additionally check that the domains they are offering to\nregister are controlled by this registrar, since calls to `register` will\nfail if this is not the case.", + "fullyImplemented": true, + "id": 2116, + "linearizedBaseContracts": [ + 2116, + 306, + 1159 + ], + "name": "SubdomainRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "SubdomainRegistrar.Domain", + "id": 1344, + "members": [ + { + "constant": false, + "id": 1335, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1344, + "src": "1621:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1334, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1621:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1337, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1344, + "src": "1642:21:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1336, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1642:15:7", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1339, + "name": "transferAddress", + "nodeType": "VariableDeclaration", + "scope": 1344, + "src": "1673:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1338, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1673:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1341, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1344, + "src": "1706:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1340, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1706:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1343, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 1344, + "src": "1726:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1342, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1726:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Domain", + "nodeType": "StructDefinition", + "scope": 2116, + "src": "1597:155:7", + "visibility": "public" + }, + { + "body": { + "id": 1358, + "nodeType": "Block", + "src": "1783:78:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1349, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "1811:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1347, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1801:3:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 1348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1801:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1801:19:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1352, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "1832:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1824:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1824:18:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1801:41:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1346, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1793:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1793:50:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1356, + "nodeType": "ExpressionStatement", + "src": "1793:50:7" + }, + { + "id": 1357, + "nodeType": "PlaceholderStatement", + "src": "1853:1:7" + } + ] + }, + "documentation": null, + "id": 1359, + "name": "new_registrar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1345, + "nodeType": "ParameterList", + "parameters": [], + "src": "1780:2:7" + }, + "src": "1758:103:7", + "visibility": "internal" + }, + { + "constant": false, + "id": 1363, + "name": "domains", + "nodeType": "VariableDeclaration", + "scope": 2116, + "src": "1867:35:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain)" + }, + "typeName": { + "id": 1362, + "keyType": { + "id": 1360, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1876:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1867:27:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain)" + }, + "valueType": { + "contractScope": null, + "id": 1361, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "1887:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": null, + "id": 1369, + "name": "TransferAddressSet", + "nodeType": "EventDefinition", + "parameters": { + "id": 1368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1365, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1369, + "src": "1934:21:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1364, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1934:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1367, + "indexed": false, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 1369, + "src": "1957:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1957:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1933:37:7" + }, + "src": "1909:62:7" + }, + { + "body": { + "id": 1377, + "nodeType": "Block", + "src": "2037:3:7", + "statements": [] + }, + "documentation": null, + "id": 1378, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1374, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "2025:3:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + } + ], + "id": 1375, + "modifierName": { + "argumentTypes": null, + "id": 1373, + "name": "AbstractSubdomainRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 306, + "src": "1998:26:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AbstractSubdomainRegistrar_$306_$", + "typeString": "type(contract AbstractSubdomainRegistrar)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1998:31:7" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1371, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 1378, + "src": "1989:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 1370, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1989:3:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1988:9:7" + }, + "returnParameters": { + "id": 1376, + "nodeType": "ParameterList", + "parameters": [], + "src": "2037:0:7" + }, + "scope": 2116, + "src": "1977:63:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1423, + "nodeType": "Block", + "src": "2571:288:7", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 1392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1385, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "2585:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1387, + "indexExpression": { + "argumentTypes": null, + "id": 1386, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1380, + "src": "2593:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2585:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "id": 1388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "2585:20:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2617:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2609:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2609:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2585:36:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1399, + "nodeType": "IfStatement", + "src": "2581:94:7", + "trueBody": { + "id": 1398, + "nodeType": "Block", + "src": "2623:52:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1393, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "2644:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1395, + "indexExpression": { + "argumentTypes": null, + "id": 1394, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1380, + "src": "2652:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2644:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "id": 1396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "2644:20:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 1384, + "id": 1397, + "nodeType": "Return", + "src": "2637:27:7" + } + ] + } + }, + { + "assignments": [ + 1401 + ], + "declarations": [ + { + "constant": false, + "id": 1401, + "name": "domainDeed", + "nodeType": "VariableDeclaration", + "scope": 1423, + "src": "2685:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 1400, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "2685:4:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1405, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1403, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1380, + "src": "2708:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1402, + "name": "deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2115, + "src": "2703:4:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_contract$_Deed_$2227_$", + "typeString": "function (bytes32) view returns (contract Deed)" + } + }, + "id": 1404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2703:11:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2685:29:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1406, + "name": "domainDeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "2728:10:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 1407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2211, + "src": "2728:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2728:18:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1410, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6974, + "src": "2758:4:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SubdomainRegistrar_$2116", + "typeString": "contract SubdomainRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SubdomainRegistrar_$2116", + "typeString": "contract SubdomainRegistrar" + } + ], + "id": 1409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2750:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2750:13:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2728:35:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1418, + "nodeType": "IfStatement", + "src": "2724:85:7", + "trueBody": { + "id": 1417, + "nodeType": "Block", + "src": "2765:44:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2794:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2786:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2786:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 1384, + "id": 1416, + "nodeType": "Return", + "src": "2779:19:7" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1419, + "name": "domainDeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "2826:10:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 1420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "previousOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2216, + "src": "2826:24:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2826:26:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1384, + "id": 1422, + "nodeType": "Return", + "src": "2819:33:7" + } + ] + }, + "documentation": "@dev owner returns the address of the account that controls a domain.\n Initially this is a null address. If the name has been\n transferred to this contract, then the internal mapping is consulted\n to determine who controls it. If the owner is not set,\n the previous owner of the deed is returned.\n@param label The label hash of the deed to check.\n@return The address owning the deed.", + "id": 1424, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1380, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1424, + "src": "2526:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1379, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2526:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2525:15:7" + }, + "returnParameters": { + "id": 1384, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1383, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1424, + "src": "2562:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2562:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2561:9:7" + }, + "scope": 2116, + "src": "2511:348:7", + "stateMutability": "view", + "superFunction": 292, + "visibility": "public" + }, + { + "body": { + "id": 1462, + "nodeType": "Block", + "src": "3181:162:7", + "statements": [ + { + "assignments": [ + 1439 + ], + "declarations": [ + { + "constant": false, + "id": 1439, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1462, + "src": "3191:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1438, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3191:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1445, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1442, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "3223:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3217:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3217:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1440, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "3207:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3207:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3191:38:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1447, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1439, + "src": "3257:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1448, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "3264:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1450, + "indexExpression": { + "argumentTypes": null, + "id": 1449, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1439, + "src": "3272:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3264:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "id": 1451, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "3264:20:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 1452, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "3286:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 1446, + "name": "OwnerChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1084, + "src": "3244:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", + "typeString": "function (bytes32,address,address)" + } + }, + "id": 1453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3244:51:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1454, + "nodeType": "EmitStatement", + "src": "3239:56:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1455, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "3305:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1457, + "indexExpression": { + "argumentTypes": null, + "id": 1456, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1439, + "src": "3313:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3305:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "id": 1458, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "3305:20:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1459, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "3328:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "3305:31:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1461, + "nodeType": "ExpressionStatement", + "src": "3305:31:7" + } + ] + }, + "documentation": "@dev Transfers internal control of a name to a new account. Does not update\n ENS.\n@param name The name to transfer.\n@param newOwner The address of the new owner.", + "id": 1463, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1433, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "3173:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3167:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3167:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1431, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "3157:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3157:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1436, + "modifierName": { + "argumentTypes": null, + "id": 1430, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "3146:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3146:34:7" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1429, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1426, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1463, + "src": "3093:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1425, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3093:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1428, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1463, + "src": "3113:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3113:15:7", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3092:46:7" + }, + "returnParameters": { + "id": 1437, + "nodeType": "ParameterList", + "parameters": [], + "src": "3181:0:7" + }, + "scope": 2116, + "src": "3075:268:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1585, + "nodeType": "Block", + "src": "4067:866:7", + "statements": [ + { + "assignments": [ + 1484 + ], + "declarations": [ + { + "constant": false, + "id": 1484, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "4077:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1483, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4077:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1490, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1487, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "4109:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4103:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4103:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1485, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4093:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4093:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4077:38:7" + }, + { + "assignments": [ + 1492 + ], + "declarations": [ + { + "constant": false, + "id": 1492, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "4125:21:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 1491, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "4125:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1496, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1493, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "4149:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1495, + "indexExpression": { + "argumentTypes": null, + "id": 1494, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "4157:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4149:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4125:38:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1498, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4288:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1499, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "4288:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1501, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4322:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4314:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4314:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4288:38:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1504, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4330:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4351:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4343:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4343:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4330:25:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4288:67:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1510, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4359:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "4359:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1512, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4385:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4359:35:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4288:106:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1497, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4280:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4280:115:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1516, + "nodeType": "ExpressionStatement", + "src": "4280:115:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 1520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1517, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4410:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1518, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "4410:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 1519, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "4426:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4410:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1528, + "nodeType": "IfStatement", + "src": "4406:74:7", + "trueBody": { + "id": 1527, + "nodeType": "Block", + "src": "4434:46:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1521, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4448:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1523, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "4448:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1524, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "4463:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4448:21:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1526, + "nodeType": "ExpressionStatement", + "src": "4448:21:7" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1532, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4521:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1533, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "4521:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "argumentTypes": null, + "id": 1530, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "4504:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4504:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4504:29:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1529, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4494:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4494:40:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 1536, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "4538:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4494:49:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1545, + "nodeType": "IfStatement", + "src": "4490:125:7", + "trueBody": { + "id": 1544, + "nodeType": "Block", + "src": "4545:70:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1538, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4586:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "4586:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1541, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "4600:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4586:18:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1543, + "nodeType": "ExpressionStatement", + "src": "4586:18:7" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 1550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1546, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4625:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1548, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "4625:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1549, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1467, + "src": "4640:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4625:20:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1551, + "nodeType": "ExpressionStatement", + "src": "4625:20:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1552, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4655:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1554, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "4655:21:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1555, + "name": "referralFeePPM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1469, + "src": "4679:14:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4655:38:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1557, + "nodeType": "ExpressionStatement", + "src": "4655:38:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1558, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4708:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1559, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "4708:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 1560, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4734:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4708:35:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1562, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4747:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4768:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4760:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4760:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4747:25:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4708:64:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1580, + "nodeType": "IfStatement", + "src": "4704:184:7", + "trueBody": { + "id": 1579, + "nodeType": "Block", + "src": "4774:114:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1568, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4788:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "4788:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1571, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4813:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4788:34:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1573, + "nodeType": "ExpressionStatement", + "src": "4788:34:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1575, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "4860:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1576, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4867:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1574, + "name": "TransferAddressSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "4841:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4841:36:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1578, + "nodeType": "EmitStatement", + "src": "4836:41:7" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1582, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "4920:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1581, + "name": "DomainConfigured", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1088, + "src": "4903:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4903:23:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1584, + "nodeType": "EmitStatement", + "src": "4898:28:7" + } + ] + }, + "documentation": "@dev Configures a domain, optionally transferring it to a new owner.\n@param name The name to configure.\n@param price The price in wei to charge for subdomain registrations.\n@param referralFeePPM The referral fee to offer, in parts per million.\n@param _owner The address to assign ownership of this domain to.\n@param _transfer The address to set as the transfer address for the name\n when the permanent registrar is replaced. Can only be set to a non-zero\n value once.", + "id": 1586, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1478, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "4059:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4053:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4053:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1476, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4043:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4043:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1481, + "modifierName": { + "argumentTypes": null, + "id": 1475, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "4032:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4032:34:7" + } + ], + "name": "configureDomainFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1465, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "3929:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1464, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3929:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1467, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "3949:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1466, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3949:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1469, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "3961:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1468, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3961:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1471, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "3982:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1470, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3982:15:7", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1473, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "4006:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1472, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4006:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3928:96:7" + }, + "returnParameters": { + "id": 1482, + "nodeType": "ParameterList", + "parameters": [], + "src": "4067:0:7" + }, + "scope": 2116, + "src": "3901:1032:7", + "stateMutability": "nonpayable", + "superFunction": 305, + "visibility": "public" + }, + { + "body": { + "id": 1634, + "nodeType": "Block", + "src": "5256:255:7", + "statements": [ + { + "assignments": [ + 1601 + ], + "declarations": [ + { + "constant": false, + "id": 1601, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1634, + "src": "5266:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5266:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1607, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1604, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1588, + "src": "5298:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5292:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5292:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1602, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5282:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5282:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5266:38:7" + }, + { + "assignments": [ + 1609 + ], + "declarations": [ + { + "constant": false, + "id": 1609, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1634, + "src": "5314:21:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 1608, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "5314:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1613, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1610, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "5338:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1612, + "indexExpression": { + "argumentTypes": null, + "id": 1611, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1601, + "src": "5346:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5338:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5314:38:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1615, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1609, + "src": "5371:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "5371:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5405:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5397:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5397:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "5371:38:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1614, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5363:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5363:47:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1622, + "nodeType": "ExpressionStatement", + "src": "5363:47:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1623, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1609, + "src": "5421:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1625, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "5421:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1626, + "name": "transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "5446:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5421:33:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1628, + "nodeType": "ExpressionStatement", + "src": "5421:33:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1630, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1601, + "src": "5488:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1631, + "name": "transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "5495:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1629, + "name": "TransferAddressSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "5469:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5469:35:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1633, + "nodeType": "EmitStatement", + "src": "5464:40:7" + } + ] + }, + "documentation": "@dev Sets the transfer address of a domain for after an ENS update.\n@param name The name for which to set the transfer address.\n@param transfer The address to transfer to.", + "id": 1635, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1595, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1588, + "src": "5248:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5242:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5242:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1593, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5232:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5232:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1598, + "modifierName": { + "argumentTypes": null, + "id": 1592, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "5221:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5221:34:7" + } + ], + "name": "setTransferAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1588, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1635, + "src": "5176:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1587, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5176:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1590, + "name": "transfer", + "nodeType": "VariableDeclaration", + "scope": 1635, + "src": "5196:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5196:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5175:38:7" + }, + "returnParameters": { + "id": 1599, + "nodeType": "ParameterList", + "parameters": [], + "src": "5256:0:7" + }, + "scope": 2116, + "src": "5148:363:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1683, + "nodeType": "Block", + "src": "5739:227:7", + "statements": [ + { + "assignments": [ + 1648 + ], + "declarations": [ + { + "constant": false, + "id": 1648, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1683, + "src": "5749:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1647, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5749:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1654, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1651, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1637, + "src": "5781:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5775:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5775:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1649, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5765:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5765:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5749:38:7" + }, + { + "assignments": [ + 1656 + ], + "declarations": [ + { + "constant": false, + "id": 1656, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1683, + "src": "5797:21:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 1655, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "5797:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1660, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1657, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "5821:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1659, + "indexExpression": { + "argumentTypes": null, + "id": 1658, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1648, + "src": "5829:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5821:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5797:38:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1662, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1648, + "src": "5865:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1661, + "name": "DomainUnlisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1092, + "src": "5850:14:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 1663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5850:21:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1664, + "nodeType": "EmitStatement", + "src": "5845:26:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1665, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1656, + "src": "5882:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1667, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "5882:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 1668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5896:2:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "5882:16:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1670, + "nodeType": "ExpressionStatement", + "src": "5882:16:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1671, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1656, + "src": "5908:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1673, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "5908:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 1674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5923:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5908:16:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1676, + "nodeType": "ExpressionStatement", + "src": "5908:16:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1677, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1656, + "src": "5934:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "5934:21:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 1680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5958:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5934:25:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1682, + "nodeType": "ExpressionStatement", + "src": "5934:25:7" + } + ] + }, + "documentation": "@dev Unlists a domain\nMay only be called by the owner.\n@param name The name of the domain to unlist.", + "id": 1684, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1642, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1637, + "src": "5731:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5725:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5725:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1640, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5715:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5715:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1645, + "modifierName": { + "argumentTypes": null, + "id": 1639, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "5704:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5704:34:7" + } + ], + "name": "unlistDomain", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1637, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "5677:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1636, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5677:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5676:20:7" + }, + "returnParameters": { + "id": 1646, + "nodeType": "ParameterList", + "parameters": [], + "src": "5739:0:7" + }, + "scope": 2116, + "src": "5655:311:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1754, + "nodeType": "Block", + "src": "6613:372:7", + "statements": [ + { + "assignments": [ + 1700 + ], + "declarations": [ + { + "constant": false, + "id": 1700, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 1754, + "src": "6623:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1699, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6623:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1708, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1704, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "6665:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1705, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1686, + "src": "6675:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1702, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "6648:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6648:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6648:33:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1701, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6638:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6638:44:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6623:59:7" + }, + { + "assignments": [ + 1710 + ], + "declarations": [ + { + "constant": false, + "id": 1710, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 1754, + "src": "6692:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1709, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6692:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1722, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1714, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "6737:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1717, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "6759:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6753:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6753:16:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1715, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6743:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6743:27:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1712, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "6720:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6720:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6720:51:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1711, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6710:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6710:62:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6692:80:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1725, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1710, + "src": "6797:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1723, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "6787:3:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "6787:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 1726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6787:18:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6817:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6809:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6809:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "6787:34:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1738, + "nodeType": "IfStatement", + "src": "6783:85:7", + "trueBody": { + "id": 1737, + "nodeType": "Block", + "src": "6823:45:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "", + "id": 1731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6845:2:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6849:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6852:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6855:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 1735, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6844:13:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", + "typeString": "tuple(literal_string \"\",int_const 0,int_const 0,int_const 0)" + } + }, + "functionReturnParameters": 1698, + "id": 1736, + "nodeType": "Return", + "src": "6837:20:7" + } + ] + } + }, + { + "assignments": [ + 1740 + ], + "declarations": [ + { + "constant": false, + "id": 1740, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1754, + "src": "6878:19:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 1739, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "6878:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1744, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1741, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "6900:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1743, + "indexExpression": { + "argumentTypes": null, + "id": 1742, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1686, + "src": "6908:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6900:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6878:36:7" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1745, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1740, + "src": "6932:4:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1746, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "6932:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1747, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1740, + "src": "6943:4:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "6943:10:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1749, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6955:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1750, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1740, + "src": "6958:4:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1751, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "6958:19:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1752, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6931:47:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_string_storage_$_t_uint256_$_t_rational_0_by_1_$_t_uint256_$", + "typeString": "tuple(string storage ref,uint256,int_const 0,uint256)" + } + }, + "functionReturnParameters": 1698, + "id": 1753, + "nodeType": "Return", + "src": "6924:54:7" + } + ] + }, + "documentation": "@dev Returns information about a subdomain.\n@param label The label hash for the domain.\n@param subdomain The label for the subdomain.\n@return domain The name of the domain, or an empty string if the subdomain\n is unavailable.\n@return price The price to register a subdomain, in wei.\n@return rent The rent to retain a subdomain, in wei per second.\n@return referralFeePPM The referral fee for the dapp, in ppm.", + "id": 1755, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "query", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1686, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6482:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1685, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6482:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1688, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6497:25:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1687, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6497:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6481:42:7" + }, + "returnParameters": { + "id": 1698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1691, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6547:20:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1690, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6547:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1693, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6569:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1692, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6569:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1695, + "name": "rent", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6581:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1694, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6581:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1697, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6592:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1696, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6592:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6546:66:7" + }, + "scope": 2116, + "src": "6467:518:7", + "stateMutability": "view", + "superFunction": 285, + "visibility": "external" + }, + { + "body": { + "id": 1943, + "nodeType": "Block", + "src": "7499:1519:7", + "statements": [ + { + "assignments": [ + 1771 + ], + "declarations": [ + { + "constant": false, + "id": 1771, + "name": "subdomainOwner", + "nodeType": "VariableDeclaration", + "scope": 1943, + "src": "7509:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1770, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7509:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1773, + "initialValue": { + "argumentTypes": null, + "id": 1772, + "name": "_subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1761, + "src": "7534:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7509:40:7" + }, + { + "assignments": [ + 1775 + ], + "declarations": [ + { + "constant": false, + "id": 1775, + "name": "domainNode", + "nodeType": "VariableDeclaration", + "scope": 1943, + "src": "7559:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1774, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7559:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1783, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1779, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "7607:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1780, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "7617:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1777, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "7590:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7590:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7590:33:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1776, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "7580:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7580:44:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7559:65:7" + }, + { + "assignments": [ + 1785 + ], + "declarations": [ + { + "constant": false, + "id": 1785, + "name": "subdomainLabel", + "nodeType": "VariableDeclaration", + "scope": 1943, + "src": "7634:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1784, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7634:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1791, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1788, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1759, + "src": "7675:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7669:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7669:16:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1786, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "7659:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7659:27:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7634:52:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1798, + "name": "domainNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1775, + "src": "7795:10:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1799, + "name": "subdomainLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1785, + "src": "7807:14:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1796, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "7778:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7778:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7778:44:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1795, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "7768:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7768:55:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1793, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "7758:3:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 1794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "7758:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 1802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7758:66:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7836:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7828:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7828:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7758:80:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1792, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "7750:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7750:89:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1808, + "nodeType": "ExpressionStatement", + "src": "7750:89:7" + }, + { + "assignments": [ + 1810 + ], + "declarations": [ + { + "constant": false, + "id": 1810, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1943, + "src": "7850:21:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 1809, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "7850:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1814, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1811, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "7874:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1813, + "indexExpression": { + "argumentTypes": null, + "id": 1812, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "7882:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7874:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7850:38:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1819, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "7987:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1820, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "7987:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "argumentTypes": null, + "id": 1817, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "7970:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7970:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7970:29:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1816, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "7960:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7960:40:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1823, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "8004:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7960:49:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1815, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "7952:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7952:58:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1826, + "nodeType": "ExpressionStatement", + "src": "7952:58:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1828, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "8067:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8067:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1830, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8080:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1831, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8080:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8067:25:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1827, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8059:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8059:34:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1834, + "nodeType": "ExpressionStatement", + "src": "8059:34:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1835, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "8139:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8139:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1837, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8151:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1838, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8151:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8139:24:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1853, + "nodeType": "IfStatement", + "src": "8135:100:7", + "trueBody": { + "id": 1852, + "nodeType": "Block", + "src": "8165:70:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1845, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "8199:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8199:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1847, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8211:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1848, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8211:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8199:24:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1840, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "8179:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8179:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8179:19:7", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8179:45:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1851, + "nodeType": "ExpressionStatement", + "src": "8179:45:7" + } + ] + } + }, + { + "assignments": [ + 1855 + ], + "declarations": [ + { + "constant": false, + "id": 1855, + "name": "total", + "nodeType": "VariableDeclaration", + "scope": 1943, + "src": "8278:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1854, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8278:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1858, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1856, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8294:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1857, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8294:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8278:28:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1859, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8320:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1860, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "8320:21:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1861, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8344:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1862, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8344:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8320:36:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8359:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8320:40:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 1870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1866, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1763, + "src": "8364:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8384:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8376:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8376:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8364:24:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8320:68:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 1875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1872, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1763, + "src": "8392:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1873, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8404:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1874, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "8404:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8392:24:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8320:96:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1899, + "nodeType": "IfStatement", + "src": "8316:275:7", + "trueBody": { + "id": 1898, + "nodeType": "Block", + "src": "8418:173:7", + "statements": [ + { + "assignments": [ + 1878 + ], + "declarations": [ + { + "constant": false, + "id": 1878, + "name": "referralFee", + "nodeType": "VariableDeclaration", + "scope": 1898, + "src": "8432:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1877, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8432:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1887, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1879, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8455:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8455:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1881, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8470:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1882, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "8470:21:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8455:36:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1884, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8454:38:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31303030303030", + "id": 1885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8495:7:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000_by_1", + "typeString": "int_const 1000000" + }, + "value": "1000000" + }, + "src": "8454:48:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8432:70:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1891, + "name": "referralFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1878, + "src": "8534:11:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1888, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1763, + "src": "8516:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8516:17:7", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8516:30:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1893, + "nodeType": "ExpressionStatement", + "src": "8516:30:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1894, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "8560:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 1895, + "name": "referralFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1878, + "src": "8569:11:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8560:20:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1897, + "nodeType": "ExpressionStatement", + "src": "8560:20:7" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1900, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "8642:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8650:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8642:9:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1912, + "nodeType": "IfStatement", + "src": "8638:68:7", + "trueBody": { + "id": 1911, + "nodeType": "Block", + "src": "8653:53:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1908, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "8689:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1903, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8667:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1906, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "8667:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8667:21:7", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8667:28:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1910, + "nodeType": "ExpressionStatement", + "src": "8667:28:7" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1913, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "8751:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8777:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8769:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8769:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8751:30:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1924, + "nodeType": "IfStatement", + "src": "8747:88:7", + "trueBody": { + "id": 1923, + "nodeType": "Block", + "src": "8783:52:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1918, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "8797:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1919, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "8814:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8814:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8797:27:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1922, + "nodeType": "ExpressionStatement", + "src": "8797:27:7" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1926, + "name": "domainNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1775, + "src": "8859:10:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1927, + "name": "subdomainLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1785, + "src": "8871:14:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1928, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "8887:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1930, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1765, + "src": "8912:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1929, + "name": "Resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "8903:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Resolver_$1184_$", + "typeString": "type(contract Resolver)" + } + }, + "id": 1931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8903:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + ], + "id": 1925, + "name": "doRegistration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "8844:14:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_Resolver_$1184_$returns$__$", + "typeString": "function (bytes32,bytes32,address,contract Resolver)" + } + }, + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8844:78:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1933, + "nodeType": "ExpressionStatement", + "src": "8844:78:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1935, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "8954:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1936, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1759, + "src": "8961:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1937, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "8972:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1938, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1763, + "src": "8988:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1939, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8998:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8998:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1934, + "name": "NewRegistration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "8938:15:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,string memory,address,address,uint256)" + } + }, + "id": 1941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8938:73:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1942, + "nodeType": "EmitStatement", + "src": "8933:78:7" + } + ] + }, + "documentation": "@dev Registers a subdomain.\n@param label The label hash of the domain to register a subdomain of.\n@param subdomain The desired subdomain label.\n@param _subdomainOwner The account that should own the newly configured subdomain.\n@param referrer The address of the account to receive the referral fee.", + "id": 1944, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1768, + "modifierName": { + "argumentTypes": null, + "id": 1767, + "name": "not_stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "7479:11:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "7479:11:7" + } + ], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1757, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1944, + "src": "7359:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1756, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7359:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1759, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1944, + "src": "7374:25:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1758, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7374:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1761, + "name": "_subdomainOwner", + "nodeType": "VariableDeclaration", + "scope": 1944, + "src": "7401:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7401:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1763, + "name": "referrer", + "nodeType": "VariableDeclaration", + "scope": 1944, + "src": "7426:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1762, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7426:15:7", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1765, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 1944, + "src": "7452:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7452:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7358:111:7" + }, + "returnParameters": { + "id": 1769, + "nodeType": "ParameterList", + "parameters": [], + "src": "7499:0:7" + }, + "scope": 2116, + "src": "7341:1677:7", + "stateMutability": "payable", + "superFunction": 1142, + "visibility": "external" + }, + { + "body": { + "id": 2004, + "nodeType": "Block", + "src": "9240:312:7", + "statements": [ + { + "assignments": [ + 1959 + ], + "declarations": [ + { + "constant": false, + "id": 1959, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2004, + "src": "9250:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1958, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9250:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1965, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1962, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1946, + "src": "9282:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9276:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9276:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1960, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9266:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9266:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9250:38:7" + }, + { + "assignments": [ + 1967 + ], + "declarations": [ + { + "constant": false, + "id": 1967, + "name": "transfer", + "nodeType": "VariableDeclaration", + "scope": 2004, + "src": "9298:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1966, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9298:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1972, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1968, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "9317:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1970, + "indexExpression": { + "argumentTypes": null, + "id": 1969, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "9325:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9317:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "id": 1971, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "9317:30:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9298:49:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1974, + "name": "transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1967, + "src": "9366:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9386:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9378:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1977, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9378:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "9366:24:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1973, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9358:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9358:33:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1980, + "nodeType": "ExpressionStatement", + "src": "9358:33:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "9402:21:7", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1981, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "9409:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1983, + "indexExpression": { + "argumentTypes": null, + "id": 1982, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "9417:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9409:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1985, + "nodeType": "ExpressionStatement", + "src": "9402:21:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1990, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "9464:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 1993, + "name": "transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1967, + "src": "9488:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1994, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9487:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9479:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": "uint160" + }, + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9479:19:7", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 1991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9471:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9471:28:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1987, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "9444:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1986, + "name": "Registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "9434:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Registrar_$4775_$", + "typeString": "type(contract Registrar)" + } + }, + "id": 1988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9434:20:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 1989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 4729, + "src": "9434:29:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_payable_$returns$__$", + "typeString": "function (bytes32,address payable) external" + } + }, + "id": 1997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9434:66:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1998, + "nodeType": "ExpressionStatement", + "src": "9434:66:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2000, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "9533:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2001, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1946, + "src": "9540:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1999, + "name": "DomainTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "9515:17:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,string memory)" + } + }, + "id": 2002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9515:30:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2003, + "nodeType": "EmitStatement", + "src": "9510:35:7" + } + ] + }, + "documentation": "@dev Upgrades the domain to a new registrar.\n@param name The name of the domain to transfer.", + "id": 2005, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1951, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1946, + "src": "9218:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9212:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9212:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1949, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9202:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9202:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1954, + "modifierName": { + "argumentTypes": null, + "id": 1948, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "9191:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "9191:34:7" + }, + { + "arguments": null, + "id": 1956, + "modifierName": { + "argumentTypes": null, + "id": 1955, + "name": "new_registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1359, + "src": "9226:13:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9226:13:7" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1947, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1946, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2005, + "src": "9164:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1945, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9164:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9163:20:7" + }, + "returnParameters": { + "id": 1957, + "nodeType": "ParameterList", + "parameters": [], + "src": "9240:0:7" + }, + "scope": 2116, + "src": "9147:405:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2082, + "nodeType": "Block", + "src": "9759:547:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2018, + "name": "stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "9777:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2017, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9769:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9769:16:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2020, + "nodeType": "ExpressionStatement", + "src": "9769:16:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2022, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "9803:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 2024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9824:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9816:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9816:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "9803:25:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2021, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9795:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9795:34:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2028, + "nodeType": "ExpressionStatement", + "src": "9795:34:7" + }, + { + "assignments": [ + 2030 + ], + "declarations": [ + { + "constant": false, + "id": 2030, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2082, + "src": "9840:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2029, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9840:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2036, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2033, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2007, + "src": "9872:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9866:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 2034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9866:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2031, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9856:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9856:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9840:38:7" + }, + { + "assignments": [ + 2038 + ], + "declarations": [ + { + "constant": false, + "id": 2038, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 2082, + "src": "9888:21:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 2037, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "9888:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2042, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2039, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "9912:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 2041, + "indexExpression": { + "argumentTypes": null, + "id": 2040, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "9920:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9912:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9888:38:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2047, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "9967:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 2050, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "9991:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2051, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9990:11:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2049, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9982:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": "uint160" + }, + "id": 2052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9982:20:7", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9974:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9974:29:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2044, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "9947:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2043, + "name": "Registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "9937:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Registrar_$4775_$", + "typeString": "type(contract Registrar)" + } + }, + "id": 2045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9937:20:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 2046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 4729, + "src": "9937:29:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_payable_$returns$__$", + "typeString": "function (bytes32,address payable) external" + } + }, + "id": 2054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9937:67:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2055, + "nodeType": "ExpressionStatement", + "src": "9937:67:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2060, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10077:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 2061, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "10077:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2062, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10102:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 2063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "10102:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2064, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10128:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 2065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "10128:21:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2066, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10163:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 2067, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "10163:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2068, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10189:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 2069, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "10189:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2057, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "10034:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2056, + "name": "SubdomainRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2116, + "src": "10015:18:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SubdomainRegistrar_$2116_$", + "typeString": "type(contract SubdomainRegistrar)" + } + }, + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10015:29:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SubdomainRegistrar_$2116", + "typeString": "contract SubdomainRegistrar" + } + }, + "id": 2059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "configureDomainFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 1586, + "src": "10015:48:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_payable_$_t_address_$returns$__$", + "typeString": "function (string memory,uint256,uint256,address payable,address) external" + } + }, + "id": 2070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10015:206:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2071, + "nodeType": "ExpressionStatement", + "src": "10015:206:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 2075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10232:21:7", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2072, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "10239:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 2074, + "indexExpression": { + "argumentTypes": null, + "id": 2073, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "10247:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10239:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2076, + "nodeType": "ExpressionStatement", + "src": "10232:21:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2078, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "10287:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2079, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2007, + "src": "10294:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2077, + "name": "DomainTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "10269:17:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,string memory)" + } + }, + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10269:30:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2081, + "nodeType": "EmitStatement", + "src": "10264:35:7" + } + ] + }, + "documentation": "@dev Migrates the domain to a new registrar.\n@param name The name of the domain to migrate.", + "id": 2083, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2012, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2007, + "src": "9751:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9745:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 2013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9745:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2010, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9735:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9735:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2015, + "modifierName": { + "argumentTypes": null, + "id": 2009, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "9724:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "9724:34:7" + } + ], + "name": "migrate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2008, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2007, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "9697:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2006, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9697:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9696:20:7" + }, + "returnParameters": { + "id": 2016, + "nodeType": "ParameterList", + "parameters": [], + "src": "9759:0:7" + }, + "scope": 2116, + "src": "9680:626:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2093, + "nodeType": "Block", + "src": "10388:25:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2090, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6915, + 6916 + ], + "referencedDeclaration": 6915, + "src": "10398:6:7", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10398:8:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2092, + "nodeType": "ExpressionStatement", + "src": "10398:8:7" + } + ] + }, + "documentation": null, + "id": 2094, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "payRent", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2085, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2094, + "src": "10329:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2084, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10329:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2087, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 2094, + "src": "10344:25:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2086, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10344:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10328:42:7" + }, + "returnParameters": { + "id": 2089, + "nodeType": "ParameterList", + "parameters": [], + "src": "10388:0:7" + }, + "scope": 2116, + "src": "10312:101:7", + "stateMutability": "payable", + "superFunction": 1158, + "visibility": "external" + }, + { + "body": { + "id": 2114, + "nodeType": "Block", + "src": "10477:115:7", + "statements": [ + { + "assignments": [ + null, + 2102, + null, + null, + null + ], + "declarations": [ + null, + { + "constant": false, + "id": 2102, + "name": "deedAddress", + "nodeType": "VariableDeclaration", + "scope": 2114, + "src": "10490:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10490:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + null, + null, + null + ], + "id": 2109, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2107, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2096, + "src": "10545:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2104, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "10526:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2103, + "name": "Registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "10516:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Registrar_$4775_$", + "typeString": "type(contract Registrar)" + } + }, + "id": 2105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10516:20:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 2106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 4774, + "src": "10516:28:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "id": 2108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10516:35:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10487:64:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2111, + "name": "deedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2102, + "src": "10573:11:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2110, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "10568:4:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 2112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10568:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "functionReturnParameters": 2100, + "id": 2113, + "nodeType": "Return", + "src": "10561:24:7" + } + ] + }, + "documentation": null, + "id": 2115, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2096, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2115, + "src": "10433:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2095, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10433:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10432:15:7" + }, + "returnParameters": { + "id": 2100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2099, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2115, + "src": "10471:4:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 2098, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "10471:4:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10470:6:7" + }, + "scope": 2116, + "src": "10419:173:7", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2117, + "src": "1532:9062:7" + } + ], + "src": "0:10595:7" + }, + "legacyAST": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/SubdomainRegistrar.sol", + "exportedSymbols": { + "SubdomainRegistrar": [ + 2116 + ] + }, + "id": 2117, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1328, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:7" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/AbstractSubdomainRegistrar.sol", + "file": "./AbstractSubdomainRegistrar.sol", + "id": 1329, + "nodeType": "ImportDirective", + "scope": 2117, + "sourceUnit": 307, + "src": "25:42:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Deed.sol", + "file": "@ensdomains/ens/contracts/Deed.sol", + "id": 1330, + "nodeType": "ImportDirective", + "scope": 2117, + "sourceUnit": 2228, + "src": "68:44:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens/contracts/Registrar.sol", + "file": "@ensdomains/ens/contracts/Registrar.sol", + "id": 1331, + "nodeType": "ImportDirective", + "scope": 2117, + "sourceUnit": 4776, + "src": "113:49:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1332, + "name": "AbstractSubdomainRegistrar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 306, + "src": "1563:26:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AbstractSubdomainRegistrar_$306", + "typeString": "contract AbstractSubdomainRegistrar" + } + }, + "id": 1333, + "nodeType": "InheritanceSpecifier", + "src": "1563:26:7" + } + ], + "contractDependencies": [ + 306, + 1159 + ], + "contractKind": "contract", + "documentation": "@dev Implements an ENS registrar that sells subdomains on behalf of their owners.\n * Users may register a subdomain by calling `register` with the name of the domain\nthey wish to register under, and the label hash of the subdomain they want to\nregister. They must also specify the new owner of the domain, and the referrer,\nwho is paid an optional finder's fee. The registrar then configures a simple\ndefault resolver, which resolves `addr` lookups to the new owner, and sets\nthe `owner` account as the owner of the subdomain in ENS.\n * New domains may be added by calling `configureDomain`, then transferring\nownership in the ENS registry to this contract. Ownership in the contract\nmay be transferred using `transfer`, and a domain may be unlisted for sale\nusing `unlistDomain`. There is (deliberately) no way to recover ownership\nin ENS once the name is transferred to this registrar.\n * Critically, this contract does not check one key property of a listed domain:\n * - Is the name UTS46 normalised?\n * User applications MUST check these two elements for each domain before\noffering them to users for registration.\n * Applications should additionally check that the domains they are offering to\nregister are controlled by this registrar, since calls to `register` will\nfail if this is not the case.", + "fullyImplemented": true, + "id": 2116, + "linearizedBaseContracts": [ + 2116, + 306, + 1159 + ], + "name": "SubdomainRegistrar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "SubdomainRegistrar.Domain", + "id": 1344, + "members": [ + { + "constant": false, + "id": 1335, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1344, + "src": "1621:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1334, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1621:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1337, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1344, + "src": "1642:21:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1336, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1642:15:7", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1339, + "name": "transferAddress", + "nodeType": "VariableDeclaration", + "scope": 1344, + "src": "1673:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1338, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1673:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1341, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1344, + "src": "1706:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1340, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1706:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1343, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 1344, + "src": "1726:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1342, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1726:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Domain", + "nodeType": "StructDefinition", + "scope": 2116, + "src": "1597:155:7", + "visibility": "public" + }, + { + "body": { + "id": 1358, + "nodeType": "Block", + "src": "1783:78:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1349, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "1811:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1347, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1801:3:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 1348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "1801:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1801:19:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1352, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "1832:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1824:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1824:18:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1801:41:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1346, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "1793:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1793:50:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1356, + "nodeType": "ExpressionStatement", + "src": "1793:50:7" + }, + { + "id": 1357, + "nodeType": "PlaceholderStatement", + "src": "1853:1:7" + } + ] + }, + "documentation": null, + "id": 1359, + "name": "new_registrar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1345, + "nodeType": "ParameterList", + "parameters": [], + "src": "1780:2:7" + }, + "src": "1758:103:7", + "visibility": "internal" + }, + { + "constant": false, + "id": 1363, + "name": "domains", + "nodeType": "VariableDeclaration", + "scope": 2116, + "src": "1867:35:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain)" + }, + "typeName": { + "id": 1362, + "keyType": { + "id": 1360, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1876:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1867:27:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain)" + }, + "valueType": { + "contractScope": null, + "id": 1361, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "1887:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": null, + "id": 1369, + "name": "TransferAddressSet", + "nodeType": "EventDefinition", + "parameters": { + "id": 1368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1365, + "indexed": true, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1369, + "src": "1934:21:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1364, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1934:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1367, + "indexed": false, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 1369, + "src": "1957:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1957:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1933:37:7" + }, + "src": "1909:62:7" + }, + { + "body": { + "id": 1377, + "nodeType": "Block", + "src": "2037:3:7", + "statements": [] + }, + "documentation": null, + "id": 1378, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1374, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "2025:3:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + } + ], + "id": 1375, + "modifierName": { + "argumentTypes": null, + "id": 1373, + "name": "AbstractSubdomainRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 306, + "src": "1998:26:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AbstractSubdomainRegistrar_$306_$", + "typeString": "type(contract AbstractSubdomainRegistrar)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1998:31:7" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1371, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 1378, + "src": "1989:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 1370, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "1989:3:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1988:9:7" + }, + "returnParameters": { + "id": 1376, + "nodeType": "ParameterList", + "parameters": [], + "src": "2037:0:7" + }, + "scope": 2116, + "src": "1977:63:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1423, + "nodeType": "Block", + "src": "2571:288:7", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 1392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1385, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "2585:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1387, + "indexExpression": { + "argumentTypes": null, + "id": 1386, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1380, + "src": "2593:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2585:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "id": 1388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "2585:20:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2617:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2609:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2609:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2585:36:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1399, + "nodeType": "IfStatement", + "src": "2581:94:7", + "trueBody": { + "id": 1398, + "nodeType": "Block", + "src": "2623:52:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1393, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "2644:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1395, + "indexExpression": { + "argumentTypes": null, + "id": 1394, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1380, + "src": "2652:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2644:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "id": 1396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "2644:20:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 1384, + "id": 1397, + "nodeType": "Return", + "src": "2637:27:7" + } + ] + } + }, + { + "assignments": [ + 1401 + ], + "declarations": [ + { + "constant": false, + "id": 1401, + "name": "domainDeed", + "nodeType": "VariableDeclaration", + "scope": 1423, + "src": "2685:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 1400, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "2685:4:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1405, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1403, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1380, + "src": "2708:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1402, + "name": "deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2115, + "src": "2703:4:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_contract$_Deed_$2227_$", + "typeString": "function (bytes32) view returns (contract Deed)" + } + }, + "id": 1404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2703:11:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2685:29:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1406, + "name": "domainDeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "2728:10:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 1407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2211, + "src": "2728:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2728:18:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1410, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6974, + "src": "2758:4:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SubdomainRegistrar_$2116", + "typeString": "contract SubdomainRegistrar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SubdomainRegistrar_$2116", + "typeString": "contract SubdomainRegistrar" + } + ], + "id": 1409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2750:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2750:13:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2728:35:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1418, + "nodeType": "IfStatement", + "src": "2724:85:7", + "trueBody": { + "id": 1417, + "nodeType": "Block", + "src": "2765:44:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2794:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2786:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2786:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 1384, + "id": 1416, + "nodeType": "Return", + "src": "2779:19:7" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1419, + "name": "domainDeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "2826:10:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "id": 1420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "previousOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2216, + "src": "2826:24:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2826:26:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1384, + "id": 1422, + "nodeType": "Return", + "src": "2819:33:7" + } + ] + }, + "documentation": "@dev owner returns the address of the account that controls a domain.\n Initially this is a null address. If the name has been\n transferred to this contract, then the internal mapping is consulted\n to determine who controls it. If the owner is not set,\n the previous owner of the deed is returned.\n@param label The label hash of the deed to check.\n@return The address owning the deed.", + "id": 1424, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1380, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1424, + "src": "2526:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1379, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2526:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2525:15:7" + }, + "returnParameters": { + "id": 1384, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1383, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1424, + "src": "2562:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2562:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2561:9:7" + }, + "scope": 2116, + "src": "2511:348:7", + "stateMutability": "view", + "superFunction": 292, + "visibility": "public" + }, + { + "body": { + "id": 1462, + "nodeType": "Block", + "src": "3181:162:7", + "statements": [ + { + "assignments": [ + 1439 + ], + "declarations": [ + { + "constant": false, + "id": 1439, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1462, + "src": "3191:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1438, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3191:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1445, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1442, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "3223:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3217:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3217:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1440, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "3207:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3207:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3191:38:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1447, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1439, + "src": "3257:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1448, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "3264:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1450, + "indexExpression": { + "argumentTypes": null, + "id": 1449, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1439, + "src": "3272:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3264:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "id": 1451, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "3264:20:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 1452, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "3286:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 1446, + "name": "OwnerChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1084, + "src": "3244:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", + "typeString": "function (bytes32,address,address)" + } + }, + "id": 1453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3244:51:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1454, + "nodeType": "EmitStatement", + "src": "3239:56:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1455, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "3305:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1457, + "indexExpression": { + "argumentTypes": null, + "id": 1456, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1439, + "src": "3313:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3305:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "id": 1458, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "3305:20:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1459, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "3328:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "3305:31:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1461, + "nodeType": "ExpressionStatement", + "src": "3305:31:7" + } + ] + }, + "documentation": "@dev Transfers internal control of a name to a new account. Does not update\n ENS.\n@param name The name to transfer.\n@param newOwner The address of the new owner.", + "id": 1463, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1433, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "3173:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3167:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3167:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1431, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "3157:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3157:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1436, + "modifierName": { + "argumentTypes": null, + "id": 1430, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "3146:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3146:34:7" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1429, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1426, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1463, + "src": "3093:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1425, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3093:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1428, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1463, + "src": "3113:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3113:15:7", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3092:46:7" + }, + "returnParameters": { + "id": 1437, + "nodeType": "ParameterList", + "parameters": [], + "src": "3181:0:7" + }, + "scope": 2116, + "src": "3075:268:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1585, + "nodeType": "Block", + "src": "4067:866:7", + "statements": [ + { + "assignments": [ + 1484 + ], + "declarations": [ + { + "constant": false, + "id": 1484, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "4077:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1483, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4077:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1490, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1487, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "4109:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4103:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4103:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1485, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4093:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4093:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4077:38:7" + }, + { + "assignments": [ + 1492 + ], + "declarations": [ + { + "constant": false, + "id": 1492, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "4125:21:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 1491, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "4125:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1496, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1493, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "4149:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1495, + "indexExpression": { + "argumentTypes": null, + "id": 1494, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "4157:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4149:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4125:38:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1498, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4288:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1499, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "4288:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1501, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4322:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4314:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4314:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4288:38:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1504, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4330:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4351:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4343:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4343:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4330:25:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4288:67:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1510, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4359:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "4359:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1512, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4385:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4359:35:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4288:106:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1497, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "4280:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4280:115:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1516, + "nodeType": "ExpressionStatement", + "src": "4280:115:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 1520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1517, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4410:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1518, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "4410:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 1519, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "4426:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4410:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1528, + "nodeType": "IfStatement", + "src": "4406:74:7", + "trueBody": { + "id": 1527, + "nodeType": "Block", + "src": "4434:46:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1521, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4448:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1523, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "4448:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1524, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "4463:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4448:21:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1526, + "nodeType": "ExpressionStatement", + "src": "4448:21:7" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1532, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4521:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1533, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "4521:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "argumentTypes": null, + "id": 1530, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "4504:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4504:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4504:29:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1529, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4494:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4494:40:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 1536, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "4538:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4494:49:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1545, + "nodeType": "IfStatement", + "src": "4490:125:7", + "trueBody": { + "id": 1544, + "nodeType": "Block", + "src": "4545:70:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1538, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4586:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "4586:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1541, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "4600:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4586:18:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1543, + "nodeType": "ExpressionStatement", + "src": "4586:18:7" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 1550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1546, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4625:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1548, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "4625:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1549, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1467, + "src": "4640:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4625:20:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1551, + "nodeType": "ExpressionStatement", + "src": "4625:20:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1552, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4655:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1554, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "4655:21:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1555, + "name": "referralFeePPM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1469, + "src": "4679:14:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4655:38:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1557, + "nodeType": "ExpressionStatement", + "src": "4655:38:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1558, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4708:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1559, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "4708:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 1560, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4734:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4708:35:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1562, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4747:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4768:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4760:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4760:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4747:25:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4708:64:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1580, + "nodeType": "IfStatement", + "src": "4704:184:7", + "trueBody": { + "id": 1579, + "nodeType": "Block", + "src": "4774:114:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1568, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4788:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "4788:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1571, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4813:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4788:34:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1573, + "nodeType": "ExpressionStatement", + "src": "4788:34:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1575, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "4860:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1576, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "4867:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1574, + "name": "TransferAddressSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "4841:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4841:36:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1578, + "nodeType": "EmitStatement", + "src": "4836:41:7" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1582, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "4920:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1581, + "name": "DomainConfigured", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1088, + "src": "4903:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4903:23:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1584, + "nodeType": "EmitStatement", + "src": "4898:28:7" + } + ] + }, + "documentation": "@dev Configures a domain, optionally transferring it to a new owner.\n@param name The name to configure.\n@param price The price in wei to charge for subdomain registrations.\n@param referralFeePPM The referral fee to offer, in parts per million.\n@param _owner The address to assign ownership of this domain to.\n@param _transfer The address to set as the transfer address for the name\n when the permanent registrar is replaced. Can only be set to a non-zero\n value once.", + "id": 1586, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1478, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "4059:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4053:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4053:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1476, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "4043:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4043:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1481, + "modifierName": { + "argumentTypes": null, + "id": 1475, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "4032:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4032:34:7" + } + ], + "name": "configureDomainFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1465, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "3929:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1464, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3929:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1467, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "3949:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1466, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3949:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1469, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "3961:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1468, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3961:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1471, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "3982:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1470, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3982:15:7", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1473, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 1586, + "src": "4006:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1472, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4006:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3928:96:7" + }, + "returnParameters": { + "id": 1482, + "nodeType": "ParameterList", + "parameters": [], + "src": "4067:0:7" + }, + "scope": 2116, + "src": "3901:1032:7", + "stateMutability": "nonpayable", + "superFunction": 305, + "visibility": "public" + }, + { + "body": { + "id": 1634, + "nodeType": "Block", + "src": "5256:255:7", + "statements": [ + { + "assignments": [ + 1601 + ], + "declarations": [ + { + "constant": false, + "id": 1601, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1634, + "src": "5266:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5266:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1607, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1604, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1588, + "src": "5298:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5292:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5292:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1602, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5282:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5282:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5266:38:7" + }, + { + "assignments": [ + 1609 + ], + "declarations": [ + { + "constant": false, + "id": 1609, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1634, + "src": "5314:21:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 1608, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "5314:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1613, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1610, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "5338:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1612, + "indexExpression": { + "argumentTypes": null, + "id": 1611, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1601, + "src": "5346:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5338:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5314:38:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1615, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1609, + "src": "5371:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "5371:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5405:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5397:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5397:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "5371:38:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1614, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "5363:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5363:47:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1622, + "nodeType": "ExpressionStatement", + "src": "5363:47:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1623, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1609, + "src": "5421:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1625, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "5421:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1626, + "name": "transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "5446:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5421:33:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1628, + "nodeType": "ExpressionStatement", + "src": "5421:33:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1630, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1601, + "src": "5488:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1631, + "name": "transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "5495:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1629, + "name": "TransferAddressSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "5469:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5469:35:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1633, + "nodeType": "EmitStatement", + "src": "5464:40:7" + } + ] + }, + "documentation": "@dev Sets the transfer address of a domain for after an ENS update.\n@param name The name for which to set the transfer address.\n@param transfer The address to transfer to.", + "id": 1635, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1595, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1588, + "src": "5248:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5242:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5242:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1593, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5232:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5232:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1598, + "modifierName": { + "argumentTypes": null, + "id": 1592, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "5221:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5221:34:7" + } + ], + "name": "setTransferAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1588, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1635, + "src": "5176:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1587, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5176:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1590, + "name": "transfer", + "nodeType": "VariableDeclaration", + "scope": 1635, + "src": "5196:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5196:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5175:38:7" + }, + "returnParameters": { + "id": 1599, + "nodeType": "ParameterList", + "parameters": [], + "src": "5256:0:7" + }, + "scope": 2116, + "src": "5148:363:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1683, + "nodeType": "Block", + "src": "5739:227:7", + "statements": [ + { + "assignments": [ + 1648 + ], + "declarations": [ + { + "constant": false, + "id": 1648, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1683, + "src": "5749:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1647, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5749:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1654, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1651, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1637, + "src": "5781:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5775:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5775:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1649, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5765:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5765:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5749:38:7" + }, + { + "assignments": [ + 1656 + ], + "declarations": [ + { + "constant": false, + "id": 1656, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1683, + "src": "5797:21:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 1655, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "5797:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1660, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1657, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "5821:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1659, + "indexExpression": { + "argumentTypes": null, + "id": 1658, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1648, + "src": "5829:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5821:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5797:38:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1662, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1648, + "src": "5865:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1661, + "name": "DomainUnlisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1092, + "src": "5850:14:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 1663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5850:21:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1664, + "nodeType": "EmitStatement", + "src": "5845:26:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1665, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1656, + "src": "5882:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1667, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "5882:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 1668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5896:2:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "5882:16:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1670, + "nodeType": "ExpressionStatement", + "src": "5882:16:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1671, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1656, + "src": "5908:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1673, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "5908:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 1674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5923:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5908:16:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1676, + "nodeType": "ExpressionStatement", + "src": "5908:16:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1677, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1656, + "src": "5934:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "5934:21:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 1680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5958:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5934:25:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1682, + "nodeType": "ExpressionStatement", + "src": "5934:25:7" + } + ] + }, + "documentation": "@dev Unlists a domain\nMay only be called by the owner.\n@param name The name of the domain to unlist.", + "id": 1684, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1642, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1637, + "src": "5731:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5725:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5725:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1640, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "5715:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5715:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1645, + "modifierName": { + "argumentTypes": null, + "id": 1639, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "5704:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5704:34:7" + } + ], + "name": "unlistDomain", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1637, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "5677:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1636, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5677:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5676:20:7" + }, + "returnParameters": { + "id": 1646, + "nodeType": "ParameterList", + "parameters": [], + "src": "5739:0:7" + }, + "scope": 2116, + "src": "5655:311:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1754, + "nodeType": "Block", + "src": "6613:372:7", + "statements": [ + { + "assignments": [ + 1700 + ], + "declarations": [ + { + "constant": false, + "id": 1700, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 1754, + "src": "6623:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1699, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6623:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1708, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1704, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "6665:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1705, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1686, + "src": "6675:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1702, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "6648:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6648:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6648:33:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1701, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6638:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6638:44:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6623:59:7" + }, + { + "assignments": [ + 1710 + ], + "declarations": [ + { + "constant": false, + "id": 1710, + "name": "subnode", + "nodeType": "VariableDeclaration", + "scope": 1754, + "src": "6692:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1709, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6692:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1722, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1714, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "6737:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1717, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "6759:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6753:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6753:16:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1715, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6743:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6743:27:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1712, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "6720:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6720:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6720:51:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1711, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "6710:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6710:62:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6692:80:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1725, + "name": "subnode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1710, + "src": "6797:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1723, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "6787:3:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "6787:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 1726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6787:18:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6817:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6809:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6809:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "6787:34:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1738, + "nodeType": "IfStatement", + "src": "6783:85:7", + "trueBody": { + "id": 1737, + "nodeType": "Block", + "src": "6823:45:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "", + "id": 1731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6845:2:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6849:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6852:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6855:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 1735, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6844:13:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", + "typeString": "tuple(literal_string \"\",int_const 0,int_const 0,int_const 0)" + } + }, + "functionReturnParameters": 1698, + "id": 1736, + "nodeType": "Return", + "src": "6837:20:7" + } + ] + } + }, + { + "assignments": [ + 1740 + ], + "declarations": [ + { + "constant": false, + "id": 1740, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1754, + "src": "6878:19:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 1739, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "6878:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1744, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1741, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "6900:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1743, + "indexExpression": { + "argumentTypes": null, + "id": 1742, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1686, + "src": "6908:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6900:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6878:36:7" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1745, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1740, + "src": "6932:4:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1746, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "6932:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1747, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1740, + "src": "6943:4:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "6943:10:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1749, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6955:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1750, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1740, + "src": "6958:4:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1751, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "6958:19:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1752, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6931:47:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_string_storage_$_t_uint256_$_t_rational_0_by_1_$_t_uint256_$", + "typeString": "tuple(string storage ref,uint256,int_const 0,uint256)" + } + }, + "functionReturnParameters": 1698, + "id": 1753, + "nodeType": "Return", + "src": "6924:54:7" + } + ] + }, + "documentation": "@dev Returns information about a subdomain.\n@param label The label hash for the domain.\n@param subdomain The label for the subdomain.\n@return domain The name of the domain, or an empty string if the subdomain\n is unavailable.\n@return price The price to register a subdomain, in wei.\n@return rent The rent to retain a subdomain, in wei per second.\n@return referralFeePPM The referral fee for the dapp, in ppm.", + "id": 1755, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "query", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1686, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6482:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1685, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6482:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1688, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6497:25:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1687, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6497:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6481:42:7" + }, + "returnParameters": { + "id": 1698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1691, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6547:20:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1690, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6547:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1693, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6569:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1692, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6569:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1695, + "name": "rent", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6581:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1694, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6581:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1697, + "name": "referralFeePPM", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "6592:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1696, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6592:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6546:66:7" + }, + "scope": 2116, + "src": "6467:518:7", + "stateMutability": "view", + "superFunction": 285, + "visibility": "external" + }, + { + "body": { + "id": 1943, + "nodeType": "Block", + "src": "7499:1519:7", + "statements": [ + { + "assignments": [ + 1771 + ], + "declarations": [ + { + "constant": false, + "id": 1771, + "name": "subdomainOwner", + "nodeType": "VariableDeclaration", + "scope": 1943, + "src": "7509:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1770, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7509:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1773, + "initialValue": { + "argumentTypes": null, + "id": 1772, + "name": "_subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1761, + "src": "7534:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7509:40:7" + }, + { + "assignments": [ + 1775 + ], + "declarations": [ + { + "constant": false, + "id": 1775, + "name": "domainNode", + "nodeType": "VariableDeclaration", + "scope": 1943, + "src": "7559:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1774, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7559:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1783, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1779, + "name": "TLD_NODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "7607:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1780, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "7617:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1777, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "7590:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7590:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7590:33:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1776, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "7580:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7580:44:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7559:65:7" + }, + { + "assignments": [ + 1785 + ], + "declarations": [ + { + "constant": false, + "id": 1785, + "name": "subdomainLabel", + "nodeType": "VariableDeclaration", + "scope": 1943, + "src": "7634:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1784, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7634:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1791, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1788, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1759, + "src": "7675:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7669:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7669:16:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1786, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "7659:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7659:27:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7634:52:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1798, + "name": "domainNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1775, + "src": "7795:10:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1799, + "name": "subdomainLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1785, + "src": "7807:14:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1796, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "7778:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7778:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7778:44:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1795, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "7768:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7768:55:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1793, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "7758:3:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "id": 1794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2585, + "src": "7758:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 1802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7758:66:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7836:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7828:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7828:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7758:80:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1792, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "7750:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7750:89:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1808, + "nodeType": "ExpressionStatement", + "src": "7750:89:7" + }, + { + "assignments": [ + 1810 + ], + "declarations": [ + { + "constant": false, + "id": 1810, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 1943, + "src": "7850:21:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 1809, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "7850:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1814, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1811, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "7874:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1813, + "indexExpression": { + "argumentTypes": null, + "id": 1812, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "7882:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7874:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7850:38:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1819, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "7987:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1820, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "7987:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "argumentTypes": null, + "id": 1817, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6897, + "src": "7970:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7970:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7970:29:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1816, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "7960:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7960:40:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1823, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "8004:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7960:49:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1815, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "7952:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7952:58:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1826, + "nodeType": "ExpressionStatement", + "src": "7952:58:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1828, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "8067:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8067:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1830, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8080:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1831, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8080:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8067:25:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1827, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "8059:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8059:34:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1834, + "nodeType": "ExpressionStatement", + "src": "8059:34:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1835, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "8139:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8139:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1837, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8151:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1838, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8151:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8139:24:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1853, + "nodeType": "IfStatement", + "src": "8135:100:7", + "trueBody": { + "id": 1852, + "nodeType": "Block", + "src": "8165:70:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1845, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "8199:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8199:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1847, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8211:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1848, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8211:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8199:24:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1840, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "8179:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8179:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8179:19:7", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8179:45:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1851, + "nodeType": "ExpressionStatement", + "src": "8179:45:7" + } + ] + } + }, + { + "assignments": [ + 1855 + ], + "declarations": [ + { + "constant": false, + "id": 1855, + "name": "total", + "nodeType": "VariableDeclaration", + "scope": 1943, + "src": "8278:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1854, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8278:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1858, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1856, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8294:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1857, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8294:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8278:28:7" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1859, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8320:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1860, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "8320:21:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1861, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8344:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1862, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8344:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8320:36:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8359:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8320:40:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 1870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1866, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1763, + "src": "8364:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8384:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8376:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8376:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8364:24:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8320:68:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "id": 1875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1872, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1763, + "src": "8392:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1873, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8404:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1874, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "8404:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8392:24:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8320:96:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1899, + "nodeType": "IfStatement", + "src": "8316:275:7", + "trueBody": { + "id": 1898, + "nodeType": "Block", + "src": "8418:173:7", + "statements": [ + { + "assignments": [ + 1878 + ], + "declarations": [ + { + "constant": false, + "id": 1878, + "name": "referralFee", + "nodeType": "VariableDeclaration", + "scope": 1898, + "src": "8432:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1877, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8432:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1887, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1879, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8455:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8455:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1881, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8470:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1882, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "8470:21:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8455:36:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1884, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8454:38:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31303030303030", + "id": 1885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8495:7:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000_by_1", + "typeString": "int_const 1000000" + }, + "value": "1000000" + }, + "src": "8454:48:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8432:70:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1891, + "name": "referralFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1878, + "src": "8534:11:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1888, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1763, + "src": "8516:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8516:17:7", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8516:30:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1893, + "nodeType": "ExpressionStatement", + "src": "8516:30:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1894, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "8560:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 1895, + "name": "referralFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1878, + "src": "8569:11:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8560:20:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1897, + "nodeType": "ExpressionStatement", + "src": "8560:20:7" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1900, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "8642:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8650:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8642:9:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1912, + "nodeType": "IfStatement", + "src": "8638:68:7", + "trueBody": { + "id": 1911, + "nodeType": "Block", + "src": "8653:53:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1908, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "8689:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1903, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8667:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1906, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "8667:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8667:21:7", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8667:28:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1910, + "nodeType": "ExpressionStatement", + "src": "8667:28:7" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1913, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "8751:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8777:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8769:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8769:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8751:30:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1924, + "nodeType": "IfStatement", + "src": "8747:88:7", + "trueBody": { + "id": 1923, + "nodeType": "Block", + "src": "8783:52:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1918, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "8797:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1919, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6910, + "src": "8814:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8814:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "8797:27:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1922, + "nodeType": "ExpressionStatement", + "src": "8797:27:7" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1926, + "name": "domainNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1775, + "src": "8859:10:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1927, + "name": "subdomainLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1785, + "src": "8871:14:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1928, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "8887:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1930, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1765, + "src": "8912:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1929, + "name": "Resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "8903:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Resolver_$1184_$", + "typeString": "type(contract Resolver)" + } + }, + "id": 1931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8903:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + ], + "id": 1925, + "name": "doRegistration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "8844:14:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_Resolver_$1184_$returns$__$", + "typeString": "function (bytes32,bytes32,address,contract Resolver)" + } + }, + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8844:78:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1933, + "nodeType": "ExpressionStatement", + "src": "8844:78:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1935, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "8954:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1936, + "name": "subdomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1759, + "src": "8961:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1937, + "name": "subdomainOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "8972:14:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1938, + "name": "referrer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1763, + "src": "8988:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1939, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1810, + "src": "8998:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 1940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "8998:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1934, + "name": "NewRegistration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "8938:15:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,string memory,address,address,uint256)" + } + }, + "id": 1941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8938:73:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1942, + "nodeType": "EmitStatement", + "src": "8933:78:7" + } + ] + }, + "documentation": "@dev Registers a subdomain.\n@param label The label hash of the domain to register a subdomain of.\n@param subdomain The desired subdomain label.\n@param _subdomainOwner The account that should own the newly configured subdomain.\n@param referrer The address of the account to receive the referral fee.", + "id": 1944, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1768, + "modifierName": { + "argumentTypes": null, + "id": 1767, + "name": "not_stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "7479:11:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "7479:11:7" + } + ], + "name": "register", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1757, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 1944, + "src": "7359:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1756, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7359:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1759, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 1944, + "src": "7374:25:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1758, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7374:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1761, + "name": "_subdomainOwner", + "nodeType": "VariableDeclaration", + "scope": 1944, + "src": "7401:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7401:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1763, + "name": "referrer", + "nodeType": "VariableDeclaration", + "scope": 1944, + "src": "7426:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1762, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7426:15:7", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1765, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 1944, + "src": "7452:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7452:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7358:111:7" + }, + "returnParameters": { + "id": 1769, + "nodeType": "ParameterList", + "parameters": [], + "src": "7499:0:7" + }, + "scope": 2116, + "src": "7341:1677:7", + "stateMutability": "payable", + "superFunction": 1142, + "visibility": "external" + }, + { + "body": { + "id": 2004, + "nodeType": "Block", + "src": "9240:312:7", + "statements": [ + { + "assignments": [ + 1959 + ], + "declarations": [ + { + "constant": false, + "id": 1959, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2004, + "src": "9250:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1958, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9250:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1965, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1962, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1946, + "src": "9282:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9276:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9276:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1960, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9266:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9266:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9250:38:7" + }, + { + "assignments": [ + 1967 + ], + "declarations": [ + { + "constant": false, + "id": 1967, + "name": "transfer", + "nodeType": "VariableDeclaration", + "scope": 2004, + "src": "9298:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1966, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9298:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1972, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1968, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "9317:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1970, + "indexExpression": { + "argumentTypes": null, + "id": 1969, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "9325:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9317:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "id": 1971, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "9317:30:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9298:49:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1974, + "name": "transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1967, + "src": "9366:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9386:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9378:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1977, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9378:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "9366:24:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1973, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9358:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9358:33:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1980, + "nodeType": "ExpressionStatement", + "src": "9358:33:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "9402:21:7", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1981, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "9409:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 1983, + "indexExpression": { + "argumentTypes": null, + "id": 1982, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "9417:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9409:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1985, + "nodeType": "ExpressionStatement", + "src": "9402:21:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1990, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "9464:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 1993, + "name": "transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1967, + "src": "9488:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1994, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9487:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9479:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": "uint160" + }, + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9479:19:7", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 1991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9471:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9471:28:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1987, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "9444:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1986, + "name": "Registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "9434:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Registrar_$4775_$", + "typeString": "type(contract Registrar)" + } + }, + "id": 1988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9434:20:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 1989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 4729, + "src": "9434:29:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_payable_$returns$__$", + "typeString": "function (bytes32,address payable) external" + } + }, + "id": 1997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9434:66:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1998, + "nodeType": "ExpressionStatement", + "src": "9434:66:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2000, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "9533:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2001, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1946, + "src": "9540:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1999, + "name": "DomainTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "9515:17:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,string memory)" + } + }, + "id": 2002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9515:30:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2003, + "nodeType": "EmitStatement", + "src": "9510:35:7" + } + ] + }, + "documentation": "@dev Upgrades the domain to a new registrar.\n@param name The name of the domain to transfer.", + "id": 2005, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1951, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1946, + "src": "9218:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9212:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9212:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1949, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9202:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9202:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1954, + "modifierName": { + "argumentTypes": null, + "id": 1948, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "9191:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "9191:34:7" + }, + { + "arguments": null, + "id": 1956, + "modifierName": { + "argumentTypes": null, + "id": 1955, + "name": "new_registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1359, + "src": "9226:13:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9226:13:7" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1947, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1946, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2005, + "src": "9164:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1945, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9164:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9163:20:7" + }, + "returnParameters": { + "id": 1957, + "nodeType": "ParameterList", + "parameters": [], + "src": "9240:0:7" + }, + "scope": 2116, + "src": "9147:405:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2082, + "nodeType": "Block", + "src": "9759:547:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2018, + "name": "stopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "9777:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2017, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9769:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9769:16:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2020, + "nodeType": "ExpressionStatement", + "src": "9769:16:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2022, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "9803:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 2024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9824:3:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9816:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9816:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "9803:25:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2021, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6913, + 6914 + ], + "referencedDeclaration": 6913, + "src": "9795:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9795:34:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2028, + "nodeType": "ExpressionStatement", + "src": "9795:34:7" + }, + { + "assignments": [ + 2030 + ], + "declarations": [ + { + "constant": false, + "id": 2030, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2082, + "src": "9840:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2029, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9840:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2036, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2033, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2007, + "src": "9872:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9866:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 2034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9866:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2031, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9856:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9856:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9840:38:7" + }, + { + "assignments": [ + 2038 + ], + "declarations": [ + { + "constant": false, + "id": 2038, + "name": "domain", + "nodeType": "VariableDeclaration", + "scope": 2082, + "src": "9888:21:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + }, + "typeName": { + "contractScope": null, + "id": 2037, + "name": "Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1344, + "src": "9888:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2042, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2039, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "9912:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 2041, + "indexExpression": { + "argumentTypes": null, + "id": 2040, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "9920:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9912:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9888:38:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2047, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "9967:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 2050, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "9991:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2051, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9990:11:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2049, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9982:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": "uint160" + }, + "id": 2052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9982:20:7", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9974:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9974:29:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2044, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "9947:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2043, + "name": "Registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "9937:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Registrar_$4775_$", + "typeString": "type(contract Registrar)" + } + }, + "id": 2045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9937:20:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 2046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 4729, + "src": "9937:29:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_payable_$returns$__$", + "typeString": "function (bytes32,address payable) external" + } + }, + "id": 2054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9937:67:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2055, + "nodeType": "ExpressionStatement", + "src": "9937:67:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2060, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10077:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 2061, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1335, + "src": "10077:11:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2062, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10102:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 2063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "10102:12:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2064, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10128:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 2065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "referralFeePPM", + "nodeType": "MemberAccess", + "referencedDeclaration": 1343, + "src": "10128:21:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2066, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10163:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 2067, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1337, + "src": "10163:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2068, + "name": "domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "src": "10189:6:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage_ptr", + "typeString": "struct SubdomainRegistrar.Domain storage pointer" + } + }, + "id": 2069, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transferAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "10189:22:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2057, + "name": "migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "10034:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2056, + "name": "SubdomainRegistrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2116, + "src": "10015:18:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SubdomainRegistrar_$2116_$", + "typeString": "type(contract SubdomainRegistrar)" + } + }, + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10015:29:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SubdomainRegistrar_$2116", + "typeString": "contract SubdomainRegistrar" + } + }, + "id": 2059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "configureDomainFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 1586, + "src": "10015:48:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_payable_$_t_address_$returns$__$", + "typeString": "function (string memory,uint256,uint256,address payable,address) external" + } + }, + "id": 2070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10015:206:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2071, + "nodeType": "ExpressionStatement", + "src": "10015:206:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 2075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10232:21:7", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2072, + "name": "domains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "10239:7:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Domain_$1344_storage_$", + "typeString": "mapping(bytes32 => struct SubdomainRegistrar.Domain storage ref)" + } + }, + "id": 2074, + "indexExpression": { + "argumentTypes": null, + "id": 2073, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "10247:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10239:14:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Domain_$1344_storage", + "typeString": "struct SubdomainRegistrar.Domain storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2076, + "nodeType": "ExpressionStatement", + "src": "10232:21:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2078, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "10287:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2079, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2007, + "src": "10294:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2077, + "name": "DomainTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "10269:17:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,string memory)" + } + }, + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10269:30:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2081, + "nodeType": "EmitStatement", + "src": "10264:35:7" + } + ] + }, + "documentation": "@dev Migrates the domain to a new registrar.\n@param name The name of the domain to migrate.", + "id": 2083, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2012, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2007, + "src": "9751:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9745:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 2013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9745:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2010, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6904, + "src": "9735:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9735:22:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2015, + "modifierName": { + "argumentTypes": null, + "id": 2009, + "name": "owner_only", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "9724:10:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "9724:34:7" + } + ], + "name": "migrate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2008, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2007, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "9697:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2006, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9697:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9696:20:7" + }, + "returnParameters": { + "id": 2016, + "nodeType": "ParameterList", + "parameters": [], + "src": "9759:0:7" + }, + "scope": 2116, + "src": "9680:626:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2093, + "nodeType": "Block", + "src": "10388:25:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2090, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6915, + 6916 + ], + "referencedDeclaration": 6915, + "src": "10398:6:7", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10398:8:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2092, + "nodeType": "ExpressionStatement", + "src": "10398:8:7" + } + ] + }, + "documentation": null, + "id": 2094, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "payRent", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2085, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2094, + "src": "10329:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2084, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10329:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2087, + "name": "subdomain", + "nodeType": "VariableDeclaration", + "scope": 2094, + "src": "10344:25:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2086, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10344:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10328:42:7" + }, + "returnParameters": { + "id": 2089, + "nodeType": "ParameterList", + "parameters": [], + "src": "10388:0:7" + }, + "scope": 2116, + "src": "10312:101:7", + "stateMutability": "payable", + "superFunction": 1158, + "visibility": "external" + }, + { + "body": { + "id": 2114, + "nodeType": "Block", + "src": "10477:115:7", + "statements": [ + { + "assignments": [ + null, + 2102, + null, + null, + null + ], + "declarations": [ + null, + { + "constant": false, + "id": 2102, + "name": "deedAddress", + "nodeType": "VariableDeclaration", + "scope": 2114, + "src": "10490:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10490:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + null, + null, + null + ], + "id": 2109, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2107, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2096, + "src": "10545:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2104, + "name": "registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "10526:9:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2103, + "name": "Registrar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4775, + "src": "10516:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Registrar_$4775_$", + "typeString": "type(contract Registrar)" + } + }, + "id": 2105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10516:20:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registrar_$4775", + "typeString": "contract Registrar" + } + }, + "id": 2106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 4774, + "src": "10516:28:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "id": 2108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10516:35:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_Mode_$4620_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum Registrar.Mode,address,uint256,uint256,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10487:64:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2111, + "name": "deedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2102, + "src": "10573:11:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2110, + "name": "Deed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "10568:4:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Deed_$2227_$", + "typeString": "type(contract Deed)" + } + }, + "id": 2112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10568:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "functionReturnParameters": 2100, + "id": 2113, + "nodeType": "Return", + "src": "10561:24:7" + } + ] + }, + "documentation": null, + "id": 2115, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2096, + "name": "label", + "nodeType": "VariableDeclaration", + "scope": 2115, + "src": "10433:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2095, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10433:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10432:15:7" + }, + "returnParameters": { + "id": 2100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2099, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2115, + "src": "10471:4:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + }, + "typeName": { + "contractScope": null, + "id": 2098, + "name": "Deed", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2227, + "src": "10471:4:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Deed_$2227", + "typeString": "contract Deed" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10470:6:7" + }, + "scope": 2116, + "src": "10419:173:7", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2117, + "src": "1532:9062:7" + } + ], + "src": "0:10595:7" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.758Z", + "devdoc": { + "details": "Implements an ENS registrar that sells subdomains on behalf of their owners. * Users may register a subdomain by calling `register` with the name of the domain they wish to register under, and the label hash of the subdomain they want to register. They must also specify the new owner of the domain, and the referrer, who is paid an optional finder's fee. The registrar then configures a simple default resolver, which resolves `addr` lookups to the new owner, and sets the `owner` account as the owner of the subdomain in ENS. * New domains may be added by calling `configureDomain`, then transferring ownership in the ENS registry to this contract. Ownership in the contract may be transferred using `transfer`, and a domain may be unlisted for sale using `unlistDomain`. There is (deliberately) no way to recover ownership in ENS once the name is transferred to this registrar. * Critically, this contract does not check one key property of a listed domain: * - Is the name UTS46 normalised? * User applications MUST check these two elements for each domain before offering them to users for registration. * Applications should additionally check that the domains they are offering to register are controlled by this registrar, since calls to `register` will fail if this is not the case.", + "methods": { + "configureDomain(string,uint256,uint256)": { + "details": "Configures a domain for sale.", + "params": { + "name": "The name to configure.", + "price": "The price in wei to charge for subdomain registrations", + "referralFeePPM": "The referral fee to offer, in parts per million" + } + }, + "configureDomainFor(string,uint256,uint256,address,address)": { + "details": "Configures a domain, optionally transferring it to a new owner.", + "params": { + "_owner": "The address to assign ownership of this domain to.", + "_transfer": "The address to set as the transfer address for the name when the permanent registrar is replaced. Can only be set to a non-zero value once.", + "name": "The name to configure.", + "price": "The price in wei to charge for subdomain registrations.", + "referralFeePPM": "The referral fee to offer, in parts per million." + } + }, + "migrate(string)": { + "details": "Migrates the domain to a new registrar.", + "params": { + "name": "The name of the domain to migrate." + } + }, + "owner(bytes32)": { + "details": "owner returns the address of the account that controls a domain. Initially this is a null address. If the name has been transferred to this contract, then the internal mapping is consulted to determine who controls it. If the owner is not set, the previous owner of the deed is returned.", + "params": { + "label": "The label hash of the deed to check." + }, + "return": "The address owning the deed." + }, + "query(bytes32,string)": { + "details": "Returns information about a subdomain.", + "params": { + "label": "The label hash for the domain.", + "subdomain": "The label for the subdomain." + }, + "return": "domain The name of the domain, or an empty string if the subdomain is unavailable.price The price to register a subdomain, in wei.rent The rent to retain a subdomain, in wei per second.referralFeePPM The referral fee for the dapp, in ppm." + }, + "register(bytes32,string,address,address,address)": { + "details": "Registers a subdomain.", + "params": { + "_subdomainOwner": "The account that should own the newly configured subdomain.", + "label": "The label hash of the domain to register a subdomain of.", + "referrer": "The address of the account to receive the referral fee.", + "subdomain": "The desired subdomain label." + } + }, + "setMigrationAddress(address)": { + "details": "Sets the address where domains are migrated to.", + "params": { + "_migration": "Address of the new registrar." + } + }, + "setResolver(string,address)": { + "details": "Sets the resolver record for a name in ENS.", + "params": { + "name": "The name to set the resolver for.", + "resolver": "The address of the resolver" + } + }, + "setTransferAddress(string,address)": { + "details": "Sets the transfer address of a domain for after an ENS update.", + "params": { + "name": "The name for which to set the transfer address.", + "transfer": "The address to transfer to." + } + }, + "stop()": { + "details": "Stops the registrar, disabling configuring of new domains." + }, + "transfer(string,address)": { + "details": "Transfers internal control of a name to a new account. Does not update ENS.", + "params": { + "name": "The name to transfer.", + "newOwner": "The address of the new owner." + } + }, + "unlistDomain(string)": { + "details": "Unlists a domain May only be called by the owner.", + "params": { + "name": "The name of the domain to unlist." + } + }, + "upgrade(string)": { + "details": "Upgrades the domain to a new registrar.", + "params": { + "name": "The name of the domain to transfer." + } + } + } + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/SubdomainRegistrar.sol b/contracts/SubdomainRegistrar.sol deleted file mode 100644 index 34485e0..0000000 --- a/contracts/SubdomainRegistrar.sol +++ /dev/null @@ -1,278 +0,0 @@ -pragma solidity ^0.5.0; - -import "./AbstractSubdomainRegistrar.sol"; -import "@ensdomains/ens/contracts/Deed.sol"; -import "@ensdomains/ens/contracts/Registrar.sol"; - -/** - * @dev Implements an ENS registrar that sells subdomains on behalf of their owners. - * - * Users may register a subdomain by calling `register` with the name of the domain - * they wish to register under, and the label hash of the subdomain they want to - * register. They must also specify the new owner of the domain, and the referrer, - * who is paid an optional finder's fee. The registrar then configures a simple - * default resolver, which resolves `addr` lookups to the new owner, and sets - * the `owner` account as the owner of the subdomain in ENS. - * - * New domains may be added by calling `configureDomain`, then transferring - * ownership in the ENS registry to this contract. Ownership in the contract - * may be transferred using `transfer`, and a domain may be unlisted for sale - * using `unlistDomain`. There is (deliberately) no way to recover ownership - * in ENS once the name is transferred to this registrar. - * - * Critically, this contract does not check one key property of a listed domain: - * - * - Is the name UTS46 normalised? - * - * User applications MUST check these two elements for each domain before - * offering them to users for registration. - * - * Applications should additionally check that the domains they are offering to - * register are controlled by this registrar, since calls to `register` will - * fail if this is not the case. - */ -contract SubdomainRegistrar is AbstractSubdomainRegistrar { - - struct Domain { - string name; - address payable owner; - address transferAddress; - uint price; - uint referralFeePPM; - } - - modifier new_registrar() { - require(ens.owner(TLD_NODE) != address(registrar)); - _; - } - - mapping (bytes32 => Domain) domains; - - event TransferAddressSet(bytes32 indexed label, address addr); - - constructor(ENS ens) AbstractSubdomainRegistrar(ens) public { } - - /** - * @dev owner returns the address of the account that controls a domain. - * Initially this is a null address. If the name has been - * transferred to this contract, then the internal mapping is consulted - * to determine who controls it. If the owner is not set, - * the previous owner of the deed is returned. - * @param label The label hash of the deed to check. - * @return The address owning the deed. - */ - function owner(bytes32 label) public view returns (address) { - if (domains[label].owner != address(0x0)) { - return domains[label].owner; - } - - Deed domainDeed = deed(label); - if (domainDeed.owner() != address(this)) { - return address(0x0); - } - - return domainDeed.previousOwner(); - } - - /** - * @dev Transfers internal control of a name to a new account. Does not update - * ENS. - * @param name The name to transfer. - * @param newOwner The address of the new owner. - */ - function transfer(string memory name, address payable newOwner) public owner_only(keccak256(bytes(name))) { - bytes32 label = keccak256(bytes(name)); - emit OwnerChanged(label, domains[label].owner, newOwner); - domains[label].owner = newOwner; - } - - /** - * @dev Configures a domain, optionally transferring it to a new owner. - * @param name The name to configure. - * @param price The price in wei to charge for subdomain registrations. - * @param referralFeePPM The referral fee to offer, in parts per million. - * @param _owner The address to assign ownership of this domain to. - * @param _transfer The address to set as the transfer address for the name - * when the permanent registrar is replaced. Can only be set to a non-zero - * value once. - */ - function configureDomainFor(string memory name, uint price, uint referralFeePPM, address payable _owner, address _transfer) public owner_only(keccak256(bytes(name))) { - bytes32 label = keccak256(bytes(name)); - Domain storage domain = domains[label]; - - // Don't allow changing the transfer address once set. Treat 0 as "don't change" for convenience. - require(domain.transferAddress == address(0x0) || _transfer == address(0x0) || domain.transferAddress == _transfer); - - if (domain.owner != _owner) { - domain.owner = _owner; - } - - if (keccak256(abi.encodePacked(domain.name)) != label) { - // New listing - domain.name = name; - } - - domain.price = price; - domain.referralFeePPM = referralFeePPM; - - if (domain.transferAddress != _transfer && _transfer != address(0x0)) { - domain.transferAddress = _transfer; - emit TransferAddressSet(label, _transfer); - } - - emit DomainConfigured(label); - } - - /** - * @dev Sets the transfer address of a domain for after an ENS update. - * @param name The name for which to set the transfer address. - * @param transfer The address to transfer to. - */ - function setTransferAddress(string memory name, address transfer) public owner_only(keccak256(bytes(name))) { - bytes32 label = keccak256(bytes(name)); - Domain storage domain = domains[label]; - - require(domain.transferAddress == address(0x0)); - - domain.transferAddress = transfer; - emit TransferAddressSet(label, transfer); - } - - /** - * @dev Unlists a domain - * May only be called by the owner. - * @param name The name of the domain to unlist. - */ - function unlistDomain(string memory name) public owner_only(keccak256(bytes(name))) { - bytes32 label = keccak256(bytes(name)); - Domain storage domain = domains[label]; - emit DomainUnlisted(label); - - domain.name = ''; - domain.price = 0; - domain.referralFeePPM = 0; - } - - /** - * @dev Returns information about a subdomain. - * @param label The label hash for the domain. - * @param subdomain The label for the subdomain. - * @return domain The name of the domain, or an empty string if the subdomain - * is unavailable. - * @return price The price to register a subdomain, in wei. - * @return rent The rent to retain a subdomain, in wei per second. - * @return referralFeePPM The referral fee for the dapp, in ppm. - */ - function query(bytes32 label, string calldata subdomain) external view returns (string memory domain, uint price, uint rent, uint referralFeePPM) { - bytes32 node = keccak256(abi.encodePacked(TLD_NODE, label)); - bytes32 subnode = keccak256(abi.encodePacked(node, keccak256(bytes(subdomain)))); - - if (ens.owner(subnode) != address(0x0)) { - return ('', 0, 0, 0); - } - - Domain storage data = domains[label]; - return (data.name, data.price, 0, data.referralFeePPM); - } - - /** - * @dev Registers a subdomain. - * @param label The label hash of the domain to register a subdomain of. - * @param subdomain The desired subdomain label. - * @param _subdomainOwner The account that should own the newly configured subdomain. - * @param referrer The address of the account to receive the referral fee. - */ - function register(bytes32 label, string calldata subdomain, address _subdomainOwner, address payable referrer, address resolver) external not_stopped payable { - address subdomainOwner = _subdomainOwner; - bytes32 domainNode = keccak256(abi.encodePacked(TLD_NODE, label)); - bytes32 subdomainLabel = keccak256(bytes(subdomain)); - - // Subdomain must not be registered already. - require(ens.owner(keccak256(abi.encodePacked(domainNode, subdomainLabel))) == address(0)); - - Domain storage domain = domains[label]; - - // Domain must be available for registration - require(keccak256(abi.encodePacked(domain.name)) == label); - - // User must have paid enough - require(msg.value >= domain.price); - - // Send any extra back - if (msg.value > domain.price) { - msg.sender.transfer(msg.value - domain.price); - } - - // Send any referral fee - uint256 total = domain.price; - if (domain.referralFeePPM * domain.price > 0 && referrer != address(0x0) && referrer != domain.owner) { - uint256 referralFee = (domain.price * domain.referralFeePPM) / 1000000; - referrer.transfer(referralFee); - total -= referralFee; - } - - // Send the registration fee - if (total > 0) { - domain.owner.transfer(total); - } - - // Register the domain - if (subdomainOwner == address(0x0)) { - subdomainOwner = msg.sender; - } - doRegistration(domainNode, subdomainLabel, subdomainOwner, Resolver(resolver)); - - emit NewRegistration(label, subdomain, subdomainOwner, referrer, domain.price); - } - - /** - * @dev Upgrades the domain to a new registrar. - * @param name The name of the domain to transfer. - */ - function upgrade(string memory name) public owner_only(keccak256(bytes(name))) new_registrar { - bytes32 label = keccak256(bytes(name)); - address transfer = domains[label].transferAddress; - - require(transfer != address(0x0)); - - delete domains[label]; - - Registrar(registrar).transfer(label, address(uint160((transfer)))); - emit DomainTransferred(label, name); - } - - /** - * @dev Migrates the domain to a new registrar. - * @param name The name of the domain to migrate. - */ - function migrate(string memory name) public owner_only(keccak256(bytes(name))) { - require(stopped); - require(migration != address(0x0)); - - bytes32 label = keccak256(bytes(name)); - Domain storage domain = domains[label]; - - Registrar(registrar).transfer(label, address(uint160((migration)))); - - SubdomainRegistrar(migration).configureDomainFor( - domain.name, - domain.price, - domain.referralFeePPM, - domain.owner, - domain.transferAddress - ); - - delete domains[label]; - - emit DomainTransferred(label, name); - } - - function payRent(bytes32 label, string calldata subdomain) external payable { - revert(); - } - - function deed(bytes32 label) internal view returns (Deed) { - (, address deedAddress,,,) = Registrar(registrar).entries(label); - return Deed(deedAddress); - } -} diff --git a/contracts/TestResolver.json b/contracts/TestResolver.json new file mode 100644 index 0000000..f71f366 --- /dev/null +++ b/contracts/TestResolver.json @@ -0,0 +1,1488 @@ +{ + "contractName": "TestResolver", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "addr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "setAddr", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"setAddr\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"A test resolver implementation\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/TestResolver.sol\":\"TestResolver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol\":{\"keccak256\":\"0x4da4417de1daf1d66ee092b3cae0aeee2b5c591bfe881b006f80d2c4e582b790\",\"urls\":[\"bzz-raw://8b0c70eef6d5b9d2d6cda5b0849e2d6336ad395616e90673e61c5a73be66c29c\",\"dweb:/ipfs/QmYZWJDsgw284zSRztKu8jT5yPLPU7ySh9i3agWsnRd9Zw\"]},\"/home/user/Dropbox/projects/subdomain-registrar/contracts/TestResolver.sol\":{\"keccak256\":\"0xcb43c543e5c0cec0e9241aceff4faba5889c271ac0813cd7c8a9591679c7ce97\",\"urls\":[\"bzz-raw://066083789601c782cf1292fcdf6a766b35cca26414979ea92f4168d8964ed011\",\"dweb:/ipfs/QmXsVMDL6F6WRcHftuNF3quBpnwGy65GaZTJxyq2xZ7dS5\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50610291806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780633b3b57de146100ab578063d5fa2b0014610119575b600080fd5b6100916004803603602081101561005c57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610167565b604051808215151515815260200191505060405180910390f35b6100d7600480360360208110156100c157600080fd5b81019080803590602001909291905050506101c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101656004803603604081101561012f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610206565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101c25750633b3b57de60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505056fea265627a7a723158200ce709e21f3f44a72419e8099d0d248d47ab0649c2919aa11db0fa5221eebfd364736f6c63430005100032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780633b3b57de146100ab578063d5fa2b0014610119575b600080fd5b6100916004803603602081101561005c57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610167565b604051808215151515815260200191505060405180910390f35b6100d7600480360360208110156100c157600080fd5b81019080803590602001909291905050506101c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101656004803603604081101561012f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610206565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101c25750633b3b57de60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505056fea265627a7a723158200ce709e21f3f44a72419e8099d0d248d47ab0649c2919aa11db0fa5221eebfd364736f6c63430005100032", + "sourceMap": "142:487:8:-;;;241:28;8:9:-1;5:2;;;30:1;27;20:12;5:2;241:28:8;142:487;;;;;;", + "deployedSourceMap": "142:487:8:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;142:487:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;275:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;275:152:8;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;433:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;433:97:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;536:91;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;536:91:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;275:152;343:4;381:10;366:25;;:11;:25;;;;:54;;;;410:10;395:25;;:11;:25;;;;366:54;359:61;;275:152;;;:::o;433:97::-;482:7;508:9;:15;518:4;508:15;;;;;;;;;;;;;;;;;;;;;501:22;;433:97;;;:::o;536:91::-;616:4;598:9;:15;608:4;598:15;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;536:91;;:::o", + "source": "pragma solidity ^0.5.0;\n\nimport \"@ensdomains/ens/contracts/ENS.sol\";\nimport \"./Resolver.sol\";\n\n/**\n * @dev A test resolver implementation\n */\ncontract TestResolver is Resolver {\n ENS ens;\n\n mapping (bytes32 => address) addresses;\n\n constructor() public {\n }\n\n function supportsInterface(bytes4 interfaceID) public pure returns (bool) {\n return interfaceID == 0x01ffc9a7 || interfaceID == 0x3b3b57de;\n }\n\n function addr(bytes32 node) public view returns (address) {\n return addresses[node];\n }\n\n function setAddr(bytes32 node, address addr) public {\n addresses[node] = addr;\n }\n}\n", + "sourcePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/TestResolver.sol", + "ast": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/TestResolver.sol", + "exportedSymbols": { + "TestResolver": [ + 2175 + ] + }, + "id": 2176, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2118, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:8" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 2119, + "nodeType": "ImportDirective", + "scope": 2176, + "sourceUnit": 2617, + "src": "25:43:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol", + "file": "./Resolver.sol", + "id": 2120, + "nodeType": "ImportDirective", + "scope": 2176, + "sourceUnit": 1185, + "src": "69:24:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2121, + "name": "Resolver", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1184, + "src": "167:8:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + }, + "id": 2122, + "nodeType": "InheritanceSpecifier", + "src": "167:8:8" + } + ], + "contractDependencies": [ + 1184 + ], + "contractKind": "contract", + "documentation": "@dev A test resolver implementation", + "fullyImplemented": true, + "id": 2175, + "linearizedBaseContracts": [ + 2175, + 1184 + ], + "name": "TestResolver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2124, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 2175, + "src": "182:7:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 2123, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "182:3:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2128, + "name": "addresses", + "nodeType": "VariableDeclaration", + "scope": 2175, + "src": "196:38:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 2127, + "keyType": { + "id": 2125, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "205:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "196:28:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueType": { + "id": 2126, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "216:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 2131, + "nodeType": "Block", + "src": "262:7:8", + "statements": [] + }, + "documentation": null, + "id": 2132, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2129, + "nodeType": "ParameterList", + "parameters": [], + "src": "252:2:8" + }, + "returnParameters": { + "id": 2130, + "nodeType": "ParameterList", + "parameters": [], + "src": "262:0:8" + }, + "scope": 2175, + "src": "241:28:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2147, + "nodeType": "Block", + "src": "349:78:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 2141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2139, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2134, + "src": "366:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783031666663396137", + "id": 2140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "381:10:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33540519_by_1", + "typeString": "int_const 33540519" + }, + "value": "0x01ffc9a7" + }, + "src": "366:25:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 2144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2142, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2134, + "src": "395:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783362336235376465", + "id": 2143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "410:10:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_993744862_by_1", + "typeString": "int_const 993744862" + }, + "value": "0x3b3b57de" + }, + "src": "395:25:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "366:54:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2138, + "id": 2146, + "nodeType": "Return", + "src": "359:61:8" + } + ] + }, + "documentation": null, + "id": 2148, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2134, + "name": "interfaceID", + "nodeType": "VariableDeclaration", + "scope": 2148, + "src": "302:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2133, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "302:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "301:20:8" + }, + "returnParameters": { + "id": 2138, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2137, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2148, + "src": "343:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2136, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "343:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "342:6:8" + }, + "scope": 2175, + "src": "275:152:8", + "stateMutability": "pure", + "superFunction": 1169, + "visibility": "public" + }, + { + "body": { + "id": 2159, + "nodeType": "Block", + "src": "491:39:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2155, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2128, + "src": "508:9:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 2157, + "indexExpression": { + "argumentTypes": null, + "id": 2156, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2150, + "src": "518:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "508:15:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2154, + "id": 2158, + "nodeType": "Return", + "src": "501:22:8" + } + ] + }, + "documentation": null, + "id": 2160, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addr", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2150, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2160, + "src": "447:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2149, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "447:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "446:14:8" + }, + "returnParameters": { + "id": 2154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2153, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2160, + "src": "482:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2152, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "482:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "481:9:8" + }, + "scope": 2175, + "src": "433:97:8", + "stateMutability": "view", + "superFunction": 1176, + "visibility": "public" + }, + { + "body": { + "id": 2173, + "nodeType": "Block", + "src": "588:39:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2167, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2128, + "src": "598:9:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 2169, + "indexExpression": { + "argumentTypes": null, + "id": 2168, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "608:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "598:15:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2170, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2164, + "src": "616:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "598:22:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2172, + "nodeType": "ExpressionStatement", + "src": "598:22:8" + } + ] + }, + "documentation": null, + "id": 2174, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setAddr", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2162, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2174, + "src": "553:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2161, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "553:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2164, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 2174, + "src": "567:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "567:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "552:28:8" + }, + "returnParameters": { + "id": 2166, + "nodeType": "ParameterList", + "parameters": [], + "src": "588:0:8" + }, + "scope": 2175, + "src": "536:91:8", + "stateMutability": "nonpayable", + "superFunction": 1183, + "visibility": "public" + } + ], + "scope": 2176, + "src": "142:487:8" + } + ], + "src": "0:630:8" + }, + "legacyAST": { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/TestResolver.sol", + "exportedSymbols": { + "TestResolver": [ + 2175 + ] + }, + "id": 2176, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2118, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:8" + }, + { + "absolutePath": "@ensdomains/ens/contracts/ENS.sol", + "file": "@ensdomains/ens/contracts/ENS.sol", + "id": 2119, + "nodeType": "ImportDirective", + "scope": 2176, + "sourceUnit": 2617, + "src": "25:43:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/user/Dropbox/projects/subdomain-registrar/contracts/Resolver.sol", + "file": "./Resolver.sol", + "id": 2120, + "nodeType": "ImportDirective", + "scope": 2176, + "sourceUnit": 1185, + "src": "69:24:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2121, + "name": "Resolver", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1184, + "src": "167:8:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Resolver_$1184", + "typeString": "contract Resolver" + } + }, + "id": 2122, + "nodeType": "InheritanceSpecifier", + "src": "167:8:8" + } + ], + "contractDependencies": [ + 1184 + ], + "contractKind": "contract", + "documentation": "@dev A test resolver implementation", + "fullyImplemented": true, + "id": 2175, + "linearizedBaseContracts": [ + 2175, + 1184 + ], + "name": "TestResolver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2124, + "name": "ens", + "nodeType": "VariableDeclaration", + "scope": 2175, + "src": "182:7:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + }, + "typeName": { + "contractScope": null, + "id": 2123, + "name": "ENS", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2616, + "src": "182:3:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$2616", + "typeString": "contract ENS" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2128, + "name": "addresses", + "nodeType": "VariableDeclaration", + "scope": 2175, + "src": "196:38:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 2127, + "keyType": { + "id": 2125, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "205:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "196:28:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueType": { + "id": 2126, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "216:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 2131, + "nodeType": "Block", + "src": "262:7:8", + "statements": [] + }, + "documentation": null, + "id": 2132, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2129, + "nodeType": "ParameterList", + "parameters": [], + "src": "252:2:8" + }, + "returnParameters": { + "id": 2130, + "nodeType": "ParameterList", + "parameters": [], + "src": "262:0:8" + }, + "scope": 2175, + "src": "241:28:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2147, + "nodeType": "Block", + "src": "349:78:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 2141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2139, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2134, + "src": "366:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783031666663396137", + "id": 2140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "381:10:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33540519_by_1", + "typeString": "int_const 33540519" + }, + "value": "0x01ffc9a7" + }, + "src": "366:25:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 2144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2142, + "name": "interfaceID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2134, + "src": "395:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30783362336235376465", + "id": 2143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "410:10:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_993744862_by_1", + "typeString": "int_const 993744862" + }, + "value": "0x3b3b57de" + }, + "src": "395:25:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "366:54:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2138, + "id": 2146, + "nodeType": "Return", + "src": "359:61:8" + } + ] + }, + "documentation": null, + "id": 2148, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2134, + "name": "interfaceID", + "nodeType": "VariableDeclaration", + "scope": 2148, + "src": "302:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2133, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "302:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "301:20:8" + }, + "returnParameters": { + "id": 2138, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2137, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2148, + "src": "343:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2136, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "343:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "342:6:8" + }, + "scope": 2175, + "src": "275:152:8", + "stateMutability": "pure", + "superFunction": 1169, + "visibility": "public" + }, + { + "body": { + "id": 2159, + "nodeType": "Block", + "src": "491:39:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2155, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2128, + "src": "508:9:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 2157, + "indexExpression": { + "argumentTypes": null, + "id": 2156, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2150, + "src": "518:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "508:15:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2154, + "id": 2158, + "nodeType": "Return", + "src": "501:22:8" + } + ] + }, + "documentation": null, + "id": 2160, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addr", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2150, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2160, + "src": "447:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2149, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "447:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "446:14:8" + }, + "returnParameters": { + "id": 2154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2153, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2160, + "src": "482:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2152, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "482:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "481:9:8" + }, + "scope": 2175, + "src": "433:97:8", + "stateMutability": "view", + "superFunction": 1176, + "visibility": "public" + }, + { + "body": { + "id": 2173, + "nodeType": "Block", + "src": "588:39:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2167, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2128, + "src": "598:9:8", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 2169, + "indexExpression": { + "argumentTypes": null, + "id": 2168, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "608:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "598:15:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2170, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2164, + "src": "616:4:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "598:22:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2172, + "nodeType": "ExpressionStatement", + "src": "598:22:8" + } + ] + }, + "documentation": null, + "id": 2174, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setAddr", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2162, + "name": "node", + "nodeType": "VariableDeclaration", + "scope": 2174, + "src": "553:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2161, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "553:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2164, + "name": "addr", + "nodeType": "VariableDeclaration", + "scope": 2174, + "src": "567:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "567:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "552:28:8" + }, + "returnParameters": { + "id": 2166, + "nodeType": "ParameterList", + "parameters": [], + "src": "588:0:8" + }, + "scope": 2175, + "src": "536:91:8", + "stateMutability": "nonpayable", + "superFunction": 1183, + "visibility": "public" + } + ], + "scope": 2176, + "src": "142:487:8" + } + ], + "src": "0:630:8" + }, + "compiler": { + "name": "solc", + "version": "0.5.16+commit.9c3226ce.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.22", + "updatedAt": "2020-02-11T22:30:19.767Z", + "devdoc": { + "details": "A test resolver implementation", + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/contracts/TestResolver.sol b/contracts/TestResolver.sol deleted file mode 100644 index 9d4b5c0..0000000 --- a/contracts/TestResolver.sol +++ /dev/null @@ -1,28 +0,0 @@ -pragma solidity ^0.5.0; - -import "@ensdomains/ens/contracts/ENS.sol"; -import "./Resolver.sol"; - -/** - * @dev A test resolver implementation - */ -contract TestResolver is Resolver { - ENS ens; - - mapping (bytes32 => address) addresses; - - constructor() public { - } - - function supportsInterface(bytes4 interfaceID) public pure returns (bool) { - return interfaceID == 0x01ffc9a7 || interfaceID == 0x3b3b57de; - } - - function addr(bytes32 node) public view returns (address) { - return addresses[node]; - } - - function setAddr(bytes32 node, address addr) public { - addresses[node] = addr; - } -} diff --git a/contracts/deps.sol b/contracts/deps.sol deleted file mode 100644 index f278e19..0000000 --- a/contracts/deps.sol +++ /dev/null @@ -1,7 +0,0 @@ -pragma solidity >=0.4.24; - -// This file exists to persuade Truffle to compile contracts we need in tests -// that aren't referenced anywhere else. - -import "@ensdomains/ens/contracts/ENSRegistry.sol"; -import "@ensdomains/ens/contracts/ENS.sol"; diff --git a/app/img/mist-logo.png b/edaf0aafd04a515d4acc41aa09af10e4.png similarity index 100% rename from app/img/mist-logo.png rename to edaf0aafd04a515d4acc41aa09af10e4.png diff --git a/app/img/metamask-logo.png b/f7745a98eda755e612fa564532c302d6.png similarity index 100% rename from app/img/metamask-logo.png rename to f7745a98eda755e612fa564532c302d6.png diff --git a/app/img/ens.svg b/img/ens.svg similarity index 100% rename from app/img/ens.svg rename to img/ens.svg diff --git a/img/metamask-logo.png b/img/metamask-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4c4385ecc54cc8e31aa3f1aeec8a8d4b97e6edc9 GIT binary patch literal 42351 zcmY(p18^olvo4%$Y}>Y-yh%2;wXtp6ww=6jvaxO38{4+Ex%-`S{`22ERimDs?&;~O zu4fRbC@+Bkiwg?^0)ikVDXRRh9{ZPDp&|d38uTbp|0+;tWeH)Bni>4Fe;pVHNlj-E z5ID5|WKfW-9PED#nwF}+Tz<*P@*3OQG8&rL8<{eC*gE{<1_1$h@cwJsnz|Sgd)V68 zIrDn(ll~V6@4xnc$V{Zf|Ha~B%}@GEPLWu|-pQ1hgOQz)nN$Fln3x#gWMamvEGqs# z)BpAONiAGl9C(?S+}+(7-PsuJoy?h7czAf2m|2-vSsDIuFgSbKxfpsd*g2E^w~+r& zj;N`#v6H2Pi>19C@qgqR8ri$L@RO4MN74VL|6ZqyrP=?l$;2P5){Bk9+|Zz<+W6KeYeR17P}(^8afw|841iQU94L01IIH-)$3s zl^vkc1OfR8A|)!M>H&J$4U=yw=E~SL>vFO|#?QR?vvLkR2N^jLjuslbh$WUX3oE>< z>o-#`uAGmQY}+XtrB#g76dP*n2sy6pL#1N?WU4y2s4YelUZPMSWL9Z5@Y-kg)_+Iq zX{n}rwtY+PbK0BftmEafLTj*9eW_+$t@Am>G#q)Pu}Zq0OV{n)@bH}kc4Yi4l?UCoY7}f&Fb&$PIElGYarp@ zOPTNcG(OX+2dNn9baUJDC^v2a9WcR3Tm$W`I)Ta>{qUk^k7YOQ3+ueEYTL5BCX1KK z)|*W4z3L6K_*H)0xBc&&k0<>x&R8yzL4i60Jbnu(LxrK*FFvfi&%?x-A&ttV8R%WD zK;7s^$RqGhF)Qp9ii%2VcN{}EgR zylx{n#6!G>vwZ=qsyse_7rLYg$wIQ9dhw_{0=2<|^lIQtdb)rfdhkmzp z!~1!)z2_&F+l;^+*sRaWdb}Fr4zt7*Hxzy=&sq?_8_7rbS-5q+Di}r+4PT#g6E@ee z#}}Oa>m}L>yxd! z>9){I&`gkrv!zwEbbP_O12nLuXR(KBc{mq7l3I{#24An53;~m`C$9HU&Eu zc`c>kc8Ri}IOS^NRZovX&Q9~5Z)3g_D8btgcl@WX>Aa6kbOIj07wt{l;9ICwpBZu4 zet@s1K5|wnYsb z|4-)crpEKj9-A}Go3*wh^=4-@YFk9^;SQr5wj%nAS*`SfT%@LXwz;ZqXXZ$B5xnAl z@wDmvl#{IL>50V^RqKm5)>Cyn!gx-tFA4Z&y?QIVcZ_d`k)92Apwo!Hz{7`x;k)aT zzL7>T4+`aW}aMKH_(|bpV6S;_EM4`i(!!QZKKSGn&s+!)#2yc$gn#iek6Y z>50xwrp@4TNkulwO^~jpD|S5dHG7>U;B1r7TNKobxYX^NbKUf-w*=>aJ?Jsot@s96 zM_PZFLLK4ZUz_#)&N3_G?fE@K{F_~!8s)SJ;IZeioBjZ$o*v9l~d|&<)D(L)8Z?#E#yKs~ z)7%FiYU=JB;s8e@liugPb;ffYMkM(n{YkFdwMUCCJIB@>n^|iKb{4$hoS$z4 zr&KlHy@6!P%wzXCz-_$L(&&NAA^GDe2-rf7Q-OpzH_`Zvp33ZUeq$Zh0}=fc0UypuAOgG$ zAEmW3T6K?tEJx)E;47|Ke@fsXlRsqdcLON@$GwSZ(Bt5qpcz6P#+rpAgc%Aix4`#X zQJ(I@?wYm4ORw2)&hH;CF;#0;rrg~Y^>;;IYIxkcPF~-!L|l#9L_-Bw=}iwb7Vu`1RM{w;Y?eJ_i=+tR1yylZR9C@zy?%9Dc;9Y2Cumob&}H z0YNhHX9iYrAepYpvsx$@x*oBfs*C{;G&5cRxXL06M=zI}T zw8$l-Knd+~Wb?{T;jHTBEe+e3gWYfZgo7W-N_3X{G{*SBAbwX|dXH^XG3w9$rAk)- z;3D1FDg)IeB;kOhk*6CHhx0Ad{QBc4?`jOVO;e1h6hu<^U2we?(_fJbtc~csN4XzgwHQlEY z3W9DH$E_^ByzXm1;U183T)6mhIcLjRnkAwK&>>@yufhb~qG}DKIYQM`2@^I;$~e9iJ{eTrev_fbvJU;j-|l8Gam%reLWD>PuRq3^mhw ze{*;EOb1OG?_R#^Y}Z=p((Tu!*yas1I;luMx2v9zWQt*{UUz4 z3Auyoh6SHC>fFys{U-1shyG|rf!LDB6QF9Nwi>tVV9I1A$SO5l*etBZ zAotffJeO9psYrGDRErgp=V0F>|M$^!S?{-gE5pZ$wCN&eg!a{~Uv|CAw$|;P!?C|R zg2BqcGg1sD9b%(; zFY;Idx*>lzB^(NCn&<_~#@he_It%fz#HM4gb&cd+C^f9ExQpATM@fiNyXOO{oS{M z??c>)i1facZ9h9lQWczXT)}@FFxs;!6tqIoyeW1&?I%AjcNmvAS)vz*4_M>H zA{(cvwAPeUVLVvO1voICL1E)5d1MRuw&hKZF4=sTd<9CFLGAc&3?;?)Jp21z`B^%? zyLvpyG~YEww_CR@cz|jY2zz|n1APa|i`aUb3RxcZF+`jd2+kf-sqw#99$E*9%9H?l zBQyDC!-;{YmmE4J@8Z8o_P_k$bK1ObeNc$)&BeSFX~eK=w0xheY;&E^vX>~Sa<+=*R>-1=U4LzB|=sG%otvStp(m^Nvq$ep05Ej&;Lfg^L?dR{g(pwK%@Ou?>$ zdp0#_MFsG`T{sMiAmm$=YW)Nv_*LJgE@nDT+XBmuJ2V1C1SD8DJX)dU?qhEih) z2M;~?)@uvlVpWj0qM`O>*U|pLHb5u)8*MuSx+*K1xZ-E3*;GR3v1OUGp14y^jsl?s zq^gnIVWG6!Ol0h(g={yq^*>L^Y@>`97r}>(pJ72-!FO}eW0=RwuQc#GgX!m<{rT&8 zFheFF_*aOp+}#r}7g`yQzuvjU5;>R+wgiGycyiE^@6y!f@>No~a%)wP5cMb zA`5a2K46rP5+x~-1mji*XSKJtaX(0~^Z6s2L$NIc1{Zuo=OlI3|MS$b@uPNBETwGs zGZG1~cbEaHP1yKF#8U?OL>?4?&q{kFd4UlD!%Od6F-!&_k?Jh}sK%%Vy-%B7&SVfL z&j!xPe<rf7Du}aId%4Kg2D->dRHfE)QH)BL zTPyQjwR%BweV+sO^=eQBRyLZ|VmZ0%P}H2BZ9z#ExR8_io&vX`+c0W8F>FmKQ$LX^ z-wsdnTU3tX2fjgDdfkuZvp*~qw{iQri_M-nfBa214#&Q|w)K53oNptw?$Xkp+Dd=e z6eap`o8WASz6ljyYBK5g9VB13n`nMdT{sBcJYob-_o!#DFsx??uRSpUU97{gHma>O zbPlEV0}~oUZw@*}R&MN^R`;qUd(de540t!ee;|d*z7#sIC{KArFpzhIcEyrJhJ>_V`7VO^D;ggKaqug45?+uTB&P#T?QZO#BK2FpXmNcjx;{-Vx!zni$t#bHW zyjw!CyMy*~+%07|-JO5T%Q%p+>2O-w?EgktxHCY_&(tu;6UoXg;fz?Sl`ywjQ*HcP z?fVdWVZYtJZ}0yhl6{>-uhEO>j*ibWBGQQ0+9C4f)9^f7>pP26#<>2n^Kmg9o%TFU z#Q$g46>g@$;fBTy#vQ^fp}OeTlQmJuF|t;KhU>s!J>5pMc2bY8Kix(L0at-Y0=rvA z-6+hBmu@vscwY*iog+c-e%|dGWgWltR1?E=jcZ=d?Qdtz#yvj*c9;Mm?`S2XUhCzm z%`8W()rBnM%>b&7X#$zBdqpxDRP0Y+Oc`Jyw8$k=)QOsz4z?A?lvo`66V*D zbeWEDnnaqy?vm6m4WW@z{nhAGYT`nRUtjBAr<-%(gqi0bt4yCuQPrAm95wU8e+Bm# z7~KAhZo!-xSFXY3HGkq+6M5bhj%?DsTTd@)AaQ+oG!io%7BbaE{R^b(_`%OYzg?(| zCJE3zR1f|31h#u>jTJt(dhy(M*J)EJZ&VGC^G`ZjAUN4z-F`3iK*=IEMF!VVOtvlJ z_E{}&*JYK+Kv0%%-}BA#oNXpf3}IC)!PeO9pU&@PNFAXghfQHx_EU=?lP`UM)21>z z+9>;$;)G1X4)Mb{fVWPX3%aW^@IAcZ5>5=HM0Zk6Xps`KR}sdbBbv{+!ODUph1mcG zU<|9ZhGD*Jnj3r9+!w!82L124UUFVNtEOaC0=X7!R~raV9={zG&f&P=v=~g+%64x5 zl;zF|K54f-9ek#WJd7H(@6>1;o(JEiViyBM=T@Jr|AwjOMW?HCj_9&DuQcm2>Tudc(XM8UKih zkbceC`+ZTf zrC?Zjn;*))f%HNW*m5vHbkpZ+p}%1U){>>X8n~V*Bq;tv4PJcJlZA6oRnm=>YS~fi zsAELVz$x5O4t$aR@`bC{_dsEL+!FIfuSr|R?`EIl8{=i9m*|vZ6+!a4DjSXTfZak= z%2Kw>DNfM=fGOP7(6b?5Zu1IY%Nl-l!!6Y@H=N+$RqRTScDs^g@gPQDrU*7S#~6wc7Lm ztvX2M$*NIyeb#AM({9JCPlB8Xe|Nmvc#A&{h7}w84xm)iw=xaqQjOVzm`nRzt)ztTZ{&hOzqn)9jW$d`<)$j zFdFrw=9&4RM8*R+5P6b$E1C|2Wi4cJb6^Jv#cZ%;ub{KpYi;5K;V|<+S6j+*uZGZ~ zPxc4)|D7T)g_DW8lEduQ$Hnae(RE;_LiW%%rNTcn45DYt*{L>imHr4-Apk3#PQKU! zDP@qS+&q&a#PVdkAh^7Caj9K??+g*BB>xKQlME65HCpF{$($6E$vOqmB|{JfU9t+Z z%5&|Fj>NIGHbIy>bam$2B-MjXof$HR)0H+pI4kNs9zD_)Vw|u~^_rGKe;|q_<%XgP zZO1<@Zl;|)8yw)C5O}=#wj^!Mp@9-b28IGLM841xZlc3-lu>F!YJZj@fpbPJFPWHr z&YWw+Ive%;;q39`yO=ANy&>?#E!%FBO6Q2tupLK0R*xHv7Hv9a2ddYVZ|$V35&&(J3-6gw8Q}!Fk^2LQ|2w9OU#! z=}+j>@Gc2qP%y9n%DPw)ddLmfUZ;1YJ3z~A#)S#ao!M}}=KxW*5litKYySO0ew9Tz za8dI(C#$SDmrojg1!bB;$awfQuF^q+%=b|fY3ofh+i2Px>_vlCMb&h1+|gLN??-%0 z0y5EBo0Vdkp+I7^jlIEjolP10d9e`ob#xXL(_h=c;Zh08KTGGJTAH=J&M3y;A%N18=C>O*ATkMOMyL#j^?FHq7)^;?-9l4Ft zY`421+5ufTMqd?4&}ht4LQLw6XCDLiLQ^#TJ{rY8ygfZ-*zxW(t}|u{H&rHqK{Qwr z$sSBtkDBblP!AA8iV{5WPZ5F-MAB^$F&lIZHj>8l)7g!n;%}0ZUv$_;;#JhzN%?Fv zwFze8Ad;nkU>Kh$QDAzAtI`~1Ohi&EH}f#vZaZ9+1kmHb&SqO?SgnG`YTR6$y;0d1T~2K)qDbGG=r{aL~-RG$MSA*?e-j0IUM|q6l+_)zeMx z_^g~f=Rdnm(R7sA*EyqG1=z<&X)aC=;(PMTOi^Rx;-dE<{bbCw*V+C_kk7p6Cp8 z#>jn04Y%l-^qTdyH6TTTw>>3FsLZ&kO{mZ{qI9;JxP|M z+)3{^?Z3pv4C(nv5|_f{l>L#6OXIJPYrgSr4YS|*nOlJ?icVB218zEVWmSrcoTd#4 zkyp{`7MSev^;*wKGN?%C`5+*pats7Nsa}^F0}@*k{7CbKL!%n#S1*Zads7)EK-rX9 zr40pcRamsj7$=9_T#!mt^WOdf&f9Vki~~b#BQzWf8%o*(g{=lpf9L(+hInKP%uk}D z3|CBcMHG6RG$jbcJq*+{a5UQ`xp5KSQ)Ze_Y&5#1^>SS-l|wsS(Kp&d4w?i_K__z_ z%)=)kLnx$jD#h9@wP3w$R->l!fT{FCD(tdkmswd{`(htBklipH4qpJ!tTjJoEHB#4W zjAW>HALT4vqv68F`B#;Azb&>f41CsBd|A2^Xa zxi#6(o;T^4k{*Y(u$6>3&HQs@NZFH@YKs`n1P+3WdhaQTi=x#~D*XuYpeb=Q>Sl9g zq9-cu9-1-XZfta>FSq&^^t|dWkMg_>qxSs@Tk&-&1V|cDwQ{Mp6wR>94=+Wf3CerP z`#NJX{oA#+p}ksiJN7k6qs9KP6TJBSXBR)`gHoacQ0JWX_ij~0Dva9I3>hC*@WkHV^GV&knqXpo0e@aI5bly4=la^fL+cX+AcSJl7sAQs| zq$a12c6 z&_XoCQuCzmK314^c7_AQ?xNMEz?XEE(78+Y;R@dr(d^kbqbqNH21$_EA~TLQo$83Z zbTvo#nUuSqgMpey;;d2Q=DdRb`RL_ha!Ya(iFQiLs)J%Tw`h--S-l4?=>nxw^D81z zFv6ggGS#^6rnw?l&rYZs-bahJ{L0Wsh%s89_)=MKH}yTz4R2`Y^yJ~c?K)ATePNk3 zU-YD^HSBdBKf?y#y*N`pA)}44+8U8uq4qSFV#Bm-z#_1@HpC42SWyiS7yL+h4a=RN zVfY3xy78^uz0o=QcwOmjQVq4v?r3H?&4Wv@KxV4g3>i%DMoi(7ZH>hzeZx(N%!pzk z{|eAqW%|REY0PntiKE?J=uLw-nQ@#7iU1ZOS9#s1dcOGY_Omk;O40n2&h1B_@HlPx zCCD3eB7JbwaAAO-DzPAKsLPy`{c4Qq*xm13q{uWlyuDEDjv9>CFu=xHBh>M2taE2| zG24s>m_SRULPvefYj{|S>CfFMI)XroL#^dD^1;=`vt>Hs3X;8F4U7a#)SmlnIQKA- z_jZxm<{mJcv=M>Vs+`!s^vh9Otd;HUp@^W3?s~6&&z8=-a|l~?>c>BttG8b9q$%!S zcIcx?@e`Uhb~1yL$OfqOsQN$1RVaRE{;=pWOV+1Gn4(6j`$b(;a7SiFAX{M5nlIlI zlo-5|A9GVu_>*KTFGW)86+-7A>mO2a*kY7C6PHYPmOWi>m+XT^NCVh|3Q5u0aU-|i z6i@}PC+_b59ybAE@1kqi#!wExTg$= zm7z`F_u_vzY{ie_rQte)j&4d}^t`1ps)Be$HLc18E+ibwrTKh?HA8Sv?oV_L3p6OJ zRjTTD6lMAnRH_yZQ~fQ*%1yR6VXh|PNDPzH=;!1dgZ_cDpc}6G)#1=Z8U$X5{riGM zA(dC=G1aLF3mtU|Q9nD*Eg*AHud92HQ2O?9(2gVV)yI5y+s&NNs_R0Ox?OXerd0G$ zTF3DkqF9vP0-AD2l=e=JVQ#3jX+G5f>E1R91%l)fwH?9o74Z=6#P1)Rx*_3(x`ERR z_HO?Lfp1wX6%EgenP9kx<#SD!mqmHq?$IFkh0=~C2N+H&ppuR*YZH}7qdEb6Ggs$J z(@-w<0r(&%-$i7(?E8QGi_aU_{V5Z9Xz5`_R%FvQHdMtVkNFr#F{b>q%ogWi#fIFm z+EgCn6mk{m6bvYESMcd%wR{foCjt-x=xsgy$5Vp|v%hlJ)qTciW!c$ksBhM&ArKPUbIig?q6>1MUv8a!JXdaTx+J-fBr{ z>8+-rvN-IT8=k!*9hJqfLTD1C&yD^C?=c3 zFUwkJlN+g)&$WL-`npbN(kGa!f3Box(Bm3I&S%PdcAq90()S!lHn!F>G9XxCJsrth z2XbI0c$SW+G4`l^j*q@m;l5(R;ql;)Ew~+!o#Kl@GDofYG2y~5Sc-yr0zZ%^^G8(r z5)mDRJNgvvL~woL2=OsGJ{wq_4m5^+Q!66v?QdaY-bp*lnx)tVJjE+$(!gJPh% zdb9l2uFceUW^2Gu6(KI`YcH9vAZ23;$4-1zct@Z&0lCIWX=LbUN$z|=x`XpEg$|E) z{e51f&(#i^i(__a_Mm7HrAI1xg7rg{Tp#4+;T+I|HJe<&4Nf!KDu6I~zJxvqKy)4N9MV*UdU zp5K#Vw5E~9#DTP5tPIngX>{CS8d!@-GK-+R;x!^t3UAA6?S9g(I`^m5-GyoUFD)0& z*%@O@=;bc{0_bY(JiyJ7@PBNLB$?&Gif@#%J+b^;o>vhuC=_fD3vXj1AjC z4`+ucF<}bIw2RYBQW!pDRdjCHaMS;Hr zLw&&W0;9cIGt#ZI=CO3bxe;zODx$Ox-C!4-Ud_Mr7m@Z*e!BqX)S*J07|OYu(2_&e zIm?Gv99$F=kZ3m?LyF3w-5^9t9-@CsW+AQ0dIz5DV}870XU#~KU=Xha9dZ<}!U$}8 zz_bSrJq(b>_c%pXYCg9^E?$^QL_{6bz^jqu{=u4vnql`O(WgvC$YS76hEjUB#rnI8 z$MmWDBGO|xG--5HC{I$HZ>c4G&w!1L!;0pwrbL-3!xwU&lJ1w~R(@^EeJZ_G zSAg{}Frnm388W9{r=~F&9PFXSWyd090$m@hg96=oqOtpB*xa5U*kk0h=l{TOVbk`cooYdK0dUIxYCs#1JGhTnl#vinQ8*(`kAlJ^d+!(XYVfqX zBL-F+rdYArabDJXmmN#_5GoUw!pYJpo|l)9Bw6vO7n)y*d!}Eer9bQ5vVTi$J^5(v|g`^WIN(BvWqD0sd7uHfKSfETDKvXDrNv+*tEFCHa z*>j$(Z+~w^ts#y?Oc$GT?|Z)7P1rPaRZ^P6{KL(Kqs*I@RhqY*!83Dop9NBS{SBUR zwRjeEo8OI}N=p1!v6lDoA_#|%s*6#JO0$B{1$b^!eK7H~0=0I}f~D>>8T{WtyE2RN z+643VxKPD5l8p-0T6MdEo7_Nt>QOLEfqT})Nh z^f<6kAuO2){}-AL@%i9o`dn!7d{ME9kk$p8~ZaHaQ;{@H45yep@c?4C+ zEi`e#R31QEYB?bd1iWmj0O`gwUb8e8ca~SIwuK_;Mw|nhf=xQOS@WI_IDSH4{^?S} zltY_2c90D*0IOrgJYkg4&ShZ07Gj1`J6j2uK5pFlbyP^xi3Q5LMbgj628RS*5=wiK@&NuL*2HBF z>h_IQZ=(%?>JTgg)roT#>u*Hnc`2tX^V~{RAcvElWgc2K>8Nb|5AaY`$21 z2DIe8l4Bps4$Y+gt|mFpaJwvyrd7?2F7Rn_%8IR(J${fMJW^W{%PTM}ZEfN<-T^!d z6iuOO1QkM!w?Kd2BIl-L6emJl^L$L#mDV+d*!&2s)Ko{G5u0WXLTo8wlKss9HxKXc z&qkj)2#N_3Q~GfnrY&x+bn~}}gJ1YkuRYRTH4BXNcAM){*V}uo`I2nd(D{kd(?8*q zbabebIu9qjM1{W;4A?&iXV`jt%-K4TG={$lO7H(l+E(C`#1%P6n@g#{-;N>nC&Tog zmULypH?cDyM<1mdp+*xdB6Sa;2<)FWPC92pTK7;AI;eQmO7PL|*=_sxcjA~0&`U!` z5r~SwnIU3Z@wPsMpd;2H5G#iF8juJlj1ueZ2jaHeNioq`R)~VG8|CbSzkyg%=~1FX zrmf(p7qhkLb$sN?``n`ouMZ26>kB9@Jowy3wOae&tzeZpkj%twh9Ik| zq6AI_hXzk72eq^ufMw|SyTsGk`XuUgfvw0Eb32JTo`W6zG)GsX#yUN0P}0(s`N>UU zkHTprLWPt>0a;#->^Z?E-&uM?aYLShCVxhpJx6kAv>Zvl(p-R5pnFBE(nt-1DUO`! z^HMXS(;1vfFL@Lzp;OK}19uP?jdfa@bY5b4mUNtoB2AV+?#6Ff?B+}`wkl})Cc}b8 zP3fH97tnQen~%3h!7n5M0+qx849=AmuYVzgZbFCCrl}veC{t_ z?8lxmiL(B~Q;BCT1B+qFO|$UC6+@Mt_MC@ml!THURJq)+*R_;x5J^$Ikvg48uKp)` ztj)vmn^}pU`>6*=0ULZ|prR+cNQaCA-C7c$5$cd)wcG~Q{GGgQI!LgTOwfe3UzGKj zzCV__4?Yxu`A3}%BUVF%4qAys5MKnw=uIl%udQ zu*`KoXO?mzwQ}*+u)v(Z2FNgiM{(j{x}yh~5esOUj!NN2$4y~O&BxgbZv{$zEm>G-nJ1@?V|zQ~*{{Lm z&Q;37)w)X4j9x)Ip;Jn+erdtucq}Z07crYU1B!C8kKhdF5#pK10|N5Y2GkNiOBORM zmuo(iWgW*ep*f)wheG^J6csoN6%!l0}#oT zA0-;ji~FD=uOAlSaz+3TLtbw0^REIh7F|g*GwVDCNF=2WMg0&K#Ocu~70d|Kl_MZh zMC$Pk$?TV8B3&{|5=on8z(N7gAIL?gcnDBZDT`YMdV&+Q0eCDygP4}8=9C5)MsroZ zzcZ4g9E$kwLkNr_#pFrJ)`&$AR-$P5ghofpxO9D+efKhAg1~eMM5$=dQVXECgAB@3 z)X<`k>2bocC+f3(@@Svq42&_$_I*Zl%u}65 z#uvL}(vK-J)}thE(=bC#ryW$Pq}M#m^gqF8Jr}uJpwlW?#hI;k!U`meDPp=9cb91@+(fTsM6SFTYB}W>98EP)S ze*XKT4%zDgXS|$v*l-9)Q;DcnD%QCZl|fNnq{(eKl+x%*>Z+%pA{c=iOICv(fV+?I zAWv37(?%HjnIB#fA!P{_wq2IA!F}DjnGh zNs&&hX(phSpmc&w*Vvhi2M0}#kC&G!P;~UX?_nHe45j1*VQOYn@oyRar0Hf@HEO+5 zmdzRj@jV$If=d!aOe%f@-ElY`+{G9U391Y zJai1=pr?d1*cm|32S95{qC-xUIvYTa^)#fpVuf>u8O#2CNI++g*2F}(c$oe`9(Y_K z6sD;iHCidEt)RQT=6`o)y}apl#*btl3=%A5%;mM(M03$)AotN6ZM}Fiz&7p*Kl^}< z+!y~FRg7NCVW?q~n8?>y&nYmSm|KChTxZ6yE+5@-JRL|cnb+W%<;1AXoHKUVz*qo? z_1v8sKgnNRm>C}D&Qm&RBNWGjm#0Ii!mq%eBazpfsR}M)D(^%u5C)jy( zgQI>4A5FO5E6JPKPLSWB!&;ir4ECAso&c3+)nngN5>1_8Y%>*vtzb=Nl_UE|TD(lN zbpGaCLs6G5D*kY}kr4J$}%8|jA8}px1GIp3O`taoLryrTB)W42p zXVp#kETCx`N2@QBES8yV-gM#mf-}D7`U>;&`QdCQi`l_axHj7N&7+^Zl9354owE{& z8aELm2AoM+vC&3C3;cbHA_4}Ze zF*hp{lt?LvR3uM~$+F zF3$Q#VWcx;!5q%$Uz1}6uI;zbuT;}sz*3c7a1orPAy)~+cy2)))Z9K{kPZ55Zj6&G zxTfGlf`LF{zbv$D`on%`n*r647-WR(#lK6n+=E3d%rvTlQG?KPBOMuT6sjZiNHMy~ zvNwZ)t{Fq!AV7$V4qV74gbF(?r(y&)3rYqk{oz!rs_2;${-5Ldf;1$JM!1#x;4+SE zJ4bRUDjmBVkjKG5AAN{~fUEYOY~iVhGc>I5_dh5d8Nl-sCM^r;(tc(sEFOlVLa*Dj z$ue4&^o=Q%8$@Yl+H(mw*?T{+t?~>^M>(+yN>M$Q?(&3g-}Ose^S{GT`8Yay+qI=N z=ZOnU96bdW(@uOPaFK|^8PmdQ$AJVYD98~Xj!$R@Wr!mL0Xg~4MFR?}N)_A=sV5=Y zepdpFUj{3e1rr^9@D5|+B572#>EQC4lA58yFWmDRz}J|l-NltR2v?=+al@DZWtm}l zfrgGeLAQq0zW@!W&G>LMw`0c<{Y>+O-EC16yNCiM1bUJvaFR5Cu|t35+gyt8i-#pp z@+|kdz>^4jlFlb046+yt2`Rxy+=m$C^FK&91sYOHqUq8w-_9l)w`_TQub3&kUn%$> z;dQQF-yN*$!MB@{d*al3NvnU`XE(mB7>&D|n$99%2jDpj%%eADw3}%O zrO*>9scb=8h^4fssBG%gj3vjgZ)HuQFJ9tbegk@cxtm~Asy*4vgWx7s(7DRgflDu@ z&BEjuEzL{Gh5^F-A+ZaD3q+bv7YUZ*F2esYrM}}PI9z((xQ(M1 zNSo{nk6#(FU&g!2kX%mP3-Eh-X6O>|`{n1X3B-@kT zXy)IowZkTOTi~wqaiCwO>34207&Zl`APmh}q8!HJjY7`*YSh`Dvg$SqOD3sa>Y`ZWmU1D9u30*)d$TC*o!XYIgkB7rR$#` zA)!JT0gUW4^c3!awwG?2A#t=Ir`@s~$fTiGgz7(eG~#A33aJu9H>4gFhc_^i9*NBq zT@h!Ec|#MWrN+7SP~64Cm>udi`S)l|O60uj{?kM04=A`ONMH%eLKu~nVo_VD0sVv` z;~XiWq|g?b9T;ds%eQS9F>YWcC8B>Jm1DoZv{<%UjW8$eL)q7{SXmyVsm~^{b^R4v zE@S}?!gi>=d!B9#z?L9NY#h5#X6L%navSqk89>-NkT_qSkX?jhM`bT&HR#Or7#e9MaYS z+8(JNE}r3#5{yK{h&B}NM>yeL9S4{8czzAtsv$ZkIQ9sVF-3li0Z%J}-d8lUmOc*;U`uQ1&f=lg zAoy-`jla$Nq-3KGJmJ;hlVZWiMP;HDvQEqC7v*PLDKw42afw}Z2aZg^crHXk;2H`r z=FPWJdqP@`b2i78YpODb9oQWn5HWosaZcvNAp2Pv8YP`de(O=Oz?4@dc3RH}p=w9+ z?!n=kL>MqtjO2Ej;0oS}3?m%}1%L~MR=E~~%y_q@A*nT9z3$TFnYU`-@l*)ChN(Zo zjgQHlmdDVJ;?{@IOe)5yEhr*SHWZuMti){y8;0UB7a|lj;@!Eu^k|v>EiB9H@;O?R z2V4WQZ?@~vba)o|i(M*W#hR-;;dcT8=Y**S14Hjwja+Q-Mfe-1Ts@Ud=?v0mQG$)ZI+Q1?CHBI-ii6M-L9o z-}joKQ5t;~PB1s|R!ADaBs9u)Pl{_AqXe2ADm0;jh?P}MKCs9BmD?+RBxes|k*!qU zjTrazfbZ9t8Wrs$Lr>nr`W?9I7L&?GD(pURq|$+FB|nL0-r6MNh^zWr8umW@U2&`| zW;3bGAt>&Bm*GJN(hnfMtV#dlb-FUe!QV;WWXdxxvD6YykPdrMh^-?(INv4YA3pZV zhUG>_3oAc-BI_8J_%x`^hoaoJ2$Jg#EIQh5fB(3yBzhA-b3|T@Q=w<&EI>avCBJF= zNW2=&b(jbfOFbKYvic}zu3hvWQ7jYEREQ1Mfu@PKJfoqMVui#vK}{H#7jHP6^drTi zo36i?E{So%0Q?^SQ9!Q0$Kg-jor@3UjAD8fmvK{grqiF90fDsCRpw(*#szAqT`u*e zA>Y|4RcQf-yx?LTNv=EQ`>^=A16KhKbqL2mqOgph4Tz#kRxHHqbX*2L5_c|hm5Wm@ z-qS^uT)Y=Rpiu~ZxQ2iec_qa%WD;|9XLSjJoX8tT)qc z{Pq7kd(!WH<+`uog{)cS%EW;}2ca{Yz~qwG$3OqTNL8T$e5`3i6TX~eA>s8^hCbcSfrph5fsVdvVj8A z@cBNhrXA(MljA9z(u^%FLdYjs=ku`WSJ(L|h@+R_HXDd;$BVDIyM2XAO7xF`dHzCP zevlP;mI?VDX*)j=F8LuH+gNHNmt(!=b(_<3eLVqb-!Exi2#`6tc2;+@;y!gi#E3oleokxt2a5c{uj=>bAqI`$=QM~H31`?j&UwY} zWFHx~C0;D^rW5Um?wCEczwwl(G_Jx69I~;okw5Ia^RE7Ca}}O41c-mSt>{b-fJmZu zp$1h0D!9p%c~S8odZ`@K!eOB+yAake+mi%LX4h1#L=o4oHrbZ(KM-Voiu3$O@NkO}$79hxYt~-elgbz$vdkgH~MsEy3q+G$JZb{Dk&4pPuzBT@P zxIJaZL?_#gANOMo7hL%u7Ek6`71nB~mSP^T%w>aRr&6F^vVmq|a#|RuA2@_jwt}WI zH(%-h>+O}*@A=@>w`_xl63z=5hy?=XVRpmT8!le=w9#zuKM&TLYxwpKLSq{&Sw847 zod$_eS~e9+F34D|k*2)(DW-T%vm9_4bI#3M2KW|pHbTA&YV~5AP~tA!qn1>%Wmvw= z!gs^VABTbujz+;4lGSaJqL>FvKeHD>4VWyemT7W4#~WVJO}U{IC;N!XD53Yo#s(=R=!!17Z|;>z!eBv-I*(8 zK;~&Qjgbvbb8pL~q8w$U6T}VLHe|Zdm<_V5Fo5#*8eGoUJW*NnTkpQ+hd0B9x#^0& z?V4htgP1SdW>;)|LjS%`qfoyM0wyc`B5t&lV2DPwByF8TVkKTu+*rU=#MB(iw%9P{ z&0y>l-eIu>iBVz|I>b>+s@XBPptTaqk?bV=auUwRvq{`~F;hP6q8$bU4v8|YoTnIQ zaeC5=AD|Lo*P*OAPk|7mPllzVGcKUrB(lk*qn`kSKyXadXiv6fS9r>&v3Nnpu*_~E zq`{y++i)U(A3lD{FX-+=hvC!PJke(d=ICSd3Ha@h z0%mNMgHcbjJr{%IQmXVAD?l#I8V(4!wufyC?+mLos-34aTJx)@ab?lCffUpQJB~8o z*M8|GXDwRW-geDEt#uBrreYlFBs0x`7JXGA2pNe15_uzumy^8!MLLfd>R)`nEI)0= z=@aL@i!oJVr#N~kItF&i3QVIooocYF!v=R6!wg;n#uHa7px_l#z!*$~VE!qS(3q5- zbb<|&5{;RZ9p`q=QJI~92Qqe+{a85QsB#}(hrqYa@5MRGG*;X=QTGnxX&(IK zn!6th;h-!9D^a#%LRu71=tUC`F&suc;T92m%(OG~hIeed=e?j3IW=ku(VXRyjc)&a z&9hHCWo7NrkKrW_Ps9ba&`BtmsscCqBs&S;S_ksU*-NhPM@DrB!tgx8Uz>^10L!E+ zMl%~FICVM_onsWYq4NS3bqLK)5lz4mcBm=b`kmgYZeB$nVT5Ug#8r`EES*$7GDE_^ zkyf1Whj7DU9~(|VU!aL#IoSitMM}D;(>BYCg8?rT=023=z>^QcR!m@~6-ufFJ<5o$ z7$okCAsoE;q6%xr$ooj)(0s!qzEG3xK?ivNqszS*U3TEI+$3JK&DRmJv+%ryor?yD zLHInR4w5P^+JWT~XH2P_HzH)wJJ1=?LECfLz#sq5jrabMbMl%Cd5g+cQ=Z-Wjwx6B zbR&K`HGA zVjwi}=KK2ox#~Z^?b>a>f&L0Rum1cscHs|GkUX{OWLZ`lEaoElhD{k7@uW zVbh86>C5n)kU7)%Q@lPVzQ?t3ESATd{FQ_c>DdXu*rPS+*A+ z9^#VmL->3II}AVNFopfda~GcM^CGXWpL+XoXy39M1yd>+;?y}e3rY*q^xAB@x^-W+ z^cVhoH=8<>LQh>!rAkmq|oRVM(&1Og0wGqh6L z98Szg&4pvm6U0)WPQWIK_&n+jV0y(-0t1}?k>DgVi(GEKSq}O(P8*~ zdfr1v3!IMGw`&Xs3SB4rG5~3F$*fuDKxe#bcW2qlcvCKBM_rHDLbDLOL!Yy*dj#$jU5w|w zd34~Bgz~H${Cffx1F#WE&yN$q2xS?NBhT1dMKTP7`dl8V$YNSUobYd=Y~lD}V_V=a8K#c}RVpcg*8LnUzR@lCwGr z85x0$bs))5C*j4k_>6^HmXmJEN19nqIfgOi@SGHxUnmG{A%2MtNZ!dCr&tS_DENj< z+L2No;n~1cIm9!551q(^OtcF*95Xp0aDk$Zm*+9xbHC8m0+nhe11zx!&(6Yc)9=Jx z#aupq2rs|mQZkp7`O#9I`>?|>wrQ7ldK;q9hq9^mz+2zG@h4Z%Dgq&8#t6MO6guRf zPV)NaKH;1toxLCFt9BlT7df}FYJ?8l$wvu{5J#a?ti+4SxZ>2n2^S6VWL(R6Zq$d@ z=)giQ8=YlAB9So)@-sN^nBn85X$W%K&xNWW??6G-b}%_&1h@Q985Baq{lirqF7ws*)2ZX@E-CZ|?iZxu|T(sT*Bkfj_$xmHrT(hJGSSH#vxFp~1^CS^#o z)3dc5sU`J76n4ht`(Nw&t1l}wbxFLLj^xh{0}K$_dT|7 z|>fqQJ z$JSQjCcrl4e0a8(L!KU8#gqySf=+vZ+=iDWl&E0#AhgIPV#pxklCF0|l0k@a$S0x& zQwwFNOC1K`Fc#ellgmgBd|RfFF6lwmU<@N+#$-%TBMC*iVMH!@q96{P&NQSZHg%ZR zPfjr|%O-h)WL|m^FC-FKnlM4h7qB5uI(}Ss=YHxsMwotiQ?g@h(nJpq7(A!wd2#%6 zc)l>ik!7^M+Bx}{3celLzK}3uS8U=r^J5B+xr1Qc*uv`J*O~xCBnFKxW;bB=+9JH$)oV^cJ=P!8QYoC5R zT=Krk9Siag0M z)=&I0k63|5P^KANkJuvQJQtvlrM&S(5O4lg1wG45HCJ4K9Y7IDAhko?a{WqNk_g!@49**Ze-ugVNHq2#5G)Nb8+BM7(CnzLb)Cd?s%O?I4!L+Cjs{2* zMi3H&-If##avxA{dI~F@%WGLbuC`PCF$aPN%uv%kAmo8LXty~J*PG}4$!|RSxXSpK z?&CD8GJa?)S%=&~G`)Jo`tw$dG`62->#KHKeGmVv=vERi|AS@i2@~J78%okUD9~9Ck;l6!Z}B`O;DK) zs)2hW`f!2tzzxDI?{# zqt%zaF?Dvp*drhdqU5;BSFP4?(XcODgnd`5^3_4)Qiyt~El(55`ZRe#)HqRAI*d~R zrt@GNTwSbITiFqVb1wqt@3Y4+&0_r?QW!($py1Ma^JTRf=2j?{6@Wx~VSdqjm57W( z38BQras@@<DfFyOhfJxHGte=tLe(bLrMpJ*Umcu|Z6;7}VmmshkS_s zq)r~xb|{YuMfm_2NhzL;`Ho~o5A@?bP1Z^94*Hz!hDpG`K_N}HbtDM}nhOWZF61O@ z6;uj82`ZK>V+sj3`tE{koYuljPRb!J$r`m6t)y0#V*~U91vo4heKCJ%+q?@K@SPM9 z-EA5Tg7lL=mR~`>Lzq-$jU6+d;MP>lTD>f%%EGh- zBw|`L#u8*2&j_G{@Yjd={m5uPKD(UvS4xD#o+T|ylI2pI$j%dL7-$UMcmhkAsGc|( zlE#W;Pm~t{3NA$1+sQrEK27Lrf@#c>F;Z1 z%lezoqudxsj1LwLsgY}XwWNRc`L!BPju-N)RCM#PL@Srb*pi__Ua*Co=Wx%Hb)0|T zH8b1+qqr-Qw=)|OA?TzWRiigR(2^osqhA@N~g(iT5P(#RljgxE?b0 z^G9%+#Ue^$q4=O3#OeuP*|T1_d~subj8Els1IwXcPi93^q*n2RzoVYd9-q9B>;x*=;!*2FCz>{)}tQ4~jZ zBNMg+lRH*w$^{p?l+3SmLsOh$ah1r*s z>?VN>^Q^NGj2r`4ZDhWN(ZkL?3Kfvp5ZyrlZV7Yk&^9!hN)|HCfKzy^yEEF~I{LO;eP4 z$g(pCfm(jffoT;U2r?8fIeKuUmmgGLI0!9BFniDdAu|>u(+DKjM#uX?o1v^PIC@CCLX^N#NAfQME2xSx(gbhcd2=^B&MANM} zlBni_YOJ($hlic5dA4NCYRE9ckCH9CG9ND;>-g9Zahz*9Xf%{($F1R^1hzkp+Woxxd=R>6%^jz^$e1Q4IMA5Yt9AXp_(; zC@AYvp}g!YJm(nTw2B-EYyZSTCN7!K0X98tCGy?;XvL(;rceRZ4yIYl`)8lS8PTCk zvkurnw0iX$|K-`oE$N$iUK_U$!>I%6B>sD{?4?o5MPr^n2*(CT!Bj3ylc#`l5RM}B z3L=y$j3gB6Jh-{kh0q5F$hV1l<&g9aB4XhuaU zn~e5}&Y;+H3vbN^g#F*}ZM4Gqjs+OV2e>vD!g+_Q zU6n9h2&)KCiD^dykIW!orxr+tJEgu`)2RhyXX@)>{)f;Gk$o&g}deke`24icjT0GrKW%_!V=CAu zJ@Dj8S3WXI2?K&M{)Oq+LBa?EV&d}q(n*W5QbeCuqxFB@u9 z;3kf(cv1m?f^&l<5My!^q*S9^9I>Tb)VYPASGScbKQD<&F5%mPH5n@qQ|X@~O>D0d zR84zuu$iqMod0X;t zi~{A*izXR?7i0*`GQ$q|bvsd)pxZ*OgORVcW2%4ddy~ulEZe;Cp_gvX-k)U`ee``V z-Fd;zlrGS^s=(7IlPA1Mn&^PbD}E$$BUo&lXLTKDlKt^h!_8i6=}LPqUG3HsU5NdY%?W6zfXlvRy1Auo`To1Sf+L zEx6Rc2r`P7Y~e$6zP|;=N<&Z4L??1`SBm;&4CIN; z9|O;KxTh7^#*u6HqvPzFAN#c+ERR|Z*ODoRKu z*@A%u=%Ml=iiu%^e`9r3B0%X1M{UoV|EU{|H}d+5XE<5*pg_Bm?*G~sREWb>{yK3koL{j zv-@TSK2G%w_+2ob;oTrvMdf+j$G>yU#UH%$vTy8NdCBdVLhhL#*ozCWwLV{n;M6O0 z6oA8k&N<>zZt7QXsE^k@k~)b_<%ysLPs~x(pJl?nNr9CPd}VvZT_PX^zc^6f8IAS; zR0~ zXTr|xbQKTgl-vw1%wq~snr`87;ZAiB9cbrtJ)3AYZrwgJ{Na~;_xO)y-~YmHI>e4} zP^Sod-KsllPAnJc`kyd*dW=!Z7`#Y8g`!(mtlwSOm^{Q zYD7tc*I7!5>4oYK4X}x6<-`OA1jul0YVY0|JmrZydtJFbh?DUjPmX@=*;l>n0(i|b zl+oBxs(gE+JDy&u&4*CI^ulgAt z_B*YG*&V0lP1C95LUhTH&k#!MnS5I)X^w?dryt*M-ab9_(0lGa{)zAYn}w%YJx37i zc(eGiH=gr^MSXKmZSi>1!DRO_hIo8aIeO}+%rxCo_y9!nF{|^)r8ft&6rt|8BYDEE z=@t)zIPtDdH2ddo-#fbTTl<#3cbwcN`5rre=pZ?3Yw!HWwTgU(CzT=<%-Q7#yhJ(h#1ATQAiMQ1A zoWobEA`o4W8;JY0aup0%l<=J_0&{8Fx!p1eJ&H3CGl_sFZLuU$3vv}4E8EKln@3)> zWY75&*>HL9X;#m@rs>rQL$l9aIouk-p@YM0!9uj#GqI3ptkRxZ3m3Mem%_(16TYIw zsa99LkqsE0lPn(XZ};^#D!1(#{nwY?a?I(MeDKcazWN_;{Uqn*TgKP*jpOYX>o;Uv z!73Rpy1f-63n}k>a0$*u`tHRd4%%d=&6=`?3SRIENB4479}qeiD$97DTgT-#547tK zk&)kN<6NS;bGGk}SKP7UI!dkIuz@4ULcu!9mEe9G=UAN&WQ|Q%Z`!v0BU}FHybnC% zq%UndV*JtONN1GSIR^1TKB1&8fY_+FF{R}RUCNL!;;0yC3y38er6d5#7?LoooEZ<$ z;#=&8Fix}jaBtR{#S=EoTEDLMG^@)!z_Xqat*_ntjvriq+|tSO^68a~m(-XQtKdwU zp+HGb>{LHZ8$Z=c(^Bq^x%Va~>v&%jz+{rDAz)p;)5Ll8j@H2SQ_cFneDmSPH(&p^ z$J~=;pWY=I#ypyCz*}6{5inv9Awh9Tjv_n)f8y8Hz2%H0yWiGoH}OnTwK}@Ej?W(8 zq?rRRKC8m3$wR|&789W4oMXjptb^2CSr$By;uH(Y9IE_rxZZ&!-PgYq zqoVwbHbMgBs`5=W_A-w3I4E#t9K(3^mFurt`@&=Ap15Lo{=(7f%&U1mUSg-OI z@$g8~I!KBV;mQdWDY0lG!n2H+AQtFlu*aNl_cuD#?Gr-}e&C+tpESO}G^^ePI}SI{ z7_NKsJ*O@im_2VEPpjc*5KcE$qLP-CA+5C%-?C-hL|%13xioEA90y{>lraprwDF5p zeHcZWP0T1#yr7QPqgDn6TAeeF*mnVrxfiTiRGa(xx9`7i&)m;_W!FsOw#~c#zwW*S z-m;>+^W6R2w|2kYXlPlR#cuXRKppI66%7Q54>ckp5-=G%juVo&4B?TOWL%;KOd^bq zCYqm#x%V|q^ye^B@7+^X-(GcU zuR7=S-t*Bft$rjk`c=GG2#zybI2lsGw-rWu5#awjdXdkU=6+}I-p0xrx^HX^NSCqj z&}yNyz~IpO8X5*eS{QIR=8an*KmcH@F>ryPRfM-=uK3e;Ke+mDqv&Du9$`f)gG!N+ zO0iKYgzHs&8lw}>UGeuP?mX$B!Rq?H!lu^`_tXzs+S?i~7VA+JZ(pC7!UCRC4I5%d zi;Czu3fTLI?TqnVLu5)hnYV`Y6KRxnp--{zaTKED2s|qO-fvnmz8;MKu;~K1XSNmN za$nMI_D>G((_a}G?8SFGu!R5!Nm=ukrPnuw2ev;oI%ac%L2M$dj zU_2bhIR|?Y79t_zg*^D-qca)wj9Aufw3qkRix?8EMiacc-O5ErEt#4f`NT`x#;Zr% z{la|l`+u=*=+1xtr&D%ZuxZr2bj(y3yalO!)keIZ_<}p1+j-I2zumj9_7OZ#)6{=HX0aLJolq4Vmpi4lRiShz`+GO<%JJX|5J;It*zyrZ(_(BaB4%gdG1mh?P+%urABHG|kplT}_UUvgQrR?W0)O*e3i z$5%)OWH3&jyXInkN18lA2b}gNUDsieCKvo+;U~%VienUsHH{XAgV}xiXU;_QAEX!6 zhQdo!)e?=9F_PQy$)DV@_oB*4`1Uqylv@^3>ODxPm;VYp3RMMr%4T@TYV6_-t73&` zZU&~SSWoUM5Z)z>;ecm>C#w+r0&0Z)yxR%5=B-Lk9n#Hrg3cs-V)6T?POWPba?Hy-ll<+T%5_EpYaR<51cTWB4$ z48y++o)qO;6)FT4#QdQ~?5rVkxN(U0TJbXrXe)g_TEBoHWM5(knY2?gx}ySxw5m|@ zF-!+!z%vfG)JTTuERTb{k}J4dJ;iqR=hMAUU-|g{$A0vwwK}fA}qcCSQ zYTth4*2DXY&6DbU#k_m>uOm{s4T}U#BD$JPJl#V4f>a`j#1|tw25QLgSj7n2UZjpf z#C#P;I{b8~?ZNP*AV@*00+~VY!edIgY%{xRu)YjcW*O!ZZe7WU7{h5it@G!qwgo_WaWQ5a^xK+4S3Rz^CcG zJeBhw^RsvXVQYC`eZTkZGj`&aqv%F`bEt|-R**F#uzXWATx`B=u-xLC3-K|7IHQ!Q z!#9aANsq}4-T^gnib!!Wsu`&yDot=2u|5bB!x=Vvc#4g4ktT;aj+Qr*LB7z7D#Fk+lrp3%bd{onD3q&9=0b`qiiV&tpoTHJItLb)W?2-1O7jF5;u^(Jg zs+~1ddhUc}z4aA+xTi8~!Wt(I?X@s`#)1L|gIs(=69BA;Q<+Y(yDne@lfd31ht;c) zMoSyQ5K6hJdt_C(JEL@DOdDe3HcTm?*PE+CNh12Y$@0=M%)%**?24W_zBBa3^f1e6 z3F3Bq>fpQfUQ|1|I*%QqC}S#-RV11r(~6*FN~1nu3%TwzU7^9cg=BSy^9FKQknTlz zG=(cJ{xnE;<}Og$h9qL{f~FT86P9#xc^m}9>=@rC$wuQ9R3mgjIoYdr0%!ww_y-2; z=9x{U4TEP-(~6qR@3Am_{E#R4I38+X2`kr=Ma$UCXIOCY3Vc2+gu;oVR_H0QjzKL{ z6YHW4bOLq3)RlRd7-D%mhpO`68brt(f+AF0N=El68NFWN<0WNBT4p*P%AMEHf$y#v zYMS^^Y;NaF&y#!Ix#sxjh8reE%`i*G$YjL|jf8K%@|dG~a;=l=Rb*@iC-vyW*0j+C z3PMQYi^AAlzl_sNNs)DeA*n-H2OuTIMcG3Xdsvp?7GPNb+%2awGrP2RKHq58 zo3%=_QE6avACIrlX3(;yh_hIDd7%Nu2&X8%f*U(LP8S6LBfSS!u6Sx!4ooUP5wFO3 zxq*$+Q!d~PJVBO-7$OaN0Vy(=nyb~@+%!Dso};(Fj?{XJo#9YH^rh6prRH0Q`!W2s zXRkzdN;0{3=Ri&lWZeQ(fOnt>=mzhm+rT8~d8y5y7?l+*+(>mo8KQ1HmE`frK%<=S z6&CAYVZ+V}+v-dfO*E$oR1sn2SovuwA#SRJ=am*N;BBCrK*AJmm3uxx zb%7IPi-09TnA7hbEI~>+kT~VxhOg#^!32g&3TIi|QaVN&c3xp?krH?F zJLG!XJgrSrH}-|>>Pl;YL9Yvl9u6}w(ZsQ;_0iIE2Ur)73^7Q0koHD7qZ57q%Hxme z$u?itz)lx3GxRPZKL|G3l4%me?gv&B;stf#HIfnRLLjUPcXGTm5$gvWNimG!2Ie>v zKr11ROv;!P=i!QU`%NJ@sZz@5R6T2Wpp})gSH1>`#0B!HGrE9g$0B8F-a;K~(y5Z8Mw zKpXVFT)^^c*xG2rUY5;VWzozJaaYyj3a@qq0s&AuQ&KF*vtp+axNgm6A#xQ2XK)By zT&$ii8v#~15kX!E5W0Ztl9)7QAPE6bn6L?2)>P3pEM!pI(#&z3$FPefrSp1tsp^dB zSOK*Xx_u9&Q9q{b2<=XNx6FJwkzM5}lSTTlqQtO7#G48j61S{8x1In$<;Y|=Vt9r7 z*8bi{jy^ zSRUj->hxwy3#f7|y}~3xAp$8NV$_0+N(lnTAxIvDH8{5DjEasB2Tl< zAc2G~AuN>Q6c+$Mgs`U(&oOjV3`=6@I?PsmN)H{}(Bci=jXFw+Wz-GVYaLsvN|CZVx}2rG&D3H<;%I5vr*<}i)}ttwT{awMD3(2Yukhz1Ld zcVX8Fw5iGY?ot;N(x4D=vQtq4gV~A;Lk?o_3j|I?CqNk$ufAb4L1L4|(IKT5(bnD4 z+prpwfT=#~r)`SkY-Kqo2oOncTzs7rCklXE>cA13=Kig5It`&j%vXfrQJg z;ps+VrQ{~7tY_-&gVp;ma(W7%JNaJ0=hBgF+%<|eWkSHt-yqu&r zUpw-ju6W(aB$s0(hYn7?dGSE2$fNBFBeKI;O*Y&?2tXHnvhD0JPIyAz0iC39G49w( zIb*bo4jslgle`3>!}$;{MF2z{{D=$r7ZBsv_}e3y&2i%YKTMR*F6iJP##acvOJM@U;yv(MXAbTTpdeO2Io5+?wZ6P z=8cF8Qkuf`R&3RoMoF8nkumM4gRUFSVcfNgE#40HSSI^BWI0YN--fLY7nXtr5^kvS zliQOMO+2ZI37Dvaa`qXzu*=JBI0v$MD{XeNq97G_Up_(JPrjT0*Y@N|Kui&>l#;Iyn9 zCe(`L*mw;_rNUhV1)J0m_!7j$<75Y2YCjR3t~<1oP6YDCLv91TMHQdi#(77aismyR zu5lt4>Wp{6IM?{36~*W{$$(ifUve?DNLngaPP}BAL2=$3mt%x^IPW9FL@-RJ!%PA5 z0;JG;IspakE=GQTANk&_sJ~D@oWrdA2}>u=UDV&oMGBq8 zG36xxX=3uV|)#Ftk~MP#tMPmWD^ya)}et`J`!K$CIPILzXyTeZqj zCu0tlO3MOb70jJ^$s35G9+~fimQty@_^O&25v(#{YB zXeI-z6D;s_Qg#;yuCFhPM|Q!fX;QO+gZi*x&qGkmNh?mm9-x(l?6gMWKEkm41fHxk zrc&Yjf7Do1Zs*qw&7Pf~na>_tn`uTf6*&eig@^L!T5?v&g{fb&h7gw(aT(IMqjpy@ zj*P6?D!>vjtZ@2tssuhONv(pR7HY1@R~jKiL{l$t#svYHme7Y4M*$nHao~tGdAJDj&_`ds}cA8c%IEo7?JmQALx_ zS*moSL{uTJAQmQt(bux?fVdhX1Qr+#PGsOhONdX&B#a=w(!aMKFLawiKd+g}RC^YA zC!&OXnbbU*a=Xs zf~ZpURZKdraOWqmjHo^EnR+>c#hVlIDar2`5>h;Y+KvY!FocrcR4OyjN)8fINqb^+ zJ5B)nJ<*pgXR#@-+_1(Uq7#*ve8{W(d=tH{7b z`53oyNevujbJE7in|#rNKwkiox9fYW`6axHKgy)yugJI$7^KgA*kZ7rwY$r$`R7+@C6NT#jO435i4nGH)E>l*Y>8RUhtaFSVZgfUE~zKbR4RH5=AE;DhQ*Qqq}H;_ff85kS?5O1`NWhnzGs9OcmC(g#x zF!In5u5<$M7XuTyCN313AceyxsHevdwMe9e9yqm4*+d3OG!O{1<)c76ACee`+$Fq3Lzq#Y`fJ?j!HaM z67180Jm6a=IXPFfQUjm>3RKbtE* zNLJZNe`2=p`%84;MP?5#nfbrNdrfTR1=kEmZQaMzAAYcGk!d0XV8^N5+a>&JkR>UN}$d?VW z!YN-urjy6rZqn^;Q!>G}hY{%y(Ydlm=qPLg@VSAsZ~=mI47Z}@ZvpshGDWRsoTkV7 zqzfy1YM<~kjY1LYDD~Y5iLNgo_*r{Yxlo9ihkrO$h)sS>)x$betip8jn-mANJTnMRTAWQ zwD)ZKg`|T%Fvb}`Yr!wPiZ*tqED#FjKUERT`&9f#q&`|J8*h8@!jaD@2@fo*h7xr{^&SJtY<9MZ@yg2Ms z;3@%dsxqV3(fBkX!b6Hn`(5G1X>4(h&0X1=bD=?&vAGdWu|#=6p=>Km;Ji3~C(&Km zlPXyDEC>z)loGt|->1#PLC4C|)0>m|M_{8GRVBKWz6)IG$dINbo8Uc>;?*af;UI$m zI3I_Hw<_a4)p~w}*I(7zqxeV|FL+sNYpizUZ7cd3Yq3S-dPneS0zyGnfJh|){wbWl zZic*$Iff#wwi964$*SrY*5yYgh;U|tz=%{r)oBIU zFlp%wofI;Fcs7ZZg-gQRXyg$LXB9TqxbguxkM3+oU%R&%-Ty4c-k{-xIN=r5Dh5gziLfCU`sp!1*aZABkg z-;OSSeJ)zN0-IcTH!pjP8qTzF_$6w1v7&t85XlNx8rl(z6AIy#caVx*uCWoh9xVi( zjaaEGz&T2n?`+^$$-?|i^-@MsSdbcQR@>6F-Qd=K#dpY$0Z3Atubds5%gt`Bl<}s_ zD0=ack#?RJzD@Bb905rr zw%b*Q43*`D5KkFWLp_W#1P%{ATcA3g{;J~Uhu#4sqRP;E?wE!$fae%kT_E@J6)wJo z#VpPUEnEi9p%Pvo6V2oGr0x2X(a!ch(bw_uqVGS|j6VPCL(vI)jbk^Q#{tUFgBqkxf0<$i z001MGNkl6{}A|pI&KPyd^41alvpeLIsH!h$v$Y$)(*;IjAcbArW^` zyA(~|E7QF5CIq-+>~al80!O)Ygo#lS6FBCGtztf#t5vcOyz`oSAC?qv+SJ6Sx7`*e6(_okLKC!^B)hNL;(|A@ ziM*JJg)Mo60mB|t5TPJW_0lJhKLW`ZivfTz=Y;~HFokFFowepP9x8Y;svUGi^zf2P zqd&S~M|2=s&HZ|_5f23LeSGscRb0V2Gfbt#CyYNAhwtO_#1oE6HSg)G2rI4N0iT1s z3CLc1U_N?m`_AZwsS~1I2Ye{X_VkM_7=(GleHzqWO>2yG=@z_6yssQ2V^HRDmWSa` zt399aI7Phj`;f9!FMMhMBNXVofbt?FZgBtv(<}{vj3>l;0>TupJW8i=kT{o#cGXJ{ zNO;uUeGaei=&gGX?O46{ZZ|gf5>ya5Y?yI1h;WOuVImk;Lo}>3gzHaX00pOf0e}GL z*a8*MAM!M=Q~<@R4DH(?JSl=LubZSRi}-4T0)@$QssNR(zS7blc>!fH%G9<*t-&=> z_1Mou^Q+H{#xsjRh2wRYl(3*{Ib$BXd?w5(&`K;m5+xI0poo>9@F49TNA+Y?e$vd~ zouhQMY9pH4>zJr|^zTK@#iyZ?YylJ#9~n*4UQ&4{!VwPXGDyN0rSB^Mb+TO&gpzt3 zp}~0=Svf50L+>F&tDwhI2Kk69PV||$Cr#i9Q~fGKealan(y5%Z@9>!_pC4>yW&RPZ zaa@w4`c_4}srH98ck0yj=UoIRKsKUAsdC2U4#H=c&eA(b@~SdO_cF8;T}G?SmdQF% zg^N?^u2P7=Amc{(((#bV>Tsk^RJX99m7vmOIOE2qLThVO-}lm}a`XqH`l{n)vN!g^ zPLU_89;RSBC0VF-#hk1v01G=KEvu;*gj z_^rqkbV(TuyVNla`ZMVhG~@h*bowHJ?Dk&?5uCCskJ#+fB=;YPQW<+5SbbC)5v+0@ zwDYR^EhcTF#c5digceFvkNS!yy}}SeG0Kita#QzB^*%<_rcERC+(u#as3W~|a_F92 zmHbQmwjJ)1%WYBxL2TIwfKy);s_(GwYH1kOc$y{+S6T~~1cTB0w1eZ}zJ7kx+ub~h zO_4cGB=&~0awv_$9Fe&O0xwYG^zjq3Wa9&ct@&)!DzAvDYp#wehyO;@99S7;@OJkW z3hUV9loRUt#ZK5^3%(X^)lM9LX*lr z4*dvvGE|Tjw$AZ+1jz)S9^tontpe5e_G>iGz*vmRu%ukI;+eNzf1Je8Fl`9&r#h9% z!v#;A;?<`B4fB37tZ^?RA&P<&5C}bw@`;c62WklN_x=sn-~Cgn!PEnpL6!#N$ zfAou+pF)}*z-9@=(E{VB$SP!9DbzRQA*eVtRO2MDVaAn);ckxfDIV^P@Rx>@T}UOj zoiL^-iyNjNluIbIx>ZLi3xW>5@SZf7Yc!Xf9#xLHBC75GpCArjx@}=H0G)i$YuEUM zC}zP{$AYhgU*YO2oV0}5xbiE`#x+cyBA))5nw^j4c#ed+&}+1_CCrIV!;tG^s4%Ng zshy;p;1Ek2F_ld$4Nw%=<>XjpLW1gidW^Z zYJ>0^2I?R&oxy34G7@qEv118WF9u(9j9#eqVsj9De#*gcJU(&XXNz{u_ubkASap*q zVKpsKD~Qu@08rA}E35BI#hnHLu*%E#cF@;TBMy{)EwA$l~FlP^ak_r&GA7 z@x775B(F-RP{y5UPKLq>Ly_PD2|mB~?+R8wt{@(Qr|Eu#IUb$h#4abqQ3${V<*IS| z8fGAb4K0I^mB_Gw_6%BBtWIGfFPS}qC+8YJ_Z_%|D317$%P~1|WO2)sjKNu1MDnLF z;^{P=%>#|$Tw`n0Saw=8f5KlzwF6JV7wHG3m3G8V0IyXHai)1pHdll>ZrG$fg@`pa zI^N_}Y1JpzRt$x!@3`Xyhzd7l#L*f$6eeu@voco>e`i!b@Ix4GZNm?nC5d?n609ta zF?j_}>>!P%LGBpcOp@s1|nI^3u@5WWU;f-kaf2K@|A)pD+K(u1et1HbgyZcTJB~*-OFovIt zs%uB1%8?gEjo||wdpO!ljZP4sL7$wSi5`05$!M=-!x(P4;S%*H3p9B;9qFVH0;N8w z$gBJcr>`)kJ?r13K>Zz#avL~6R_KqahrT7M9{!1_U0w><3n1l?3l20Lj>%H6=TvVs6PuM&hUjWX)T;QUL1qslvm^$B;f*sk1+Q? z3OFEFZ)NTn{p#lD+oMt98-<~QjQV-V7r*vzFVx%FALb>ak(6$Rs6NH1FB+YFdeuA( za+FqOC?S2o!V0Z{3kxqnSQ1H5L~)&+b7w1B)d_(t@se2iLqGuzM=*r&5q;@3>RY15 zinm4c$9*EI?*B&DYp|fHqjF=L4zZs7*)tgO6r`2WLTn2**%h7+r{km}uku^G!i0th zxXGz$nFkrO0QGkA!(r$RYx}+)m3;$xm7~zRV3mt2a*{bd2PI>D(lk?TQazr9M9{F2 z6Y~OxR*8u@#EMfPj8Kq+%2mTk!nlS>;A)lQQCj!{R-C05p}3G%?hj>npuk+5S<02$ z7prdfd=tJI@2SKK6@)SWo#^O=O7EShQEseGgtAb9h6$(BxGJY_=mbm}#gj)JU@n0G zc)V<&D=mG}C_Q|+;R;Z>J}!qD(UXW#YM18?1&kF)=s}<~BF75}ILOppLZs=GUh%ueCuONu z_=9bv(#&HJVGI#vDR|BKQSGpg1GXI%15~mV39=5U7y-Bl)s)ac6}UG= zI9=LTKKdFKLL-xL;*?itJuzYY2@JkCM5tWp6;B)uRb!PWrfc(*^<2I9>=!0hJx}th zc`+_gL87aiinD$)^pojY>4_e6FhZP<{^+ z62(KI76Rc90-O$x40%=yMa>xJa2)ywm{HYBpNSA0a*LDJ_V%d0&&6n2e>=D6JJK#-d5Uz<@{fEh^02y+bG;5xTM9l!=<(^<_ zgNnfwMafTUaH?IlG0bch&8aY9!0|SSQ(uW0Pr(F5n9^7~39~%PE5bbwXmtL8uhreY z=_@zBn4W)-JW)ZQqb+N|H{U$jY`5;>JOszJ`6{B=cvWKkv;m5%m~d4fiq4xksw7m=8GP9tU6>k=|P*tdc0H;N9wM^%V8OQSk-BlmtpDla~M*+ zBWm{y%kr%bB`ljV$EHybN8`9c@q`~@F`jm|P}{JjBRp*@VOCz6mvQP|v2;;%??XSu zBehjzRcx1)&v1}M8fF|I^_53Pm7^|;8hhczg0lM#oE)WzxhXTb*nzwSSsCxP;)88L zGBXFi_&!L~38G5LJfDMPqf_7W#>@^aWr4hw)}w@1`McqRAwW8{*?An#d2X)nE|PD0 zgr7lAIy9L{=e{)+MbFL--nv)su8Z*;8cxa6;VK!4pcg~W9=au!C>91@Qu|Nq4=L!{sDW#+LSIG-kAsob2BkmxvVD5ZrOu#v8x|aCrMsbwn6AFIm0X)Vgi6D)8 zYN0aRKF*%OQZS8tAzn6m>4ga#cgK*>77F3gOIn(PbCs((v?`iE>U~jZ+rCj@+vkx# z`^aWvB&UK^XPhfk!3C1Uo(IKgB2=Zq6d@+WauOLG%tIiAtspPof;1~gZ+Su(0ksLq zK&8%3SK3V+0NqS6BWpLcaj-q%^v(sK%tJtg1ETlOHrh?@!2yZ;z!Cwc%DgU7Cx}5ZH{=jmq@gr*P8lKLS!-(yN(y)B=kXxM*eq+UsaONT?)Fd)cx?w3S`KIF;SQLA@ZRDAq8)Qw4G;9_J4jWX21z7I<`|WleMG90dy5ER!sHQ_M)?8{0xBE6h_JkhBfaHSnU)qLh_-qPncR!j z(u2Qt!{BzZMWYE$0d-UmCHl2%mTh_X<1;_TXQ7Xu#nB>2^pAmgY*S{6lj#6z6vlr+#BJW8Ebd~k#mD^^-KZXQR)4=^J=4!@T2XhN%;!yeQ0C0ayU@WB~H-H7B6~Ss9fc z`$m-8brTwp)u6$#)+{O!m4lvhJ`Sy9ltw)&KFIPg;sR14?xJ)CBteB+dEQ*{6t2GV zD<9(q7s`#m@JT6b{#Kiro1&*SS8g4R@;GvZL?vBE1%d2#dm}zJf5DB_YV)%@|!?K;oO!pd^Y)ynJOUE5NgC*1n98z3&!jaK? zN6w3u`;9_kMSOQQ73!3chDo=6Oc94X4d(=u?Z^?p|KLDBHY?}cUP#PgLJJt8H&+Cr zf+F4+J|Jox`TnT5{eY>( z*{Fe+*7&iwDz`=xrm0b%f_CdbXk}Ph)j^o031I|+P6U_AQX-TCr>i zdart5b2%8x)R0*1P1l0vqam42i0f4t-ko)vhpav9VC==rxK*v)Qd>!C5frE))P*-b zwEB5s8Q*yATM-qve7c=&RoeN&-fbL4MmeNt>p(aWTVOgbx=j^hBvF^$DX4#+6Rv3dSG`G?<9BGm8dt z*=A2RR~T3x&F^zbv$EeQ*>8K9* zZWYP$D=(@GOHWF79CdPiv*ZPYW=i6$E-nF9KC%UJb11d@zz*kQRt{t$hneAVmD{cLDrf2+Nd1$TLz)LjH^mtpae27#qnQ%;xscRkx4yJe#&Of2&X1eeiKr|x~%-L_@A zUc9%2@g?ND8m5Y95Pot)6{Z3h=Z^%Q&Ph}_ao!QHj$z@$Md9izjo^KRVd5PPuPxZq z%<=i+Tszxe#Iz$<%uduxT(dQVWJn=6A_MHD-?7}I{iKjkgaC3 zg$JH&JD$7e(JkBF@`m^P{wGiR?DKze#GPwTzIS}-x`%f4efnoJy+58tWhqN# z$+*hGsXN}L1Dj(*HN@nF0%TI9c!D&nzGjK~q!Bp`7-#VcCJY4`Uj8M#J#ov-z`qgY z<{wIw^t%qRVx~>eW0Om6A1*xK#*6SsD<6N|p_BIO>iCD!g&AmWd|j^E>BSg*$duO5b^6YT(ulU%G9(@W~|;{kKb^ zXApe<*RH?zo3B~E_*07p`VVC*i`KDO$YWa+lX(8b4A>yL?F}?xo77lGcc{Z_;&w-) zk}Qo2C-NbY(aO`^Px6tb6XG~oAzT)>F)wR2n|Q;0lXEC8SLLhKdNegN|Mkniv3bK& zH+*%X-5$+G7mQ{yn>NjiY~~mRzjY)1-&ph1k^A;n&K=6vPQ{nYj$2e};|X1?Byt#r zZ7Ebf87Cqu(WcQHuasu-XPwOk3rCow=5`ofGSPuT<*6L_Qag}Pj2L(R%fup?ppW<$ zmpH!URYfGBh(VT^KKib8OW$+wGY>B=)>mNP&8gy*PPrY_!St#$8c)+o>Hu{A-4m-a zIM_CofSz+L*FpEbWwKtnWwKWI_5-`h4}IkC?)aIiq`z@wB*!@whmE77qj*Q& zC|k4WU6=jd(u+?&;*a~wrOV1a#as<*!Kf%1RFg~|uSn!iDh#^fnro%Nys3_b1yl~ylUA$0 zuQxY7IX&^h`0V9xzxc9^)Czgn3gP!I8O9yF8b7?`fS*k!%(-)VZ}{EkkH+W4PhV21 zoZg$OzizmvSt{Z~pmpfNX&fwP$SjQYl2-68$7RY(@#e*FO-gLK!zr)zRYvfE%w(E< z#Y}G7RNps``m;yRqx~r8Dm74QfNBAY?G+=tiHzocSmGfyRR!xQV; zB13WB&urYdF?+!U7s$>0hp&9`Eh~oyKR3`?#8AQGKUH>i?8sw3X;Z>Vo%*K!i&$Ep>mW_Nmz=5^DQ>5W-q}X7Zdml zI}cg%S$d?ff&CP;5e1y-n)%MNlXHK3(IuDvfHFo$NAbLbYh;2n^+H z@Iwctetl7~ej+N%vBTx&vSJpx(XFs&ks*PrG46zoCf%5x(8sc(Gzo+nqd-sO=`sIk z77B&jV-tNJc>O0Ix~@IC4*MUQJN7@6TZ^Q|6F%o5>#=!q*B>77pAQ?F{X)G_$A(Ck z3Zll6TP4a((MUq9p|SK5W)Fyi_RxZ_pz%W{EUPcg=USC!{*ke2&rRcv(!ZYj`Tc%~ z#pv)vkiNFaR|;v_QW`s=_C{ZE#pv=gPCVeM!M>i~>Fp`us7Q@@k2fA*Wtc~MeWJ8S zaXpM1j>(XWg^tdrd2W8rR1iVnvOr!Cy`W2%fOLF8MnMep_v2hzNy-rcEtW*of2k1c zB~UR~Ddp+yji$St{V@|SX zK_$C*-TtQxPo6qdtew|isJ&rvsX1K23nkc#;iZM512u*{OPpzO$mzCOkq)bM$`j+U zyxYd|Zn1jn*oyV<|Es(1<_JSy(4cJAR}mH#!pi)`%inPP8OwLxF<7jYnmj?zmV!>X zX@EMyG_GOmE1jod7lGzl?h@)lu85w3mEy&@Tw}gjcxb#<+WhnR^1qCH;b6Q__-lB- zj&pLT5}AKB-pGRCle^1`+;czCn{52*_2(`hDt{1Xr%oH_@5{1Bsd4bk1i`5EP=&pV zR2K9!XqB+E%1V<>^&oq0OeZBXDV=!=>!gk$j%Kib0Cr(%7U^K6Xs}YC#|Y_wXeJ8) zsTk#+p3EGcrJt+TZyuYR{q)Gim&+s;J#J2W+*rq+hnRbtMn=%9AAi+@!FZT2jz4tLR+v<8tVrytc}PDEs_e z>A^!k@x;+!SeVlDsK{7^34xn!V>>$g?7=6F+j{@9-s(X$G&+F$2^NS|h4Qf#bzH_^ zPefrZ$a;bINZ{xa-bchr(Znk|$L6!sll9^Q)kgOA?X!J1{^nnweGl53(EYJeY>GxA zPO8K%)%gqhwl|5Qlgk^wa>*Nq`it-E>nW@o=<7R>t!|a)Rb1MbXZ#`QNDR{h$KjM# z7*29Ij+cCJ=vR34`PGd}^S2vLjqxRgm6tZNr|@QqonkzC3@qR=A9H;ehRxyp*j%M{ z^VoFdnzvtc>9-*s^@tt1q)pkoYJH_ZG-%m3p$x6N3fm{PvRriPKBq3-bp~F4d-g!C z@}@sRTY`QNK(~0SWAPMMLr7>5hS_UTg>Jj*)@3mNuPS? z@;2&+sK(C0ynk zxoEtSot|wJ@13X@zWw-A?@gCqfA>SmMxXk54EdK`DXb0+b7dxziO1J}_1Vv^UcJxo zd&}kGg_xu4&pX4hI$AfrUXQm4b=*2O#y(qs-ZSSiC(g`0lVf@ zIZooG$C$6)G&WPc78T=PAy*2_FWPJDiG8GTm1P|&%jQI7`Pha3Y32H5Q*U0<(>Sv~ zS36^{)Lhbs$|8-G>jb5;Ac0I`GP5;HslYgF&05>n=tnKAN(IHpTwLZtbp(=SoG*9CfTEu#^0~fp&EylQwqx$KJ%IV z_FcJn{XlQ&H+qWsw_;@{!_`mp61Yh)k7L3P=QE-MPQdPPT^U{m=;Y}wS%6qtV2lc- zV$5PFHIIrhK0SZU`R~2#JK(VugJBB&l{(hv%~!9>ts6yUG5W8$bls{0`sPkqS)M<$ zFJC)-s94`;u!QaeJ$nV8?S`RvL$MS@-Uls_u>{E&ZXV<9iM5_x-`uhE#Q*x`ySK7( z;wR}|D50^i1t@g*F?!Kyhg`Vd(?3{TsxHDC$~hB>dE*c>mBT0cSxmAscw;t}VzEb2 z$&X>8{ezvA-fwN2%ir>W>wd7ss>BO|b5}p=mSZWy;{I=inf9x$x{95;w`X0?|NhE5 z&saRz_r78=cT!(ZX(j6hdKC^kCC#uk&W%@KIGKLYL@ywNVmZf%D@LV$)A(%ln)5Hb zBvcI49xmOI_7^qd6{LD$QtA9Qjbt&NrtQI|cfISh74KOwb^6j`f5<1c9=EXOBxX-;rqB1$?BiGd{r!8Dt4GcA z_&X|qh;qhDr2t`0j-{ZP!aO3{Rn0$#VbmQj)cS6CaH4qE6<@yVX{%oMD6Sf1rHV7b z(!3hNzM^pa9$K5f{@mvdJaF$t@9Zm=F7EFuAI!5)T>X+|V&n~ODw_#ht>b-8fh>Br z;cmR$U_l6xQZX?3mZ8*qt$y?5ROOoUI)_qB7wKP(4g-lOvxdWL94NGvB|7V@;TsMa zU%OYi^6P_z>Y1o8M+{44Y2hQB9FE}?8@v(7bQDumkX-KZ@&0R%|K!8J%c1+r%|C>3 zPjZBlrJsHhp-=dp`OGQ=g2@he|EZRw)^4`7-23{;kZ zA|7Ir6TOnne33IY8qtu*sCl;uWEtM0TLZdIT2$a@dS))F)au`z#2n*o@4f6sRrmjD z#ZddLua$+c3($baxRKmHZg}#9l|9Wfhl=xWE$5m??mf`#d1fj) z_=OQc%$p4D(OuvW1Hab!?>>9gpB?bzLj#4zqKR7m$Ga-!o5pITZ=ZMVe)nRM?cQ?( z`M;z+iln8l(irn*&6+jXLvuUxFthM?fAg1zE?Yc!CXTRNh{~`(M)qjKBD`lXb1zo% z@Ol|MwZ-0qgH*jmZonG%ISOAO-Ii5JP%$u~XlJ-2IyGJSUl>Y#OL6}{RSZp&^^w0B z>;OnEaUV-I6aCs zn9mluO2LVC=eYZqX2Yvp5H}t1$f9-U^nUDPA6v0u!$+5W2tF`*i~UuEy-j=65dJFc m`4#EFy+BzsZ)yLJ>is`t3a5Ak!8C&a0000lrRp_K8;(WmSRn3aewc{2Q|3j2HAv`J{AE7{7 zjg;B&x8g@W6%?-~{Vl0}KjW2u8?Sj)Ei$CI6fWeZ4g2LNKjJ@Jlxa?Qe(-%vBo{x@ zBfB#_XyKF?WcO_anJo>ti3P^lSnjdx%>RJbRJZ++ju}5W^dN)!#96y&oUdeiTyX#{ zG|lqZ$ggug2fXGv^jSw-I}DV~Waf#5p92h@n0aX-Ahkh-iljW5XQUlFhk$01?X|S5 zL@aTHg!Ro|HKkbRUk(1OAy#zf6<0O=qzr_F^Ify-u>P3ghm5QDEmu|~4`ugx4z}>> zU0n&o^+vbr|GFG;eR5FGy@G&`cz;d!`FwqT?DUbl3vkU7JU#S3xDHQaMSLzvPYJ^v z4EqsOAR~DP*?Fy7m&b%9v?T(63t~$uLf2>CHFPLFm{CB*=U*UKz&m~n`JVswwIRke zxJDPDQY|)4WtFw<=oqRtG>z|{=O4jW84}cu*6<0QA%i2T3t34A7R#JL0$~ep+4^@F zIsz9?6%OG~;{r>3Vo0yZl~7~mR9|<0%IoN;aTv69x{=8|N-Pwwp6D6)2XEfuvNFQJ z3|l;qh5w^C9U;Z%m9QBju5WjVE?gg|e13{3-6fOMW1F8pF3a0X8;S5QzI4WNe=p6F z-Vki;$TxZ8W>PdzU;4v>-W*9i!T1Dk*!4VYTxW2|!mrl6LzvU9Jq$rJo5;-93;$6&U4n+@_k+a(kVsj>UGakOP zy(ZGz^275XXt6p>v-=}YNo|iyhUePP2T}uYUD2Z=nSD`P4oRyze!|OR&lM#_HzVIK zdot)|)A|toRQK^l=~Yux1^2D|SY=lW82@V;db|jb?N8E%L zxDH>fU+W`Hl=DZ~UbsKG>v`nz4t!ZSTpx7%17Qtr;up^8**bS$6q9(Xgt3YX`jDUJ zuc>PC>h!)pd~%l4b%TMyqx}zj`1YOV0tV)Tu8oF{yN;5gkeQPM8^GMj)Pl|1!TFsU z21dkN=)LM-;SQkicCdGJ6Y>_N`Y#Hh_xgX(>{Jy0MdEHJN~NQuN+IRsYC*xv#>2)z zC5B8vK_TL5ZYlKrtIYp2fBzDtvUYcO7Gh`j^73Ny;%0MlwPNQK6cl9V;9}?EVtuDz zb@Op_2Y9nOx>5f(lmC~`R|_{YR~u({8z)DK|L_HvI(fK@Qc?X!(EmRF-A{KL%l}W3 zquc+e^{ycMfBvv@vT?BgFYouJBLBe(skqu$yi5KMe=$yx|DyaqaQ`Dmg#ACl|9_qN zZ%zLT`>v`OvIzVC4x1RVVn4ku42%TKx37{K-XBf^5Q8nG>pVAj1ZVcMmj~MiBcvrH zID$jvWhCJT1};!lUZkZ5AyRpT6hBqea3tYqtfD7Ar=x{W2|`2!H!|Da?ltp-TF!HX zJGg6m3)i^s-Mu_CJ>H>g9zv1`dln3bF1P)ErJ!I9krVQ!xY3fMNR^j9Yd@~G-s%pZ zrqA^*?7SLhE|`oL*!h8Twa4!41^+6DkWW5Vnkg30Zokzn>M<<{ahIXOir=Ic#uTFn zd6E0b1NU6`Fm$OfnaNGx_n>e1bsuYQ=sAOb0+R@&pYzru^adO156eozKw*I|=`@{4 z8IjvrB&@|R+R(mTj`dxQWUNM!=6h;H^w)^5R2H?lb8;fze{kk=;H7$7F@2_vx2E|w zJIi>Q_=CsGz4Vu`aEa0P-|hS66?B;=%Q^B*XSv-nwrpZH<_caug|VE>#Ln);LL95^ z^i^jdMATxx74za+tH}PtA24ADqb2q=UCr&LfAb4LK6T3navH|ovKVG%E6ZMYmv-zdGuFoKlPU)8R$P4wLs-5p#~T9!4CQ0Q|Dd}>JLn~ zNgBWNRZj`6wZ*WFeP$(#nB=d~$7W*4fHzV_iKCK#!IFvIovMYOY;2BG+DrLXG`E;K zj`huD9by*vn#ZOi`EK>s)PF~sNAWa!mg*H8=JdJJ;Kj)su@Es%kFaBsBv_A2OMQao0__gG-< zRTO6|dM?)&DOXW8n<+o;aoGzFG3O05!BJz0Es`bkF`rX0sx#gFJ2&@`QrP)$nemwv zJ8?AJ+elJZ*xp*!p}~H6k;1NdVXUI+w%$@!0dlla^&5P9`nyT#?^N^j4|i7{7}j&6R za32PoD}FVl>2&$dKg{hsFhZjb5KZew)h@kXgVDc@MxLV8d!H(2_E>7$zLu5(+t&2W zT@1OX97vVdII|_BXn~m;TRLAk2;{OEc@WBd#&tuCe&062DvlTkO~3`O#4#5(Fz%ST zC(xjllJ(>e2o#gH=b*L@7X4PEyocw_sPb|u3G9b_RbvgB7B?_4xbN{}- zFgf>T_$;yh#`aHX2^$$R>f;Z_-c&EP$)|NrO?orsAhFW7GB7^g?TXqGotw6OIt1TA zLA0&2*^Ex+leHfXwNxX{u0m-XBAhO&?aySY~&9 zSPq=);W8FVVqFs!-pjjXt@2vGc&;w15xL*yn?oc;l5LLVMV)^oHJ}&{imLchw_cc) z<0KG~(P1jx6GBT1!3U49%kP0nSJ-^6R_9o`95(l-gV=r_X4jQu+C?$=f<{$!q{!MG z?iOy}CDcD=a%UUR-@K}`u&#I%7V&-rGC@M1dfGgSi&3jvXi@fVDqZyoQDPA1# z(hpm`_2&RidZN7R9PSct@fu|cqZ6z!L{_coa zNe&r#f12DX9C|=!ePE|ATv7s0c_PpgWCDPU&}q{vi~5GglBiORrIj|Zo|3lk^0mBL z9Q-X{&R~qyZ0T^=qdhTRQ8Rj*Lr1e+YxJddnjKF?L}Ormnd$s`GY^%f1uHC_rbSu) zIqii0BPCVvY#O#fgS|5Q9_fQzrno>lsqh8tJKulByJ#lkOkyY^n{bvbp5z{tjK(i@ z37U)%-yfWUWyvchyfuI|14LBHo1PkH7?27dFN0?9W2@7Ei=}$&ZJico4lhphK(emv z&U&!?a!=uLH}596NgB4^QD;ELz0&jY=pXeX4z52g^)Lh_W@6lmb(Q9RT4(99vaREL z4%%s*oC^!r$7AFp`m$q(5K9-aeUg<-z1jPmJQ;7V!;RV2L`L8fxh+LoqY#DWw4dC) zn=_rnCWEouZaS|hm22J1Esi0pZ)BB0>z=ewH%9@L>sg(Y*@zMu6{!PSQ)_b2ZW^i5 zl1c`LE1C->1WshV_jySKTgK*PLQuKP9{HjlML~W9`1`>Z5O{J-TY?*4$-2(qCDPLT zvf3t0eZX22Aa9x|Pk>OSO2R3i_qS^!6m*af43st_xwy*~cJVvDlQAW+p*Co6t{Nh( zYvRFS=@8?tE4(heM^orL|67pZ%X?z&_|2%rTzbl5gp|KK*W%J*bFKb#=E2V~`lW48 zaNHA;<2CHupDN5Il(X7sGf%JZzSz>!Qk61#Y&+Jk7RLA3jn@cM7lF&cJFO`L9OZBZ z`kl$4CTFvES|r1^iPnLM?!#9uR_hvRxE6;jXZ>s|CW7IKuqk~>hiy!xwZ$V%$ai$b z@LYOv4vwwB7yv`wTkpZ(EH-hU3fJwkCvP0iD z%$)BLiuJcs#b(YiQE*5)M1V9$ju@{f71wPV=TUPjvo0RKCb_LEDiV4|tj(MmX|nn+ zWI~drMk_zkdMNeV=Q!p`cp~i@izPFtnOfr7v_QW04%F`AL^f})3*Ct`fhP9$d%dPM zwzj_RvP#DmMY0$L^4S7Ur#}&>$YU52VH(N|txK8JAHp8!lJ4lh8 zTjGx&Z|HpDfx!m}-PIVhIU=K@zm`_CyB@8V=z|}l(wjCOjvTZ1V!jUJ4mI5usg*bA zA<8GHd6i=2#wC;9NBa}ymGuP}MB)N(5lT5ek#HGw70H~vJ=R^--76)?8tKuIcijnQ z{;iS!MJ=FGK8_LEb-_hEHf^io(o^o&e?6apvBZ$=>(E!d6IH@Rj){%K${IEW{)6*yKdU!P3y9 zoZBmMb;Jpq5nwV}mfc>)Hz}|_JuqQt&8~#t=jfDxVZ096IDLmfh^RgpNYxY!)15k| zFfV+wF$dQesUi~oZ6K@oHo*pW-)Of2J27gJcR$DZWgVEeDO6U(s>#t5WC3a*80#4` zSdp=3j@*hnGqj?3O*y(BV`PAC`}QmyjJuARjq1EjmD$36(62A8FV}V-;vmN>8fE2?!@Ted_V7 zVKJ!x*6q8P`0+S#b>A|_HZe{mOU;`dV~2qZa3`fo9cgvZivgvoCT@x>a|iOIq^8Sc zHW$tp_>bU?2%P>je0|tIfcE%vLRTx=`vU`*YF4@ej$iDHyslH2Q{u5En;}R?SZ+{&2T44>{-yX(dojFNFzzgoC)F&(Qj` zZ>O*!O7p#LUUB%}4bZBIfEsuP1+Pox38Z&o`XEid+uXPWhc;($G9uddO=9bctg#SYBVim-%=@nL5VI zE<#h|WYgHt{rh$;EE2UX&F9hKx5aWiJ7GioOH(#xc{P8x_W)WnD>478&qeT&otA^m zPou}I%&|PBwQT;6kS~#-&abTdL)kTz%C(eL|8zM~h}Z8~H%wMs!m{u<&UWEuyC9%( zywl#Pmq^RDo%Mm@!eWWQ>z4F7rIaKw+z6^L463>1*rx@DX@QIo zTk~x@pY})(2LSvD!iWtI^Ui@s4y?iTz>U2xvlNV%Pn}Wrcxf?~LoaFTrDpUfD~j#a zH1yxZnBat`EaFX7yXDCKRFK$C48OI0y^@msQ$tV7E0~ns&xB-5&@JtbP^|doPVD6| z_v+$?_P5ikne@odU(FB8SFM{TQe~-ai{2v&n@unV*Xbri_5OZw{`;fdS4-sClnw5o!_2j zp@LbmhW!P|lb)_%lJRqB*4zafISya-89a$qHv-+lKllZ*fDRt55m$O}0I(bO#9qHQ>RcmXU0qi9k zP=shqKpc43Sk+6lRAjfWTpu*pl-rQi^1__APov@;V&8hUW~}YfpQB+bewMNucl$D} zWjIXnAwC8|?u20r@*jMOkkLPiV5vNa0%7G}f*#6r9k%?u15CgAuzXzW{Zcz0M^tUt zs5Xy=Aqe3?=zqzx8|9hY*?($X5oy@3!Y_=bG6F7?oLu$VB@^n1!d6>$ZBuH zGq{k#t6A{^EhmSDweUyPYfch6$n)5(x`UFk`F_jeoj77HiW(X*OL=bonE#DxpjRHC zcyw0Ab9mF3m=Lv_T-wwMCCj;TamK@UvhPcdV>C=R5O?$2ELrMWXzmc4>v6J}HM2Ks zZpxp!m!)2*K^=?@qj%B%qvOW3Ie97P$7B?^LT=S$czu%A8CLPxx-8|arz5los~>M( z>yR!t$I^YpIVQ`=d*5o{rInn||8aWAWrXCK20H5#^-WVZ@%gTK<@?t1Zzl?yfoXl5 z^U<9?4x&#{pK`G)3BJ>$uk&bo{^J?L5c9wxTea>hs&n`X`x6Wh)Dam?MkW=)FHO8y zs=EI6u~?CaYB?TB2DA4|SR)pabMI&osfT@Jf#Tq(_smXv=Zx{a>)KuW^i^Q0bbM_U zwf|j!I8V~cm;}Q}2BEBnZXc}DnA~j38%O1-N`vQK+<9_YnLLya<1DS!(-kd&kS_yN zOB$fVx2|F(Aeksa+gydGj(3m1%KLe{#LsIYk0T6wKLX1< z&9Ai1y(j|oD58-&IMz?yJD0FG4l&W-p}VyBj5r{d+rM!i6C~Q;FfiR**o_;35iawQ zRQ0>T9b(HC0TK>lww7ip?)t_8-Zy^;hFelgXS=Wyi3~b2o)g`I4K6$>AKbty$Fy6V zB|v&%?+n!Y=`V?j1wk(hs|390{vaK5uh#;fnedtNq%JX5p21%OuvJI)n7` zj)lPziIA&=2W*~9sF||s-)+;jJJ3H{jr3eWX#|Zy3x2#4f8+%4nJtZEW}|_YvNm27 zJ-gflPtu96_rqS1_+G@ekp(=ClsVa*nJmEH`^JijPseC^J=<%{qam5tvys+>#%s+z zrd@*XDQt}$l?FGva;Fe&*d?f*+vui?*x07SVe<@b`tcx+z5_*B(n^JW*?Dz4q5Rx# zw-)fXqRo04CejJ;K7S$^?7(QVc(+}kFZ6tVc)Va2VS+S%Iz0+6VUN9SwjV?h&4l5^jX6Z{#8GiX&n))c zw>lfM1Y`jy$)&>n>HAmLm%mk3c*4O_%v$_Bq^TkQeeu>`un2*E{l z4H8~t9$4OJaYK{8I+%kD{qRo@;~#xI)#9Fa>msh|lIg|>qwZ3n9Y-F0(-m1?o-ABF zz92}h7?5D8XqEnvvErI4ro_lYhcc=lPE@yCjwj#}TtyqOmd({q7OwSTPncd&$s{QR z30FF37p2^v>ifQR`Y1S{JdpAyc`ZofKRix8xXpB}wp6g3=Z5z0yoz`ED6hqFH$&oT z#@(n9aq;>!989G+F}>mJc7M+}UtI4ZPli4n8d`spK*+`t2!o&HID=rNBw7GHn-xBz zoG{ObD?VzZjo!X_N6h$|0f79GwMHSF&YJ{4GLFxP^q6lyt~0*9g-Blwt>KS1=fqvT zpu`VP;Oas3)I@!&#|cs>Su68;gE#-1}pe?Kj3oFx;)v}^>8pu!Co*rAh=6AD*sou;Oy zVh8y_>>QRv!Zw&#M%&^lsS%}3BMSf>`6W1KWr(YoJJ=%%{H;*7M5HG+4CmeBm50b7 z+yn58ux)VmZO9lGB71b}Q5~=AayfF}S|P7EQ_qWpj9swHUykfV4n;GY0fWj47)X%5 z(B9IUwLFOX;;9iZ<|=K zAv?RelwM5tKh;&b3WDCc>ECYqe8$d2YuPwI3X`n=-q~>#&vUub^5W*9U#WJlC{fF7f!2>Z(=%J$B7Eg6rR{xDSvZpVF;oENzczNQCh4_# zWZR6Hvl-{Rx&mw3Utr>f{RbKZ{1K!?BB2DVxf{cAz04})HERuCVs&z7SuF~{-F}h> z|0GPj!pMB;ALLp^by(rvY_XDKtjm|Hf61Ruc^MhmQr=$nu<8k&k|3nMtdaX?U(Q%X z5K7J?c&%%DF-&X?$nt6(DdXr6@Zk%q4D2lS0M_V3rj}}r0jed~mvPuOeSbnQOkVb8 zZ|jK9{kj?|>YsPe>=vK3CG0bceY(&JS~es?=|2c-vFZEB``EnxyH0aRbb4`cK~6qo zFj6Y{;wnlJj(?|tDn;~o4HAn5h{uhFU&^*dya<3^XPn!^2&>Z3RfXblN=2}A<0GKU zArY>Oc>8N!{9_hgY$=HY<1|V5OD7K?5?<5_ynzanX@YXWUuod$EJ~%?q_Bx=a7n6% z>&R{l_y!vzt)cWL8S2fHIJ4?@b9MZSQMTrU#rX$ucomtPx)R)SO}Y%1_4AGDxoEd! zV4zW2)D?i{fDy||w+%d{U4%YTm%_f$M8)fHr{@j_udS{v@Us(Jg|52_!IWLw8wzfd z8dpGhotqWQj^pS!x|1St7XLV-Y|lADjCI>9^T66iMsThXC2@*!Yj*D z+TCHHzRsViI{&!9jTb-I?QtEtw{LhlTk*57N7d@V+!UETjN)+(yvYX(BAGMV=ku4l zJs%%uj(pt*F0GyA7-tb^C;pB2#r%HmH6so6whE#Uql577=KcN2b4l-Z#o}g`qP(Kc z@y7j!{RPpfbA8N%1m6~L*EM=H7v^C`UpR_n7=!h4nvV&Vgr zfDdR%I-hcHKP;6ckr+{ z61g0}Q&landq$7v{(Lf~6rHH)y^91_7`-}>j|s@4$Ok+IE<2;9k=|cs?(aeY z;!|apF8gKSPS0b>zGKKpI_9m)Aj)L$DM+-;K2Log8lPw}ev45eoN1Y7RLl zuFYPHJUn7*Ro{x$5P^`#kcM)(#n8+?-#D6?kMuzQ z<Y}2O-sIQfRq_kI$@=X>?(z-I-2;L0bbWAC3x?f44J{84ivZDeB|grm{XTPRi<# zNR5&x_ncePuMkswN&&v6(~!Ctdd3>h)4iKG9VRqDeUNog-;xMh%O~Jfaq`D5@qDXG zM+TKG)tgL(qCwS$8nC>B*X)fShIGIqN+8*aG7SGj`A`m-^gz41r%xZX(W%Yj_sD1I zEszr_3U_d=#17C7q$j4w(DsT-X2dtO*gcPqd^i+Qyqlh33A^<0ITyt^v%KO)TkefE zbU6++53u`_-(K;+Pi4H&V*R~^=ep(MDvcOvD^__}R z*dL@iI)${qCH@wkkVUzK*_@|`K&1n} z$S8Mj{?-wHwiX$-UT*yA_`aF;0q>tfF}#`#HvT+gVge+kpLvo)w$L++5{lHpr9)Aj zZje6rsIYeGjN$u%Vh`_XIaFb2eXPbbonjOEFm@{U68}g|&vg^9FsZ(X{}1%lD}km| zAGJsGjFlJjOwUEY|MnkzR0g3VfH)5WY4wvwLoF1J(_TDkXD9Gi zUqFV+ZUpxgN9#E;d%u4m9-p|9z0CWmE$fyd%k-F88pTCd-T z$J>D#db~KPoB$X&8=_k0v>IeIcSweul^k1|PYGZabkss`6RQ{yGw%i1oB#y%Ve}fh`BuT4?8M$=g3{t!`8k-D`5p#|Ga(BL;aL&+RI{xTnH9qrx9t>y&gZyR9S|iWWNBW1u1RNK3 zy0CJUdlN&J+0P8-7Uyyq$b@QltOkpLYD)xx%?4q}QHZk9W z0&V>Kd5lid+U(%_GVI$Q(k#WkN=Pq}53GnQaBs~Kwm3IC+3a)Y0L0Jc1q2`u(%zW1 zyxlQ@EAN>Eei-Dm7@f89uieh+B;vIiEoPD>2!%2`j6u~{l!IufeIuMjmjJwGct1u* z3ZuaLFJsKTp)d2YfWFOOS=GPd1=(lmhUCK=GjTM7+!?dxPs0OBmG(y|X{jZ|IYXqz zwsp2wWY?EAB;-ss%!?J+mk1*etp$3=Kxd`u`ky@eit zKuC^C+OFIn#)ULhr=qV1V&3M6?CCA=_mZn*Dn*97T{k?yvcc(Udp$Qs*0B=(Fpu3> zFsS0h(K?x#Ooxj430Hwi981h>+MprF_$Nmk0$gtC1IUyV!R$EQo?!QEzhE>YDZI13 zN%!?`?>qGG6Ww^k2u2$G+VMqF`!>g}(UIfvXL{|?q74J~z56;)U@q7Gv4zF^J``yCZ6sC`t?p9C zKH_|QDglj(@RF=Wh5g{pkZb`g(5&tSf}%UtpcCrQ@{6_0?VmahG@Gl{a>$Z~stu5T zc;<-fb2dnj`4Xn8@M%7F*tsEq=o9|Q?jz19Kbdjd>Ano~PFknd3=Tx<>9E%|mOj)J zIZxINaoCng%H8G8ayJq!q87ubOS?M7pE|AU5oxWZ&ei65T`n34%z55qYMDVB#M@`@ z7O--6k=(IEahchLycy&j>0`w^XZTZ#DzpEAab3-#>uhts8(Cj8Z0;~p7VXUQzbcBF z=x^!(zlnxLK=Z%*lgj61V5ATa0VeLY%kFtiXhpK5pACwJa!m|s@oD}>hmO>c>Cl+T zVkG6|34g;si2yOwd-0m8ZT&#qlIytRW0!A+M-lG)!f^G3-&|_s?a_s^Khh&(C}nk> z#JH)xpeJ7fJM>%!$ujD^tMmENp?%TSOF;WkQOZiT(G*Jl|r`?u_h{Jic_`~*j zD{&<(SOXL<2yxGe`vg1jbZdHKlum8(PvL!sZ*3>sBXVSCZUzBcUpjA?*iuWp-Ef^> z5-B@c&e^K@1_9yJa>IQ1CgJDc5w&pR3ejRN<5w=HC`CVqBL6#V*|9yqP<_EP>#`t6 zc~Rc+$XDhdO!VVT(r!>6#@eFE#w;e8z`|naMtU^C2eiB<(EYayyzU2ba)WHeA>>LI zR50_`f-^Nl!cA?*JR&6IA&AI#_AVYPe;2?`k|4_BL=(GX96G~L8B)36$~2;GMmK(Q zzDfm$cnBayzg2jPz~`_HM;7n_UGysI^^jk5(Y`X>2>^KQW<(qtV6REd!aq;jeY|Y2 z5w*@bQ~e05y8E5lC9>appIzY7Iz0L?2g@1S9rHx;1i1lI;@9ryy#`q`rseW`TOPZr z*iV!b?{|ELIQ$a4IB{H|dHv6DVHR~5HUt!b5=A~9ve?^Yo6am7{#OmPDB%5Lh~2}xr=d*#Ffv1P-p?;w;hcOe&Mttkb#9%WC(`~UQX5xJ zEcd|-x2Y^D)QtwoFCfNhz+OXDAPcXepBxkpFW$d?P0awKA1k0!wu~LsZuud$2x*v) zP%k@S$*XysRfRoW9hk+CCkiNM86@@ee>KeNUF}=#-MRV1E#T@g9Y$CU(pmT4q_4}H znV36-gmSaLJ~tZpB=ENccu42sM{is`jNhR%GLQ?^ZfRFFhV-a(23S(`trof6owV&< zU7O*%-n5<#IV4JgIYs+XUtB-tW4hvOXd6>WAUrnICK6P|&(tFGOVsleac*tj9I`k9 zV7Z*apaLSS9i$ixFVBV4<_`&CuJgMJ7I-)=in#du`L$Z;A1e;RDIJ4iXPt3)2etFL zV|xYqtz_KW!7^x{+h*aWEQfIwN9^@v^4NU^2%IdR`4*)sougiQT1`fl=OTqqvU9C- zT>o(f*YW%u2!^n%>z1Foj$EIsBqWfRl~tz7Wfc+oOJOEmSzv)wIYi?{?R6Ut#7)# zEA-U%9G*RW49Op~>x4QDM1RhDr7zmGrsvIML9)`e`-(BhW>wfkUgUJ^3$(hS>%M}f z5_N2oD;df@1-El zax_|{WM+)gW9pT`iFg^OAX^XFsJ-<2%8FKkOc&NK2v38j*szkc4<93eklZZpS_<*N zzIt9^unKo`>7({AbtmKK1|lvhb1@rhuxjfs1aAr*T-(+olnXSg8Zqt_FP_erwQ7`W zzP6Kj^^$xFm1-aJPdFTOxI^CCsk)h(H>+NeshnL$yz#wMutF^+_<|%ey<4HTv+6ZY zNikx4(m)dR3KY-4UV1CP6KPBHbAxkpVy4b3`lzm1VVBZNE*l-st35YrGX=9mM7%TQ zDcx4WCz?8x|K!PsEJz;}GaqMloMFS(QK6FQ1O}?9jn&HL>CfuMm%&ZcSykC#NU4(d zkEN-|2vI4XPwW1I3SQo2WF%8jt5ah<`)_iNs9n|M2+1f5S#~~Or=nez4e`1f zFN@BndC9W`EteOB&D`sB9&TsxVd_+L7wly_8L8`h&+r1toLsEG?(73UlgPQV8%wa- zYmDAaeRu6^0N~N14eS&98$S*ci^;|lbsjZfo;yB1MvTZy*+m)LJ}?o66p=!gSJCkI zRY~vcDv(uuUj>_-yTi=;Gjb)R+P9Y)u*O*6{3Ri8qfs*js0^_aoxh6Lc^pbQ-6OllSW#14?Prt7JV(nU95Y^tuacu1@-LRD^<|WRSpH{TkTRRlM;ud z2RwsQb4V4m&XYo)2O~zZ-IM?vKRaz+0_RabvL?KB?=2)>UteS7@wt_-tge$BN10Xo zcPX9c$eKB{@Y6*?63^ny&kr3x_eVgRS#MpZB4kI)0WW){W!j@L9eNfT@VTF9l39it zi32@l#^)M#5oYeH?#}}kg0XJhQzTa|7~L{s{ixHsT0g~u`NsH7_Pi_Pf9dJFFU5E& zHk6!2h!0Dp>zDuWbWA7Sa_*qz4oBU(boGJ4D?<86S(ORvuyOqM+Q0;HyHQ)d|72Cr zmv7iQVml4@ln9YzFbFFAdNh4>U!mS*)gpISr8JH^CfJ|t98ZnHep=k1>ekj;{MnHd z0?Akj*t#3F_XTW?jFsMBvYhNQ^#vp~V(>0_fSmB6y>ISWS*_cCWsf9+`y&KmXbEy33=evkJ*?Jy31j0sBY+G-W zekHA~5`ixd$p3!II|0s^>&Z(CT^A@O{f&JHEq|4CNK2X!v`Zk(3F^Ul7tb0eIPy?t zdkf8E41q{lyrZ;pg{qm>E zroEr*CLXkhwgdcN+ew(ni;|K$KI2?|ASoieae=CwSBr_Bt6|?oDHoVq7zMJ=h=-Jc zgX!zAIf#x+nRE469cD$Km$c`pL?ZBn-&{(*AWorF{L_aDKW=`9N8VE4(qMIN#1Zn^ zO(+~__PmMCJO+^a{DVc%&Mh4a0op#G8En>uz|Aw~MDBj7;r9I3JepkNa6Y(XDo|ap zOjrsmgm-yQvz`01#6=QATn$ycABc3~*lMW-J#^<;0b9TjFGIp=fqHFou6-Z%N&rS7 zMHxQN=5jVXuE+fwImdODlQSyWedY@uxePLEJG#)!*N|MqEvG5Qf2%m=OyHB^BMNru#z2w#iPF2C%!x9`BWQX2IpqkbWn zB$^drnQYk^`rFgC?JS7Izv7tLEuY)h?+jGe6v2;u4NW~?c_Smhp@JKKN$tgtD=eGMN;F$E60Njpe{p+`#}xp+iZR;A2)EIH zG7!4Sr}x0+8~xc`hxNaF1sz?<+a4y1IH&scKU+Db4P3^dyTj@6mx*jc>?2}f<6QgR zBO8g)HU?qPM)`OY$S0nkB*S20RWFc%dpM!k7E_)C=}#AySA3N}Nd*IlW4C!CidtrU zxn+4CD0}7Or;G*7ao-rr&5%&6L+|E~G64||^1l>CMrhI0+k=}V!>n5x#n1-)2ML8S zW)Eu|~&$}7~$gW=X{STJ1m{q+N5l){B5jM$U(7p zVw3iM?lb^o%*5dBf|N(`6rK?7T{3Micr1x5TPe}U6<+p~cz!#jPKf*cNlDpuI8v!e zI?dqL1o?#!5NP`Rb|xgMaS0uz$SGwi<=|6>nd$#z^Rbo5-GsrC!m9DLV_yz>YM;M2#>fyzfBB;SkV400L%5NKtj$i>VPyYQDJeZq6}F)I zyH%A&*X0)G>?iu{e0LSmp^eJrL9Xw1<(Z&#S4h#UQ$<5iRd(boXL0_u`%0|qVJT=)$KG4?D``E90`EC zLs%rXV)pR5%zhC1B@r>HDw6l$G!nl>oEdCb#hhzMU!}&f&Mv0>%aa!r##c`Jb024E zEc!|>lE!fUG1D8s!Hgy6!ML*WmM(qBR6%2x#sHQhEeAj_lCbwXXDf z;2)*&_x!@v53V#GDdwdOsQ1H%F}S``5(dJkeC0tyDc&MAZ`l#VP?2Kg8t?HruT0ML zB$Q?=qC4UhHneY1a{_H9hZ^)&;?qSZ?HufJ06?Hfk0y1Gzo)2j?EW{bvy3dz6VDTu zqVTr^LdM+nslH5HE^p6_gS50TjR>p5d|DrJdp;54B|84DTIKHBkWW{s@hnMOqIG(k z+^xt~ieo^XY265SbO!kIc zv~deZLMwCHS4R~2ZdF26cTu0;_2Nt9?y3u&{q$VUx6TAgNt9{LDzel)QtAG65>36Z zqLU^6TLQwMzb4S@YdZ@BqgPKBU|a*IX*+Kd-8VF zeHSX3VY~O`gwa!$=YOg`GInlc!0aKQ6~-TFBKTYBr2GeowK+lK_%D^oKeb80!94B- zjs&?-wl)+|VPr697YYhS-*p_#d2#!s{LtNM?^R#W#;vB8B7h$K){Aiz%{eqR_Hn$+ zuZs_})|@V3Q!v6OdU-ahR_S5qm+$XEJ27hty3sDHt~ZklgE`lAo-AMIR0G#V&U#0$ z7_nww9Gr5P4s_ix)4wFu&($_u$4Od0ss&bT1~~{Ift==PZg69hrWkbwv`0UcMJEP+ znQJ6&(=K~^LQXzi1qmo$gSR?ql4bVV{6xQUK_Ui7P%Xt=UYtGGRo)F^Y(9)C zo>Y#pMYA>|lhcF`jduQ1N_Y;oNt(o-V*oSeOUV&8Z@x-Gg#HpqPhgsxa?cV%Xa{69 zcShtIO^iW2@bJi?zN(Z}2$g(819mKP>J@cx!*aUI?iUy_JxFeRLSc_Ten$}_rHnmy za<_jy!1mvstx~Be5>uM88ADDI;Y7-pU&DPXy=o#4yF}u!+6{2sk2Ys)jy@UWI1($z zv@jWn8KJ3}s3SP8!$3Wv0izuDXuMPQf z)g__k|9QZI4EbPe+$`$xYJ;utbXWBYbphTxv&L*W#;yhpuCwVT0_qdx%i+RH{O`Xn*k8sk5?H>^-W|&FCpByVilEGgw)vr74+kgr@cy= zU{<7#Er=NT3>k_eUF6X#*ixo1e9}-<76mbQV**aTISvZsoQT_(X0o!+ydO zJW+7oqvG>{oXP0cRx3j&NDrXiTsZU9xwe`zlAC8pPvV=L#xZ7}#NVzoGI;_sL^!-E z?X7LoDLF9Zud1GZilT+qVD5Z#X!z3Y!37-FDuK;7wck25%eZJ6M;l=bvHF`vAA3q| z+_o*y1{(V3*q3XZ5Qs&_-O}#^ucnIL8Z}2-?$I~ot}pw^1bQ6Jqc(H<%il-U6LWF! z`l57<)%y;dUoaGvfWI^yf_|R?s6h?)*-mcONh`q(fOSHI^UF5*r$bHxq?tO4m@xUT0&zp^+Uc2bGn4F{oF{Ce4B8${Z1>yy zpf_Qk;^)VHM%TlpnGSg2GM!>xv3>6NU@IA2SMcsUoI4K!H&PY;fq;cuGC#Zc1U+JW zt)dp@#ddq$4^fo>Kl7nWrs!iRx0WbxCJd`?|lMC&)_ydPMi^fUO!z*}#@ z8rrF2#+LR81bAM!caLPq*|>$S;lNsovrCj@U6s#jMWl6foZ`*+anvaxv&4Rb4vieD zqv@SU#ffm<8h`lrQ`D5_0+&;kb++iZwU$QP$OZMzGP^Z$4K$gtnI^)G{pOCq#c-HI zV`D49a#qpM*aSlON(lne*@J9y305_A5%V}ie5qS!8+)})4n+?ct?D&edNM)p?eYRC z*UbS%$e%LF9RbDp z(HiMbOE=R{R#Z1N_=sY`%V@gseJr~YvH9~_CrMI~v4dIE{|^9KK&8KrmnXk{kEF_Y zB%Z3moVq$cf9n8j%7o1($kUaTb>j$Oj`guR8LTIMT7Jr~D+$2bfnXnd#fBQ}FGLGU zOA1E=ahB zzz+u3y-6*DCTA{PftoLOitwUmoL=RJ#lLaU`%sOTOk1`~%JJ-WG46TnNkO|Z&4jR6 zEIK<1t}nF1*jrsZ7OrPai^NOn60~Uu%ggDPDxb-v3w93xEGOt=IO|{A(k{;|+aVu4 zYJz<8^a*n9!%Jk+5Vv4wolHU1=s^~aESeS=0}2$@$19i7^q@oz1(}89VSq^vo)&Lr z$Su^PvT{pfXR=+QdHH!`NM$uD$5f{Y?q)Aprdaes6qd7$_^st<~rSG3Ty4&cd}^TvzUy;@lG}%gc;~3fx`&_r%B2IFc^i-YAC; zE0-@_aJ>BWgVTjl`kNPRL$Ihae9WPN!48aFCfRjspg*Nv@iUwH_mBSs@fe6yFjY ziPEL<4d{@pg$cDV>yN2)Wc{wT)b845>0ebk6v^njdbg9+V*?>`=KtOA{%=_{7U^Gu z9iX*1t27YLpX+d@g~J8TiqEiC0T(KdSvlcW6&KER4I~tJswDwqeN0tJ0Pr&-jQGq; z(~X!Q{P8F|g!TRJo+ADGRmzjNdmM++6rrclvMEi^F3grj!8OL4akK$GB9M=D(V+uN zWCR}RUA?ne7UMaT1{eyBgo}Gs!XP8&9aK{x=~_Ajrqek?0WOu;fqHx`z*MUqvxLQ4 z8s)50r^r3i7RzHxcHz?lrTSsb&}fY#GPQh}TbLgaEg^uW4ZvYJUJMg4@IxAxfx`?k z>ymjUACkg8+^dan>U0NgM?^-J^{4Ls{O6Z(;cOWN47>MwYanvyq2nr{8dWuQxWR^d z2KhMs$_DPvSv|u#b&r~ZMSyHHp>F|jw+v{3<}5jgQ&Eah(-pYq@u^cr%Ev!=xNO2n z)-4T5sl?QZlxY%%JYLGfQeDqTrRJ|Io+9It#y3dV@Csl*=kjR9{i8l8!=d1;ex)fo^aJ=1;fMp_{y4hx%8&?|tv7`1#Mp3?v7`uAp8U$e=z|m1w21 zoi&X-;_eP3u+?09dpY*<*@@8ll>qZxrW$73oh8)49-;VXQYZq?1=9z?Sa{-i<6l#4t;WkqZbrXO`=O?=`tz4 z5-{Y$L8R;eQ?Nz?oNR`E8u>7eUrZv~XdoS_vc44+=-g#3etss1cJF#)Aj&0P6t6^u z3+o!N69fUUv0YJv0tTLgW~Es9lD?h=){K!K_%Ss&1YlCf-;TSL3?#XeaP{ZiCO!vf2dATWRM8?55Mq)}uqoeZE zw;7wpk!Ly90*4Jr$cUz-8p=-ib{C!*?WOo#$`XhLboc`?jb%@cr|wom`ZcpHBnnmFu;E6c-d!V3{7@#Sx@48A)~GBrFPIQwHYl$F%%f zB(H`VqyRjaN`Tme1yq(E`pT$h7qB5GzIAWuu6mg~t{e;VWA(|vjd%k~IYtkaXE)qf z0;b!DVMVZ_DOpf_HKr?c965A4pfPu0oUE8eSBZ^; zBka1*{F#L%5#4u0 z{P7b~JvLwJ@laX#ek-2{VJnJd6;#7Z$s*9G6@)%ZL~7#{lrZodHSt_1j1ymBu3nfm zM0VD-vLlG)=f~fA1Hr3@N@LNO)YdnkAW2DewBcKk7`9DI;PWqBNC$DPr@I6-%BWcu zjA{Itc!T7eFiY#|Q^_Jc%8tiLFZ+KVkii41WhuUw!D$Mg-ed2Xodc^uST>y8bCrm2 z@-ZbRy*c935ytlB$Wev6)x$7y@Oy%$G&I6oj!?>x{<90WXqn$TzCR2rAzSg>{1!~R zc>34fp(k=KE_;Kyyh*CRfCoJ*6<&NIElIrTr9LTV;|}}1(-z8O^R~(8zU44fj(oZE z$PMO-&~sr%#11kKlNrY^EvPUhXF$nq+6|p#!$doz2G9CXiue*$X->L50DCinX!dB# zGK#L1-{g(*t_8vPStS_sGlcZQI2)UULOJjOokC1Q^6=w} ztvfL7pu)01RwT9)T{T94{>bm6I*8p(~o>#eL&Sp6k$3Q+fd4P-^T&|1y zE$AJ0VcMm-0MTka0#3Q=VVPKc{5Zo(gA0A5CoVS$wqvR?X>gf*`?Duv!G4>5t1%YE zvzW|0$T*~7z$=XA=fg~2fEH%T@Sa=-4VWSBq|7i0dC>rpkV0KcwMAOn+7P4WMa)1P z(w_1P(t2YcN)n4l3(38y6-oHs-5M;+zjo1yQdpRe?b9YH#=1kNGXYC-2^H1o$<|{ZTyTQi{_HZ@(bz0yg@t(K4k>6U)@Iop7zY;>LMRDOf0%4=&$nPMc1qIy z6i;;%vxxeZBxHuI^883az-BL8)0y?yK=34?GEGHN31*B2)|I6Wah9F7h(%cXbVd}M z#tnyQ-L;_6>5c~RAauw+bRiuB_<3=X>K$_^%5g^zkEI-8z zE=06+56(8^qLtgQb|i#ri~blrX5hZX9e4}l8B>SLpuWXQPb0D^l@*opV<&?_p~sG! zyZYh?+{q>xM{sIH!!LgSap^m;P}f3=MgfHmVU4PmAk2uDo`FlEAdQ}14ljRVsS8k@ zY=cqDXyDtC6Y|0ODaC1EEEem9#9cPMCcyBGaRUoZZt-a?tn`Qng?6m%YNbXZjl`T6 zG?4l}4+}$(8U3NbHA5SMK@FZ9Jra03h}5*mNuL-j!v^ZvQ^GJVVE3;<00Jj;*MD>)?AcJcjDfA&Y2jjH+y3~b8+@Z zrpoj=>*Tf<*2qY_(v+V>a}J3tq^A%X1tfEP2}+fPt2~S#lZ_^2T!2R|uA>gL1Td02 z(Yx|89UThBlis;r8wlC!(8Xe5H%pg3G*@c@mP|{`KoBM%h&mvz4iKWJ6EZ?Um4WT> zEuMkoMWDaB1v;Q_zC1O1jSRl+8TrJAj+B1YZhe--{DjY%Q(-M{BexDMRA!f@wSfAZ z-?u>#xWwQ{Vy+}VA@%qyG)IyNgE8GHccVG+$tF9maOcSw?8Vm+1aj2g3Ap6Tvs)dQ z@f2Z4tP<0>?YrCL=YLxuOI9_?Nk*4~pdywNQWsglT#Y z4>*p7TG53A_z)KS0)CEp&#%2UkWM~Zi#+3;AH?IZ5iELBZa$r^ywxsuK}^~GRI8rC zGAiRDw)8VR^L-u`<|x9hVkO>lb?Nob$zw0AkT0Kq48AWo5u;0R$C@~vf-5bV`p%CB z8M61(;o75RQZaVM$_w-4Alwx{Xpl2T;<5CW55vS&wxKox&;v&rGZLa(n952mq5<%` zC9RE(^2)-k($pN2F+=O+h)I<)WIz%7vY=xFtylIiYb{g|^TPx&3s@C@JiA7>6Nf$@ zc=C0*{fPxKct9cUxVzVSo60Iux0iGV=}=mGlq^W_(~X^j;fkV!=@hOx014O6IN`DC zICPYN&Q3I5FI~?KBzR>C+5@X|K9de9qsP#8)$kbzn%wn=P z-kW1yHeJeAFlNbKeA3Wz8P+eoQ9@(dim6@+?uJ+3-i1x?%->s{emYCYDVD9GLIc52 zRsaQ{;!>j6>z8^MNkLwx?5=ByI_$!GnZw?wdV#ByfP)3>})Lp`yy^xayvyU?TV^`M;dc?eP>2q zSrNXg!j+TC=NCDn;vrQU>Zm{x1e~c65gY*{W|Z9vTzzXw`a*dJpcDDuM;FP{uWghs zef&`Q_y-QvDFSggC`MJm80+4#<8@`WlBaQp_ASDvztRdwW#Y{>t^pcansq^63PZ8F zS{>3HT*&p*teaCfOJ^Nv9L_-8REyy_mW0?@#HnAmX;6kQVeP7KlC8UHWy+)>I;~p2 zwF$5`88xI>hGH}+z{WvOTqlMlmV?GY_u9g>a`Sz&~;gVTD#59cwmg3q|Rt3i;bX?bdft5!MxEHS9ykpqp;ET#?7s9eCNg~71Ff%1iT6jK0 zGhv<~jtS27R>UQnW*Bm;BO>GR6yXkhbMTTsJTFhayizVb_h>op$g%n?Iu(-xO7`eL z9(1lgu2QNlE~sgoLS-9A5=NKAS|x$SJ9oRm2O@YVY*&4YG`FmOPmYigQgH15FS?L<EMW;|JGnIGI`R0&`Xy7O3ZIY)JKO|rI@C3OKALtxCyq_9@^_sa9hgtfD z!niprq0!MeXly*z!p6}b6#)&_fieU`zLK*V_3vs7>0FJs3!Z+A`V`a@?2BC4m z22?Te!Aj|0S&SX4c4>eibf)rPl)y%wJ8GL`@&T*~SR1bsB z!#Wb>GLeD58@*6AC_Q)lYU`Wj(dqN#5BIzx&n@36Bk=Z`(fr^}oBPgsA@aezUJrh{ zBQap6f-q^ow>DD2rI!HqiYUzJ)Jlj0)uKUh^Kfj}h(?i*BPcY~Lfki@;_@y#M}}fdx6;bVa-+Wi{E=B(Wb=+jIShBo z4<1!1Bk*jxaQV2sjesi zEFnYs7t2`OG{Z3=G6|0|^h-|U zy?PT4tk&UF_mCnPQe315K{J}1jYOxwAdHCX-Ca^wB{#U|8)+AV@Ng{1(F*MrlAxn1 zMJJNNMp8$6(hS6~_v-iBKw6rcYcN7|RF~shOx$SqoyKsXK;WeX0YCr?(N$;;FNBeZ z+NXQ~%|)YW9zr&b5|c+e-WG@vb!QuHs~5-w>@M;6SR2MX_Kq!>cHvoJnTRJM*Kezp zPhJ0vTrzWoeBqp_GWD=Asw`A=%G>YB(`D^G#3E6FT`wO~MW)hnR8ff`e;Na;Y9kK0 zk*)%Yy%YDdroXmDUYNUGhW9Iz@x#j`iN}LW@EL{}-rt*tQv#g2koed5l%Thca!f$YV`NGNa(UT96zuz}Q{{HNG89AU-r?Xlon^rL+uerk6 zh31b0rZH?d2&xNVK?0{=A40S zWGGJm63vY!9I~_X%FNl1(LmUNa;e50CK?<26Y@Zk-e@H^_Wph~u`4N6Fz9M*8L!)1 zBkMQsmTfy5r62A&a1^S+t5Rd&*|)Mt@c9Y7;mA=WA4a1GCYusci|02=F@>UGSK^$O zzPb~66#$2{T->ws;z+@FfzfT=RwMU5_NrWe|7)^jYlDo!bP8uCaE?iL^>x&!#T0JC zw4HLw1;g-Vs-tD{gi$gIQ`1}SpQY`|H$&3lwl%L#UKB#$(m}w|;LLD{jDQlD%(G|= zk3MMmzz4$zZ=%vr=%_Oc>BxdW93y~#qfwD?;bOcKJ$4E59NMn} zid&0#JGN{aq#iU$OmC^=<@iEW0Su-H>nS&y;MsbFX(V_pEQ}|in*$Zt+AYIdN=QTL z&@eb^&@c#Vg3>?!+yeO{wrw9n=P(rSDIQbI1AaImjI!`mNFCU*TDfdDzWN)LUtIqI zIpUBBGV`?!vK#k8{ybxW-0{E)89lxNr=>Akfxp%`)Cbng8Kj0X;DnfC`AF-0EvzMJ zgj}tyEg^u>Ae67+z_)T>PT04qm?LD})=j%m3AjL)jmw_=o*PI|x~HF>RddP-$M3Ev zEgHmcmT|X+#bOWX>dwLfz`CGE@hfbjBnza;T`EpNsyIoU=0k!EM`}3mcla*KD}{_h ztulOAseI+SXJkO1awto&ocjJFW%cpzk*k0Ip#0yx^LR#G#t$gRkqI~5;-VR64N(Uy z;!EPPc-;;;`&W<4moe@7+}Ts*@JS=pIBZI?$7vUePD8K}hh?N<(pH!cceQfU1CDxg zG0wRdcc@}8k{wV)Dzn?3MgNav8dxigr3Bl%`FImbF{V`+-&;o1oNX)Gwy%df4Fo9~}3H_ccrRaikBT$Rv6mJK+l&Gijf$x?j(MeydAOFlJ8 z&id$kF=dO(7p{6%K7Z;kEb>LZd+RKz8eXhtv9uRwBTx~TLEv0>>6%kpo=HH_<~O7u z;&2UtI0!4Q`2m5#+(@MeBr%4;NQM(w6nLt-qL@Y6{phskZHlGX0jE8BJ?RdOfik`Q z_CMC8Iy$#jloiRqvIL$@cCV;m;n*npr@{ex5NBOnB{|r;KgHLu!5k!=87gOdfXCD> zKcp*fO>yb$e>ftrfr)?XgEO&UjmzWH=gW{m{p5E){et}S|2`uhncP>F;GW3#`bH_o z6osQ8c|~wffv*GNyIsfQ9SVPcVWnK~!@K3Te|-usLatTCrgC$7!usZNj*pd$)c_u% z9DO*Y%55BulQR%!BwQ=?!w%J`!4*=0Lx`L2&V@FfczTfsU7 zyHiVF-74=LSu8hSe~z5@iIZ{DahsfV+M_aMRDqoSp-FPx&C^8iQi%$brIn|ARUFRv zf(StAb}`+^@D(Gi6WZoVf{V&GhfkhN({+x?8Sx-5rl}tAydZYn`ap)rVe2io{LU8X zMDCI6v4NmBOx=0soxH=;*52N}p#<}~k(C9J8l1ItY#mYN34h()Yt)^*UZY$paH(I4t%C^dw(6~iiZv; zO5J+Z+0jI-{lCXen*1Y_OLaJlq}yn3)*$lAE3asYnwnZxmX>zPumRW{Z(Wba(II7% zgr60#`OVKR2Fn_-w=sbjjlwAurXiwnTuiyT)o($vh#ggUIqJ-GDBKb@MAbh(EQ;{yCon`E#gP31UCI;1`CiqUl>}>-SCBuby@YtY4QG*DzkO^d>mmn2* zoLWFhnxG65v3dW>+#PbqLo?;Pj~pe}|Lr*$f-PJg!$=}Mfs@I{9X&}7oiql|uFsI4 z{^==M`07R(KA|rbzxn!U2kKiZ3@V9y55lykuC8AGW|{fi++ijK7dHkPN3&w$50) zafjUX=xn*+;d!zFcf>~khsQ&>J4FrR^DCSdEykn5ykT?YH{UDA9&?DS+}I*tyzXUL zgPVXu`xoGG;)J}0_i}x3Y)sC>iG!Q&c~NG)x=kh=RF0Qix1r9ND#Xr7cM*d2VXNRF zJ3SVo?T!Z2u?1xav_RvgDh@`RbbF@T7OCKCIFy_pW}J?kbvDz44sdWKr_ZgsYU)-o z&2*UIp191~?Sqj5*fMNT^>7~Lr$TwHs8mahc&NIrSyNop*AyK9}iU%ugx%HNDEac4sg z#!bfO7j2el|9zi)=|fB9)1Np7r)GIl*sV?I?`dk4E^s=;5riWI&uq~ckRx71k6kD# zGz^0~SzLs39l}wCdT86vT;tT%HOV7bC*64e9C-#W#~X(ox#2Kqwh?bmf~9U?EX8Y^ zQY&iZljn?;^FDsOv`32Nh6k3*-7jpC(ti0eZdi$a6Qq_~;q^P^@+;4f`Aav*)i=zP zv14(*i^jpWpwlLWTGBWmNNqam0s@*8UMUX};KF~t3RY$044i0GZgw&nQewtQ!wVTI z0}TcjCc-&5u~0>AC*F7(HLRLzzb*4#S+tH=ro#;P#09za1Qlg--mi_AE~Kt zfB(n6b4UBOmiG8S^icYd6|D#`v_7~5^-{6@|Mso}u&N?!pX8+wQb>V>9(on&ML`LQ zf|UhDbZv-jv3F5)m$k0Cmc_ER6<7uxcqE`GOSo4hxDxqPrXS(>2p9f2@;7-&GX zqBIUgpN7jtl6M}FP95sVUDqT?eDmhAU`>iVI~y7Z<~!P9SxX^wQ-6!wd z)m6H7Z7rAFI}!6H#kwyZm&gLELu2NJTO3(7c*x`|7vsyQ4P8x^4J9ftK%g*w5HbY> z4Bl=?gNB13bfu>imMU?JojA5z~T7t5P%! zc|1d5J7Gh_6%`*dOd(X0jnP=+(+RuhigD6A8gQsJAQEd4tx1pu%@=cz2ZU4ERzYCN z(+v-~fRBbl0Jv$btNtcw-rQ*GftG}a)xnT(#?K330yw^Wu@E`3RSX8=KJKi;1@h{o zuVu)fF0yph4w*VzfC^<=QUvdP}zbGZb4Czp1@8*Q;p)9 zq}5nC1;va_?-Hw+7x_RXR_vzH%KvGg*wLNMcw;ip<%Zq|ij4ee3eu_fWCP5Y)1GI`1tIRl;av9~73xsT1lO5S?Xt$jmP zwRDErGBwgxD>z7oU3`|D(X*pWp1w%#e`k>#OwNWXMYRiK6ev)|4c(rtRC}ylnzee5 z%-eWS?!4r5`Qwl?q*>#7NQY^0IMStb^5x3+g$%Hjpg>WT3P9(Q0z)@;&Z%NCx3+(C zFf|jy*yv}>Tq_%~z>z{)<|)UKOk`c|d*>-GBHO4=Z9OViT?KV&=-J|j6FC3%Rgz3u zdI0NMunQ8EToGuG>yQld;n34I8RHB7mfB zVH@gQFV53G#Xm=OlRu1^Du;0TB87t^Q8a{S4b46WYwHGa(Q@CPhRTNb@5U08(`5U$ z!?GPWsD@y1U=Y&-0pw^?9+s@sMcGIBm&(}5D`eEz59Q;}zn44=(-I%?5}(bAiA;aB zklAvuP^m`gJO^rQ3J3?|SaVW1a`Ovi>a6c&)T95FJJ3(U2n`lp;-F~=X(0;&CJX|F z1Jh*d+7#)C!N&Lgd70dF!%$hhw_Jw2xZH&C~*a&&`-T9IiR7WN~eFa8$$iS?nD`Rjk?Bl@?^B1m` z7vG&DUoY4vF|8tTcw23~&x6S)r?Um*F+*IokzDF8H=fx-Zo+6+uP&{XB#eXQMTXZP zuyI}6;fx}Qe$|Fr8?irNe zGWjdc(oHzKm+VR_l~-nOmkqe;xjvSnuz$j#UWlxg3F{f|2#7+w+cqc4xJ#PL)mILX zJN`UL=B_;`Z5l+NQr6y#;#bC3rmRdSo67Mg*yHf&g1S~RW4Vft^tMx^Rh+bA#ORCWNaKzCSheo@(|`uu6t;r%$TzR zGv~O<01Rr?E=Fql8xRhRQn7VOOV5(GKb$95JTOt7{Ah(Vhw2uOHDY#}G)#Y-nw2crraIFN9-9 zTg$-(;~-Uc#f!WcI666TYT4QHvms!wS~&2c0?6#-ffxI=jS1v3oSf{O?-^<#c$U0t zFr4`BNec*3CnO|jM4L8kUtL;Sa=3e^rgTPSNCu==H4ihyJZr}A&A0t_!)s9dAfwbN zZLI>^al)`AfznT5($2eu)5s8o8EG-yR^vw0M#HI)kl0%C==d)su6~R>aZhKtY|J!S zg;P+JX}yKS$bE(aM&@N}LPluUx~V+(=NsjlDYwhT-Rn!@`cyfH6U8z3q}kvEBWvIy z2t?~BkE~8glcD22mHVIiP}XhUt%!+_WZ-ZvnYRG*44=7kNN$_BK^~jFO&VcYd~0mqWe2>N zsbPyj;c(vEj9QExmoZW#Ti0)sf80JmVq@#b{m)Mm!EQ#jbULa>IwHTMiyB*Y-nXHx zDN1An?iDN#gfnUt+|<*7Q)b{dK~Z*uvn`C5A1o}x^4obdPKLB@7PrHH*z?-Eb5qc< z;_!wI+gB6P@+`kk#yGh>nIOy%8Vf_HTH7~nm{CyTcmD7PJ}BLlQykC`IxK5VgV=?h zpUel|ULqe8tpnh8CzJAluxP7dk$7Qj7*im;*4bNIDU1DX=p$EL(g(}bBNb-lx}EYK78SnvO(KSC z%cLX%r7$2u-kG~YK3J84UV4DEL5qkd$uhSt{ICmNl25Hg?5Pn)_Orw|i-LOFFgjcPAQC4G2@Cr%EDk+`+ z%9Q~v8b{1+(XQiAfO3czah!Y$VpCsDbjNpMM5|V<3hdFNM?rR8?t<8Qapxy=Zs6Je z*|v(HCgFbe@MM!ICu`nJ86wcCW#)DFk)U$SrcjiS;6XBoW)?t-LxCM6oIu267du0! z;8kHb->d@y?e-pw)cRFao3cfI_T ze7$VDj2zlqlJ=#^*pHS;A#U*Eu0AwADqL(af+18Ct{pg8MAjXai!f|^&xDJletZj= z1)&)8CA0~^wZPFnsE^UlFg3mh{UWZ3GZe!MY33jT&LqL2MXc{i-6Jt&g>v8Mi{<-O zTjZ5jmP^~7b+r#gDw-XF2!p@Mv?oQCW$EM48%}J^f#271zzv2FZYmnJ%EA%AT|zE= z8kS{h{4E~ZEIxkoVDdeg#TDmvsOxDIR|mtpxeMW3Kwd>Tac1(Qjj8rdIvDyL&bq9f zJNGTbaYMOhc5RNf8l+@XsTpB5%%35R^Q}Z+cJSca{b!2M?PB2g%N9h3|JclHXzS;L zC%Lpxw6o`QDl5g{hQ&7v5x6*O9M>{j{xp8B9@FyHU(S&UPk$}1OsfXdv=9o{(L#vYy2_Zcr*)l_A*|9KLV$q-ZaLV=akH6g^M+4*J$~RZb zm>E!~Fxl4wW^<&DjU}AmcKoGskW#io|!3i zJ4EOS@mfA?y_HH#g^%XGG9?iVUA0`4_6UPGebB~V%iLmd)GC&%@%6!2yAR%n$p}$p zSdAZLsq;ifipvwa$NL5Nm*?)-nY56pv%JdhlQqoKPcmRG@B}E0ekIhbFLDdZ6GlAz zVcCwXB2PR2qkz`pX1v#k%s!91=TG!5pW>gsu+VGj%?yNq)5T42F?bv z@Vp9oI}Rflg6j*$-Z@O(o%of!{avO^e(_4VvVThzCWbLtwxO$kGdiAfY1OVg%v*du zd$BzE`YhS9AWfosMCso6Y|NS1q=kTi*)eDR!F?T&S@jEJp9ERmwHd>1THBPmkyC>Ke<@C@?N8 z)dZ;O1mUPAfNkIprWcfbHU273^CpoCTX*PmF+vxBSIMl^gsO`BSo^UYd@M}0E{qUO z7l$VDvU0M&tQQ?F=XY!DhcUJaU22S67y>h0zK6B8+kV2|8V-fyv?MAhnzG9H41Rb} z-J+1N&|L9X{kG|0C%PSOPntO`QNI3eErvN0q*I*&x$5=#vSjOF6%6(tPQ;Lfbd(5b zW{bijlCHdLpv?W?5qavx3nT*<`Rv5VQW#F5M_r;kgO%C3*@>%dsnS7SvF6Dmdk*KK z_1P~YN3@ky^B$6`ue)4kY{-$`uPl>)Z%x;8fLmghVJ6bX5vc$S;c{)52jjjvjLX); z^-#czupd9JBv*=)cE}kmW8~&*2g+x2mdWHvo1{HXP~nOLZaVWyn77QBdpEsZc1Jk0 zQmO>whR3(UIh7pX_*WU{57?0oTV6Jdwrg7U$QrQH+sqtfg-cgWwKyiE?2N6E#nuaJl4?38$1d(bwfwiH0T^3lKGzLyXzP3IHLu8(y4U{#s5FG+B*Oq4P zH=HfgBc7@Z%urrq%Yx;n#?sP_uc{jXjlWNr+-?+O_><2vO3KeWqc!S^(K@!asj3rB9b@y2cq8^m^4yJ36T=G1&o42D^_RB<OE0ILE*zmK@OWXtX~%sjXkBu84YFkuD!DH>-|y^6CklT z?uRgY7Ndq>;j$n9`n@#*h3#VEjOfR_S|W$(p_L`u*qQ)R)$B+v5{uFHT*ohwZ$DI6;Mz zsSfd~Rc8#tIv^AdGN>J`(#oj{Wk@Q8V;C3iDqufqt%{rZWSN1c8Q4!Rbpp#CA9bz= z>nvxTGx&nHKE`>{!^e#)|Lb4>`lG0i2Vh0{c>X`=&Zev0ZMQM|#Rm?iPUGs+!DqI@ zN;j?tMe{@-8qFA;oTsYYx}Ve=$Wib<6-pz*4{8$IYH2*CCDB^Z7Upr{VRE?-oi+1{ zRjKmH=ikXi7xa?Bo$JW^GryOYaW*ZROpa*%Sf`z-scNj+MIi{r(C?57&ytxF$I44@ zT#ijy=zuTUFUjAh%L9*{Av@>%SuVZoB6)xLVd;VmOcN6`q(eiT(vG3qEVLLQ*!EgC zvbNrf7>e@&0ytxfjyF5z`mjI48l8oJrvk!J3VVyp19D);KDlOKYq|WAGqBxwo-F!$ zAC|e-#-IQOeMwU_uJSsDUIc(YR9I~>w9j#@`r|Ec(w${dspa?~{Kxto+cE)$IPq}f zSI&{b^6UCG3yi@w&aHbDMfJ8KF)-&#_FW#GbIJ4mN zLHE61g29@=P}FE#22sg41)ve@H`9M&$uLk=;6WfgsKIvJwJ;$RjMQ7$_$C|*N=Lc0 zpsL_;fio-*eA~4(Lngg?m4t^y$lZVWMD}Ai^*!t#xgnuB^UV;IqJYB*8;*1#QL2J5 z(E3d~E5%eEZmYV_oLNFOv{&gT;>jj&qElt7SZT)=$#ix0|x^*BF0v& z94$7#*>dxcI-V}C$1)*9#pshYNl%v0J=^6_9*#JD>t-BEohpNezbP#{Mq;jnlaBy& z(M+@G(9@SOrW+}DDjPGDONy}^)XVh)2Ub?}@Rkp~0egaFZje=j8#wvL0SpRta!O&z zw3mhlc5YXHL!S$77<72g%2bpQ1*8fCx{`MSpFgVwA$}&{t+(C^*t2Klp(95!rm}-H zGNGj>Gp(S49Zet2_~j#*x|49~%=d{tMB{?hGNtazT8f2X{7JlH;8>%wpdsTRrGav4dgm7dQRb1Gof#H_` zp;h3?pDP@Q_2+fciGZd}n>Hkm%>VY=PYVn44_q{$GjDY%=bd$wa6>)k#mtj<_H8I@ zJx~6vc-Ue7Eew zE7`nxa){KbY&Mw=zE&H_~s1Rvpqvv zqqEO)GR5ShhY@|B-IO6*u`rWm=bKSCFs4QI!Lx;-8<^BZ7YEi$Zy&tHU)|e>o2U>* z%hI4#l@Oit%LjEqol|~b*8FcirB9B-lLqRi|ALY~-wYTqpmhBB@xhNj{`l6ctlVks zTQ!!e&u)g%k^BlhBHw1ns)Mv^KjGx!CONA&@L_GrF?-vR5YWc!4MYrJBGhQ6piS*< zy-h(F8wszo?9I{tz`CZDYqrYBtNP;v!eTkRX1$D=x)^skChqsd-c;vqZ4(O0*;0oR$ObMy;}d>Sce_(UgG| zA{X3G`P4$!ALSXYtz%k9OD?(DomEuPt9xDS{%k4v`T5hxgBUytB2WI5=&FYKMFfOM zJ9X-WYFT8%h7BK7^7+z1%Sx_v+Dvz*!fL0D-a`Asy4AQfY9*49wwa?=Q;|` zrC{z+-Ab{_nG}fIy+r~t56h;M0{Q!xp;#-HD}NmKvDE7sffWQy0ueAmd^(S}tSl|y zQCY1byzkN0#<3fkx`ab<`e5DRPUPF-W|~wu^le%ukOZf07gk&~_;e5NP+hlSUe(YEhm1L` z1O!8c1GIyH*m(_2v#X^jLsOyZ6$V5Imxa~@Dmiuu`bo^*M5&XuUzTpql9%rtfW?Q+ zB^O>-zh^YGJJ41Y}Sx6>hs=-LnR2I!3f^WlQ`8GAJHs?Wne?VW5Xz8lL>*}=)s2h zO*o5%{zd>)7f~V6>QvL@!);)6=oj~keD(QGnX_P(Ts^F>gyOpA&igjY=xM8DE=Icy zMqfyE&{#~I{C#!dUfGQ0ER=!cs#|P9_<-5%Ljfp8_@iKc3IJOzJ**9gC{Uabq@6m2 z&X1tq5qba%5O;5tO{k!TCB(~hSDq&yd@@g_{|kG|p=xoRm!G!+vFQetRC1YG^LT}W z%XZY2?iL7`!v)zwTM%T%0^z= zEdWQC<*Zn}<{gADb$GBc%Aa8~x%n9g+(8o(63QsSH{W*Ks;unnk9v1&CnNgDm#3r` z>aeMj)e#DB%|$zv0aDuWtNONnbhmzVb3fMIzKx8K6P=M14eAT;g(J68VRyA8Ha`1i zy15jk`RP&e$))h%4Th}H$^$9Exze1mIASZ1n3ZCa^I zMvkI#dg7rGlDKQ1+;ht((x_KG93IEY0JOkkX-InL<8_18HCp9{^U{T32+tv3d~4s% z3D5OjHcTaWCm!p^aMs_x>81|{QdEc;4-N7RKMuj~$tsd=U82he;=~mU41ILN%{Q+i z?>Dd9ygV=c=Bvd+UCwwRVNv^;x1E&chBtGA)Ohsu&7REGGFjr4`D9 zvyyOXh_8cB{9Z%hplXH3j!1F%md6pXV_t}d%LrA~LYjF34An0#Qq1#US73g&M66yS z!B`QzarqIMGH#gEjX~%9&l5#jh3NcAA=X-v0Zk=k=)(9l)nrb7Iipobgi|Vnu*T$1 zAxRTLfX+Tw2bTqRy$y`d;do`P+@QkYzyd$%#8{APkwb;0w+`@-qNvseTmw;Q@;6jnf!JBKGo}w*J;=F1z3_kX@8zPHg~t4Kw<<+Q)zx60Bj8? z96aiW57${yU<$z`&9IG>tr68M+h1X49rsRwMT#Y2%@PUA&6MT4vgFRYddfwE&Xngx_i^kk@D8xm&jHu*|`6v z^JVj4oT`|-3Cqt{$eYVk6}=s?GI2Y}Vscy}H?EYh{Yi45umXoO)Ru?uz7hvh ztdnQ3*FL^?H2UVaomTTiX5;KT28l^F$4%*Ng@a6g42?(+=ke0A8aP`%7WPEnu5>70 zFdQ=pciLHZ=*o=3^0J$T_d~5wy7R^H@4iVOJBo_$U(~R~esM!do-koT;G{{DcI`iS z=#}_Jb>*JRyLr-jSt7iLHV?hgF(=(ATVVg5Ye zYKjTEaT_z_wIv6<094JWN|6(^<-o`k53mkW&JY>YI86G**O7xbN=O$XB2SzwEWqB5 zTH7{A$hwtM7J{`%E7Ec9@JJnjyJE~Fk#^xKh+G5aYb`K(0z31gIYULjJ><%mTozKD zApw*KY-Jsq{t%qo&xZZMH$2&T@X?4UeCCsyM{VRad3R35t(SN3oZh~vq#R0n<)e?@ zOCqoR8m$MD|EmZH5%1l*mjf?B0|yVDeDvti1w$`5!*Ae#My0zks=~=bU&~=?2QMWU z*iwasU?1z|eJkLxKehl|K6Fx?6cW}*-rCOsyWUR0v%^`AlTvV5kO||&OBCEP+Z3CW zaBRA~{r(&|=j^UBcu-5(wJTLxt@~Ckot-FaG4H@uggmK6qs9+f2HrU9hgN|HD%`#L zh)h^@NI|G>>A?!xdSFQjg#%BSlkSVKzdZ`8q<4~sQ1xT@LCS+eq;&TV3I6tLsa2=8 zY+QIy{`S(v(yK=&dE)OMNdDF=X&Duwr@9*vM_!pn8oaHl#Zf4#SHAuHRcNAN7?za< z-kK&wV(bom)UWC{!fIt8KG2euYK(3;GWn zh%svka(In_esS}w2?$0M%DEgK=IFAO>z=|E$o$)`P6$Mylog=Ej>^Evzf%w-p7ZGy z3U5t9zv}!g4*Mnon(E-`40qL+!75gjU=S~ECp>FY)aE>lO-E>`mwVyRdccx}vtL`Z zkCN#V*UQqCTV(Y0gCqk>zC#b~6Ir@Y?tuD~lEdRjSDvOQ8)80%LdN&uvH;0DctHH; z&B9!bpRC1^sOJrBA-9eiCZB$>NZ$L$VrkhW3fC0i^nE154#k@M0*|_3-7bF=j1keBWmEbG_gN}v6kAtQ_B&r8#E`z(V&lTmeu%pZZ}B=sO9 zu{aemg3Hv=x43LcntZ-31E)Shy@7D>M8;e!AJGeda6D)jb|tz`CMm{<)lqEfDw*?{ z1Z8DlX$p#RXRf^T)Gb)qdRVTOr#?cs(uLN zdJ~Q`xAPnZ=?VTC9Lv3Cp-cvE0{8n6cn2 z@!W4>pq)gdarspX@A41Y6< z;QO+b>9PiwzQiHgT^KPV?f@K~-5pmM%-EVN|5}f$5fEoBtjWs6j>CwhUrE6BLt^W_c9h}v}Fixh27>N@p)iSX0mb31_@_g)5i3u*fbL3!8aZ$nAUT2;4 z8i3hRG6}=SuVsF10g(aY#<9cBcv9AG-1Jy*kYCY5H=U0ac{o)VBSM_?@d`(EbO)f9 zXi7XfoZthnAB1JC%R-^L?R)-55jc^!&rReZ5>=uo}aeB!Pnf>(& zxpu_)5{na3_F^x2hvl zm>fQ^-?jL70hO z)fnphs!@o{oH>&->>+pEbI*?9!!Gl5Y~QkfbZ|+<7oTnSi-`^PV@*tB%g>h_P>1e# z2w`k=aSR-eakGBaysLxNf>BsA7{^G=%%D--1a(W@)kMo z!j5uwx8^cs!b%)WSS)ErGh}9Xb2$fhZ=~ST!v#5I(if|B3n61kum^L*3c|oEI@zfY z0atL}2QQ&)gyr^Je0X5lQmHrND^!=cvM{cdcy=dB$dr#H2zOuX&n%FzdcpGXJ7Y2I zykD*w_J%a>9)ms#y4;#>A0cf1$^87*`#I8 zZ(%Arbm%}H2snG-!10IE)8}0^bb#mbA+1aH?9273T1re($UZC}Q%Ed5)6&rH_#Xpr z!&U$G7K{z=ytSW!ARMtWaezaJ+dhbqwXVZHaJJtR9E>JGs8p<4hsfivOqcj(P35+G z`pL#kd2)KvCMjI>mE6B7LssF$=&rc7jdK@S7^q+?5sCgt9QJ}Y$6bTGoQAXIrSK0& zi&6`VjIuH^u|#^Ul(de8U?fSC=@Z3&_6+UFdmu!G+mq$v*Y3h5su20pBX5f|3)b2E zV)UUbpZoH`JUR4)aGQKM`6MlnUwfRY!ohBtmm~ndNj-*^Rl+cS7hR3oMi{y?ZQR+& z6Zo+h5hI?bcaAB!9jaAce$Koz6B5P)Ai&`z2Kv>_ZzUk?u$N)BlbOn%Ib+V4;=;U? z`)|28sAKEM(xfAWdV{R@jzbqsNlOyc6t*KIAfP3_@h8mjA8&b7fw5u9D7<<=4M%EN zP_P<*^Fa|%cc)Lnr5LpH#6s5mJPaH6#>;-}A^&LFLixj`=g4Vi#>$2qKWV#oo~&K@ zy?j*wwTZB(-Fa?UJ*ZjXP`fA$(fE!!bqDNj$Au;@_Pv0{ged-@tl=-)@4fAu5Tgpo7c>Z&I(QZ+E?Gx_4Ls*-q<>6L!S zpzp1@S3CP)_|W>m_%pEYv2?R;RqfWDf!uz?#Xno=X_*p0AI5K5J+_{_RT%E2&)hpC zC?v@L;HRI=8UuiA@(_86(7%QGO;jwKk=e6nQ`M?9?#Xcn63!Zs+&sSFWgS|?dOrSY zBkpbS^XJGG)h+OllF^3ao5VCiLK}(f*x_j1jjMY7pqqu~n+3*xhcW^qRzo$))*TL3 z2!mC}Os&eo=V>V>3}3~-Q@2T|d^hw*m6nvqzS&=h-_G5*+n}~oKnTmwY3HfsJ6EU6 z8Rxc^*Iyii`xaNpT{lmX_#SmJvS!pLH!U}wOuKP|g(@T%mU*P$ z8(N#36Q{*%ec*JA@%oYRy~YWxZcK+yU9<2k1CG>j8||U>Ic2Xsd0{}$&Mhi7Z`pq9 z=(}(K<}Hj`-Tv^yzlmyPll_|t2qRs%aADa44?GZZ?*sR3x@_oB>C~}J|HhFXzZw78 zQV|)8b`{i8-I-L=Vq@z;Vj5yAfS2yZPfJ++EvfC>;^5mDMeBmKopSX>;aG;(=3W^D zKH5@{X%Jf7kN|B-$V)s}$8o1K{L3N(Ch3^ zSwHih$mVQmf#YsCqQ(^Y^2$#R^dPYg)9W{BK{tKzjmNvX04(9q%CxKirGcAaVt!T$ z>%g0E1{P5IZ-fKiwlAslqM!9Qc!`svcDr_DRSdtjZTamtT;!LLk@0cAbIy4Qfdd_$ zaTOL^e*^R15DF)OO%lc#eu?X42_SWAWH;#H%d{(hFfCPA(V8!tiQ~_L1`C zl=ZTB`DVHO))BZDAx}!1M##JEkw1>SRIa~fn0)Y`+48|Zzmt}|q7f$#d}9hN4?%6j zl6MMi<>ezxyW4;w5DpE;no09${7D8b@i)p4^L`R^W?+R!7_G#J)8e;uWTnD>M>$$Q ze@Qx!D`)j-Q2N;2mj@K)=Pv1f#+eTyP%(LhJVOk>wfW6eEStfpP_7~HAb7$rT z2G?5F<+Kh1&+O5m-tGf?OIEH=^EAMH-Q3UaRe5Z{s&8dxLwcpZ`Ej6F5G<4`1_i>} z(aQ@8;)Y{58ef5GzeAfg<6{ClVN^)KXu!)Bg|!X_sU$3}wtV^dX1Vm@ZqmDVynH@+ zjx_DiL{@+Ntu*Y>PU4!kkT9&M3V~qobigufFz01EwQALp%q{C=)oW9vHg+;{y%ZT} z|6v^E;E!ViKY2m+ryP+BM!YD|Ey9rvv*t@_o<8$1d3daX;zNk)zqk>2}oG&dJgq6HL?wUYc zLAT@0Hz!`VV)crB;1R!@9(jZs$A88A*93&QojZ4K=?gEsQ0wWZpH6Mvy8ZgrE#ogf zvq$^zEjxCVtlxRmQ$Gsx02GoFAkB#%py%q8E8gm`+rqYQ0+J1@gQXkc=u35r9e1t} zzzPy{#IuWwWN&f`4zE5J`_gk|>4HRQ*d#=@tXV7Z-FrxMY^;R&mtn%xqqF4PF&K!N zcl)gAa$wCG39T0?eozH#p;gVs7T+(Xzbx&cTHSEh3$lB6ro_e8Hma4EvB{gPY>^sW zmFvy}oV~RI;V2wren+k1H~y*`wz>wrFRxW$D&u9Gcqk+q@K~G-Pa1`Bt|PMucf$vk z{QIeE0vpCfq|aHf=(;DLd2%gyBM^NLT!!-BGyhcqVYcVZo5$uen|73J-ka?c5~Z;%psECO7b^?J?Qg@Fw^?@tm>)H!MKE9vLZ^i=g-#q6 zH=*$DfKjDjjmuH3`j`~lviN{R)(@7Um-Lq@^Or~thHr~@9hBmNbZOGHCr)k*#n3L) z84fiE1Y-f>ep&R^JGjXhR?82h6=SOA-Qs5j!EZAvsHLJUhtJ(ye6LvsVYUY!;ida@G2gx864T8}LN%*s){(tHQyw{?`SBiNMHK=|c}a zRQth)AKuotPrn^4n>W7XjP9+1*KOQUvegk1u3q&O9z#_&Rz$S6vtE?~I4uXOEo&3L4+EDjXFjTG)~}ZpsXmzqK}|zqTYOd1yK@jY4ET_O16Hc)DD8RtNcV@)T*@ zv9;{{c7a4hM@o}UUCl5r84wJ+154LeeEfk#HmHwIyPxdeo+@2>pC<4A^BGxz^SQ1a z@tQR5QV+A`W{|CU%1 zB6YW_Cg@cyBE*C;P~pHHee4x3`Sj_l0^7B2RJeZq#!-J9dHv_$1!@%(4#xUlHK&At zfC3c_8#XMv_~MI0?tAco&Hc|x*wdm}qf7erXcM?`%g&N5d$K$YFbVgA>K4k)SFVPx zK06Bq9Z^R(95y%(;hi#3^}~UzRM2!Y>Xz{}rRa{!3M-k8QF25o7dLt?Tf0-P88!f$ ztU_eLm-8jQeS29sbEdTH)Il1zZm07g#o5{N^`v(t1*# z@=d;1w`1`Wfl=ECVZ-?_@r(2bXUl;jdyt5dPaqr}+cYlSx;63U;a6Y%358?#?%nxY zwrnx_U*+Jxx$RUD5CK6{NX|X?+}aO3{Lnf~Bqp_J-uQz4z1jtDO-w4;xHZF5zpgpU zNek*2rX{^y#bOJa41|I;!?{KUur;oswk=2vpiWxIDj@J9PJ+OjZ?C@Ys8I}MFqmJ{ z@;Gn^#EWRyuc(iq-;}jSq#~q5t{8frtlqFiZ;h&hyYv>%Stw_m-A9_XY$!=<*2zcD z{7u3eHP8!2Q+6+w*WY+ehFp4~jD6}&`QpP>(z2}?wZe$FF_qLRq=<~HiFW*z^8xG? zA|o8?tFSf?bTM?O9NyreF!8^7Rm%tv{Y@)s@c1y(pTZHK9db-|mVENe)qx#aH!9e& zE%BCNS6(>0O7PI#-|21I26A+FdT)pTn}@I#Vq@hFSp5Q-Q(rL^ZLk)>90vtgO-w;vPX`l z9gyyQ&X(0*&yjWCO_iqcZ6s;yN*Ol%T6yl7$7IH=MRMP5?@D~vIP4Cjy23wBX8!rMc~qfM0Me{_+8WxhLypm^ z19=#&3N4xVzogU?bRj=sODia`_7BdTuNMOj8bS*>Q#mlQ+cS2ZW;0UWY z2y9E#aDoNIn-ES6crgSIUo&yho6O_P;SdMH+uBrHCHVPA2FaJ-Y?cv2&cc%PRx0F%`?1{O(zre7GXqJj+TRT z;8n{eRhk1QJ^VKGv7=Q+h~VrPhH-M^eH$;P-REcF`6fK^nRwNv`G$k_C79PR6;v@* zI1;le&g$8q^wqyy8`vKzpdfj8SHy_o$%rFrT%T1z%3l839X^R zZCJv(xU9qlVSpeg!@$P46_XVXxM>_t0!lF1R|o5;vJU1;W?rU@!2XStlnhzFYPB?K z(OlLqT_WiR3#CcpaLGQrPNq-)w_s#XZh!Da*)%^%nm3OyhfOmUXApp+P&OZ$J8jjN zOyravRI8MCZHJtWH1x-}mmuatTL=fEkCtv)IcO19$wM59&Wp&{@yk{|7%Ky~wrcn4 z%<{{Jw<~{k%r${fuXfB?u<-iPcig@J!V!Ebwj4GSr=)-|aTJmjD^`?_yYtSFN1uLj zPr0A}g3cY=cN%b3_hxa8JQbhKODxaA)K@VZ5W4ZP2L3iaqSJ2`C*1Q$z;FWEBpGM^!xlkwzNciJmrYALa@9 zhc;xD-E;q$eh=R<+*4LoyyUev-W~bObI+_r*#Z^Gu>rcwn3!keWSAY1D6`SPof6OdR+M5&592ebigo`&T@wxzZ$f;WS42nw& z(ZxiTp|xCDLsB?=VU($;F2T(R3$Us1kOP#n=-@=b@TQDeqZ8h;nTZiL#lsfK#KDQd zlubwFok@R^^psul$e8=3Roh;&GjW5o?a)=0E%{RR>`#-f-S3x}mbD}>01FX01cW|^ z&egN}w&{V3O^c1&Ekv5gYG9qj8$7gVlR%Y}v>?eiWW_XFW8+~uOy2cSZLfeZ-$tdP zaBy}U*)1La;6(u!4(x@!C*gnCrq4k(FGS3w`(2W@7yyxdeRQ3l&t*vpnq6gupeiei#a#I7R6y2 z7MN8Pd~C~_kBn|&QD$}t2VHI7LBH{%coZjHXgB&j4ZW!O0mt- zvuxQidHRoPKHoSrbHbEBC{IRf&xi~AuPY0R)-cy&Nr-SCu6o41UL^5mc|!NBrT^r=z1|27bS4vpn<0=Ovq#9tw!-7|HXV&5<`K%wsYM2KUzb%&f!k zCf|VeR-2Y#=tC^D)9{T5EF*biurL%78rmsXjyv!gfimGa{2PKJZIU-;$x|vo$9GtRf2P?$nd5YV{2?17v5k{lQQ$G!r_e{-V{=%LGxu>G=}Fx zLpSrL@M;=el>os^x`~4M_Jw0b6oQtU$EWVwlZz9&Yn8rs*F}Nn_wONjc{%eZPn$j# z>hXqKZn-5mGc&UQ!?-+9@ONWuPJcHEWnYZDEr!3}+d}(t=lt@Wbe*H$o2wRwD=im+N6P8a?M!TwEeI&!3CZd5;D6rR&bnF(Waj`oG?BigJ>h~Jj#eCwCu^k zKBnDyWy7xOD0kd&i6^dZL{a*Y^cVV{H|TX>&%sEQ=Tsi4vJ|N9Z75is&#CX`4_!9o z?|=V0)x^@b-*{tSuO8jUg@=WAUA%m~jGypT$?9*D10vf-`0?I99`eRQH3o0}w05}i zlhm*bZ|w}=0#g`kua0`^X9M$%hfJ&P#7~4iLm}aA!b3;%rCqan5)~0D-)~Bm`Z$)9 zdq51s8-enL0y^Zy>i%pY6fx6IcSd64aomgpMGIf*=EC8?DozAcC~hQETF_HNX*e66 zTZVbX^r6jJ74#c z8Gk=1u9DJmP`M5om5WVx{cq;Z9bG@R-tC1&Wwocw_@?6dNlVHkrN~piV+7PLoC1Q? zgS<-v{bR@AL#bd%VHtwn*3AMR&(8&?9OMoQzMx=MQcawwofm}!D=;J#`a7?ztzU=h z&demBQRRFoafeh!R^0Gc{P2a{n_6XX6T&3R3=q)8CtOz09KoQcBCuHSHvf7G3%3a~ zZ1P^HQ`tCW{nqZD>#rQ-7adtUAJ>4te)hog{s|0+pi%`jgi1B;ccxM?`)*@P*6sFt z{Pv(fQX9H1(_a4SE3fqH+q>78u<-DNok<7e!)f1?e>ib{xkP&c>esKWssXpBvPJQ# zUS3MzgS=tw%79*r<7e$vNaZlAFEIVdT|@|Dnb_DW{j&Dv=nvDQE0-D0TZ0==cdUxh zszJbete**Q-3f2LeS%HJ;34h&M_oD4 zzf=3>QdC^H@cZQ}|2F#0I~N0#!}1txc%G|q&2Sn%ey_&T@AsO1ce?#XjvN`BmzNie zjv&u#jr?Nz^edV+X>><$P)N(=Yc|V-|9n%jV0Mzf)Cur3YFrxyk3$mBqBu$kf{=}9 zs*r_@>Sb~Rp`aE_gYgFrbaOtv=ro8+4WivfrGDneGN(nWt|}xhcyC%9jm2SX!YZf} zw@I$C*dRWCmyjUAniL8G05lEwHp#<5b{OqIqapjS$6itk%1%F{QTfeR4G2u=+ZA~z z!}S&^uU&ZQr97qlDEfwhp`oEg6DLmO4nTu~3Hu$JN@ejo&WAVY?7(BeV=d^tP+FvD z$dDl|?!Du-o9e~X9f@hgsKv|H$>bT|l`i^fhriUW<=3ED7_Q{N<|Yig>H%;LqZovi zJhrT@-5VV~;74v$?sNNB4P)UL*4;U_xU9c}qgtE}EL#o*bK~*FXH#KZeC`Zw{rK$_ z0}2MCXI@~?km;e>Y|WC>@+%}Qr=nx8M&;LEes;jQXZPUUC7DMvk4}7H{P=fqYGx9G z1f#D}ifaf8PqoE{nxUWZIO(x*$=FL>QxGp^4xu>7**1uohkzt{sLn$chH}90s<}NG$)|jqZ-644b@qPH-!iPKM}(jo5hDaq;ae3S zb%VQNA~rKws4b9%#jDJ4jw$DUcI_QJ^r54vT_P!)w(URV9AE^84Gt- z$l+|zD8w(KWoL6}vTD>8Whrd*aYwq(a~p4l5+uoB+UvB8(z1>`xyxKxQ#p z86pJ5M1#PeY7?)1V`rO&8?4fB)q?DYQ0R$WK^12WY~ne)PY1uAUD`?0#&K8$Et%z| zWefKvANc&b8}D75ot=CTK{+xQ(5zXrVn>zw-4EL;K~Cbwmf=YR`JV#y$KpA*D1je- z_#yd>RdvV{k3Z42U*8_*L`FuQ7vS-9EwAtoJCv3oo3|y&%5{nI{rY{Sdp8~dXc_8c z=qgxA9ED3gxx||zVq{bv!p#HUcw#;6M6L!F)7pUaq`rFahY#I=lHUyEbu-1peuFU( z5ef>NZR^0bP*j}=Q-A}k)AJw@2a6DZkAHbo>qt4fbJKucUE4^f_ARAh{TQlPxfrTl zd-Q1byrnBveDmm^|IF5cv)=w!UwyS7T8xsHUw)Z=45tY*vHySiHI)DVl;i62>W}q8 zfjBcOaQX7(p4F>Yv!*0dM2>&?WgLOqu3t=KoqnExfX?L=es%Nm3vn3SA=$cpk8Iku zr()xd)Uq9GagT=-fu3v%umUkAP&{FQe$iOr%4?kUpaU?k?HpUxOvQkVPd^n1JLzXu z0h^^JMwTc5rogy+#cVmw!H`ovFEl(%jS+8^tiXzf9U`Sm>o`xR_Rah{w27ByO&j9; zE!=bH@1Kt4@ar>=W-s2lWy|8*?!9*l0v^TV-@SWxPw(En%RC-W3D&t0;s0B~K;G5V z2#BSGLyv@n1W(tlT>~-U7=#tWbS0zE)EPH+Z1W!7x^;=I7t=GSR!CQLuv?-%2rIyX z!qmf=vj0FTHaVrp?tQ7UJNZcY+T^SX*~bZGu7V-2k=(5JIYomiKNO$1ofdmijWc`f z^rpbDgG1#Ht%0BqjedyZpq>t{AS|v4kq%Aj__b^tL_;!hY_2rl2TeoP|0jk((!NI}p{rx@7uvse( zEFD~ej&NRn0dAtrkt3Pe*iDxu=^5FQos%aSILJCHJ5P#>ODpoQ*CQvtq@oaaf0R0R z(P3AlAFqE7s~zMQhD&vVg97}*LPI1bDqJFPEkfPsIueD>bWBtoiL4VY^a}($grNvK z{8F(zWDm~M+Ilqm=%(E}leUb$_ujooZw4N!ODuB_gu*W(BBB&|D@NY59|rdtQ-uOG z0#bz_$FV|KZV5mw8<3Ti6@YmaKd52^WwSuRVUrMg>!?xndiL(!xKUhOJYbvG3JGo! z5D?H1SFP1U;}8kP4MT@M1Z@C#+4MxXcV73;vti&vLsbe7)FItMY#J2~(Mnl>zkdO) zaKo*jauk!Ahs#P!4;B>{@5{-~-IJP{y7&9#%ah-F@4dso!X0~Le3r5Q1-*MqgN_|5 z>eQ)Iiq^5TMkqj)6EHObasouE0>W8(e@v2jAS|Auq9PA2m-JvxfM66D+sd%F4IM~o z_wCy^tZ%Qrby~zXtP>UyQ758KSe>AtVB8fG80rc1U;^J0jP))7*e%E~kP{3d<4m8D zva%xdiwcTMO7co^@^wxwV$96WN;-Hj3)_(SGnyK60u-nbkP{%%kARSde(1aSck0y11BMKs(BSb)+rHgz#=?bc7A#}(O+z;g z=e+4gW6Q&7O4NcXOZt`1+Gea3X>vq-c@V8YtceXF|qbmT`h1uP6Q3;+OtrKBjU`6{bk*AN=Y>pLUGto&6VSxc!( z0RXjen2%=2uix)16g5==fUk@IKu{ zl@(+GFaJGxoh3=H8gyqxeK!Drh~dA5prlEE_Nqj6S5lQj-NM8NGEi_jn|cEPj9W^w zQd-_i$Jst&{k|{XNuqk|LFK5teia`qB$Z?~oGJzE+j{PQu|^o-+7#?&~JyZSa7ck{tS< zZ6y<8*HxcReJ0^u3YLXCSk@~FvxTZ?x^_7-&d<5XgNUdAgfk@Pkl|JO7WKP12I3sO z6Gt2$trP4w+Sm{C-8}CdX=3>%NJ}gpDC#;91}nC{1fhxnZ+Ihf)At9YwFz+o4)Z{={CO5e?D<_^Oe>;a&^ptY7>Fz zceoJs5yttTfa7d<>jsO@X#tnz!2MtfTqhhU-Ns8wW{Z}-Z){s*CCJNE&QtW`pTXi~ zsasl(L3d@3Uj_B`Z6ds+UnLorD7ki{RX3pd<9b}4IK$!*NA_UO!~vZ^FcdQ{H~ory zJ7lnmL|5oS2s4 zyBAdG*Qa0{An!h0x}v550Vn7=;*R|cF^41--Mc^X=K3@sLIbsW03nCjIdtodZ|c+_ z6dPGSwLNZm3dI1~2+Js>fvSF5F~?sa#s=qp$h@4<0T#wx+iC6+#dB%&dXP zjv9c)cFEz*6;YrQ#6TPu1I{vIU3yXvNP7sG-vAIBcH#)32q6mL31vNBHl{?QdE@J$ zwP{#ItA1Ui-+V_h*KXIR)==N&OwMujZ?JKywKjkg^|bG3Jfao4wtcb=IH!jox|b*k zrnnAEg3s*9|+vjCo3Qaq(}B8xLUgnC%u z5R6HfX9IKXi3@%qy*(0lU~jKs7)iab>Hsb>g|3ZlOx&&ZOXBGPR~TCcr!c^s$j{r5 zj|VY*<(A&#K*(KwbIPwwv66gQcyaxUEH^POD#w1Bu%~JBgjhGcpGDf2%&{C20*wW9 zCRn1d-ujE8w@t8hX|^y;+LzVm#;k@86Tp0EiHFl~oY%5ruQU=lbz33-etCdLg9cFI z(8PXti$l9feCLA`QhuCAJO$|KH?T-8VCfXCYFwn=g#VDBE$<9o`Dy>exqSZER z!Te|R#j`^>z?abejQlXpowIj+W6o&Nz^Eb$oX0%Tp2H`OCDPpPkoOouq8hlH*$nFr zZ;a~R*!cMHU0WE)x4v8J%RHuQ$W($4HK5j&L38Nq_blJb71o$TfmWWamn-;MalR8? z0`+&kpxXoiK8}85Zk-WTzFl=hHDD*<&`{f~69lPOFhR6CGJ zx!_F9m*x{1ZUWcuZ!B?Txo=G#ZV>i2So5<3PO|@P(sD?<#7gP~*{0?TbUu*zSQZ)`kCU(A)zqqfN=* zrMCnf8I@QlK*4^#5}TQAa{0Hu<1$H}c_Wo&dxrN*j5&^d?b8QIR!BPid==Io6iZG3 zdCy$X9GxNOANlmgp=FqmGdY)8Z`)5s-oqX^Y1;7H^fQmxIMdd5Z zq*!a`jAp17WR0V9Mdy-)8~@4_bd>8x3#)Nx>Gg$o+j1s(8z|sZde&!5zoB8kQqWV`QF=4yok>SEWy|kE zWqL7^htj*|Xf4|?aiDNt}9i2>uRq%&%+| z^__$(UM)lsu4kP3T)Nd$QM=B9cOeX^TJjO=N3gJ=P+n=y%&0V=2(l1D8gz)@OblFN z>uK@F;zQO=pK${>WHE+`!7yUqAcpCiw6dEKFYI5^wNw$Br}EC2Q*V%_cDQTU!S6g< zCf_4=m?ox%-A zSI4v67IdBHbw_AU(FErSW}8FBW0*$T^^HAG6FS;hc#T*x_PzP}1g`rRK{E?zqKK9K zE%Rs1?Cp1j)~`jv-z{uEBk;iIQ%)~x_}FVQ^$s9}9SCR>9^PnGTHp@Ghgwjn;2#TQ zF`J8g6^iu4g1q%cvS2X3ml_=N-Ae!wn~_kC<6NFiPOx}UqlWJ9t}2r3YOo3X2ppaj zj9Xt$w*zEG?qfxy(`S;%tO7NVcFN5HK7ro*wz)g)JtsB-ae&d>hF|tvdbTtSN0*#u z(nv&I%6`B({heCjpi=kAuHM?Kd>=l)GFzM^)g*5*8v!m%3la0TGENqy$_+oFb5NJ7 zq(Rj6v!3rNkVikS*ew7fuzEW?9DCDtlsNh6pnkHoEh(rqLiH>DoUGwF*UGM~!$PTp zmZDV#CJMVGeXw+HjZIvLaGpLr$hknNX;J3A;9|XU113>bk3GgVVO2ut5Meu2Hhsb^ zYcQOfif2jrk$-cPR?JHxWiGWRQsbzr8E4FmDR5cgRQa2#v;=_q-AY7$$K- zY)U2b0Z=Xcb$^ff0(^6M6ypZD#Bvtoyn@5Yami@XLwZ98t4Uh1-7%d(qMD>pLZn*r z4s!mU{8%id*rag3TIi~TQ0th55a0ep4KIK|sv6tW{-^LR6g7>05s9~R0`kOw&Gjb- zdV;^Dn14|oERy&^^u9U}r{TLuFx>-waxJSqifty3of2kCwMxV{Dsc|z>S=^n%{!GuD!i+q4u78 zcJ8#994X0J1<(z$q5WtLYvGX6O+xc|8=0=LdTkwRxr43PK}PV&y%Ra&fp#f;{0MQ( zBwmZFG6-+99edYLfg?)fn7T_jjfIHlJENJrE+u10+;PV-xA6*wf zJW%*#q+f0FVrF0H&(zbEX0ffy`QKMzhr_7a4)nzvMDzr@Hd3l=zFwvec!>+Cwz#-# z?Us8xlh#+9tQ=yWQ)|*Mi;7PQgJ!Pyra*KBrd-K%{s>7VkS^x6>+^>gya-|HL;>O{ zd!Ut^wH~?H$fA!b=B#(cKiU465r*TMb_5~b<>ZSC3Y(T4?$26WYUxUu+-Ygj4`~bp z)6HRe#dk3#n{IhaTGI(0K?5{O2TD;WT0i9NP4wlzKH%%mVMI|XEoSm@H~ReOpeTyz z`jdKhY)LaWD9^+5HB4$^I<-3rkX!Z4i<0?15u9OSG4)OVNYb|1<&aDJfm@#Rr^17& zCmrG?4Q+O=06IT8y6q_GQ$&(-H{DISs+|}+S`&MEJ1ZTQ@HExm_e)T7rng0YmtQ`~ z%_ohQs%W-%gf3~|f?`w)>v>(J(??kgnuQ+pU^6UANlMB)9HV=bnmP2%Y*_3(w7YV? zBPbVO+jUWkf14i>{t^I-G$xXmI!wO&Mi2YIwl_o)W@N{m!2|c>1A485nmCfM8yV0TXJr?|wxvfHM zMMm9lee`;*9R!&gW+!>lb3Ms}^f?Uo$p$MTk6CfWKOeEI^u5jHC!KdRcL~YZ(+B}s zgM%ddvUW3nd4F47;nq(&rXJ<8X%;#TKo`R1!dkD-~T! z^~f$P4O>aY28<*RHr;gcDmLnY9=fM$GVGQ+Qu32r*Pm%%R`r&}ST4z-8GjlJMA$Hq zCih5<@6BxG3=h<>+|n-TW0(16(v!yD`frBoh{#BAr>~2gfs~|4aY8gfAHYevm5y?UAKfv zDh6)GtVXKGtv_eUj2MIW7ay0}3QR9Iq%Ge4urp=5O|#SzIxOZ0?`l!}@#C1?;TWLC z7;3^O+)_P{_Qg8K-Q8;5>L__$;zCW|bOKCNB_5TO?)j8Di8A9)0c?$7?T}Z zV7VR;K`$~2MVNXX;!JcKqX;rv-JL6j9$0MJ7mqKn1S|1e6lU5g=jk$PD@=dDQ*0#R zt)!yI>YKORU4BKLibsi{v*>8%olfbNr@Uw z9Gy+#%f$UQRdNi*wgB{aX_WDJ-h$`K^(@1a+TqfV zWE1yTd4QrHXZfL>20QQ4ZTqBEzFq>xU{CkcN2t6FStn{sTa z;V|3yu?CkY6b9Q#BY%&kp7>hha@Pd3)t6D1{#Y-4KT%Rlb7XRW{1{+(gRVC=7WrP^>(}_A+6r{`}IxB7S#5H=8z(vjRX@~<8Kx=v106(GgkKD zP(DIU>gUd$<~awC@;z1_-;GBvGpq5!WiT4oO)p!f?duW4#fjAvnwAhX?Xap3za9An zGwyeltmjei+gV=iP0^|}t15mR|iW=`>;ZE`Y@5N z$|b`&%QwRgJMy=*`zt00kU&q7Pp~Exi9-&q|00F_t8rPpwb5r|(^{#S6@?3?pkdG~ z595-n!>vW#7a+orK5X)LW&I7)SWtOrSt3gv{oIa8YM3xeToT_uUHq$WP_*+n$?zq| zYvyf24%2E6jZeL|c`GVQK^;UE!ZN832A(u_KN?00==P48(5|A#HbM_a#1u(?h7I4) zM1uC%*C70Rje{#r3`;*HyfLkw(WiZIzl7ef+`jv)MU?1CwG!sS{QD-g6P~~?k=ba zDiyLgve7s>z$M@515XlSt?k?Qhl-!I-k=Z!t$s2w;aTa61<&VuOc=!H&}5^Ub==#W zUSMm>7j2kfKomwsO;hZ*JS#(v#~Q4toGSK2iaSzcey-$fQIN4GG6?uRPC(3i%GSSp>0W`syKBNt!(|&u)?7zH|Fq+~<*nkU!LfOtX! zsxsM&-ZVs(abWGVC1@;fF~Npzs&BvD0sd9aUwDtr0`1dr$QOco#mrzTLHDE}$zD2i*qcZZAZt?qNuGiLWUoMvo&Z zo1V}fFh#>;?di8N!Vg5s#A;+;GW+9`RO7}z-6Ns0(HV>nEC%xA6h_DXR`ao3RGA{W zjK#r4t6jzpFy+IE`!Q@&h|F*KNSY2&huyGT0&`o6QBs+-40A&@D}}_i{1_^i9g~$s zR!?SwxB(t2I*&4XN)F@#p85G9Gx;rP3Jx3!nYNiDMA-XdT6LFjte2&(04fz99PPADmXt|V2{^2Wq&|j+ zAT24THU6RDe2_us^gs?o=m55ddPlftzQNvC{N-0B_L)Qm7B4-4j6axA?MMv$#Nj!4 z^xwX!V1-IVlND{5<#yB!XD5NGa&eG|7d_bAYh%37Fw_C2r?lrK+;^^bQvfb}5hpuLXr0 z{Mgt>@d@{v8m;jUU{DF=Nl#AYx+jalFYK72LN|Zm4KCz?bfAz4DWN2;#|gR$Q?~6# zK0S=e)8S|@mL)>sPQtNg#G0zI85zb8W0|}Xm-E=V*w0IyLR%!@mt<9Ych|s06Y+(c zy#(NbUkk>T?X(Zx7pcJ{aaP`f-r-b{ir@mp(}S<1F1qTbD|Ejd*F@XKAgPpiX^E!h=YlaGBk*AiOV7?y9$N;stP+98=5m$b(3z&8(a}|whD3H zBM5F8LRv~)u;)KVNwc_m%dhlHgsI)g)a^{%I*A;}3Q$qB9m`s@zVO#BLC`Y!QD@=u zM=mg-mDeB4KlOuBSQB!T;Q54;EAk*){P3je7$12#bDs_GjiClCzVz=jLZq)+c0!cQ3B5a&@LR|Un@v_t=E9!?Tye9>~4Y- z)CyI~dptrGy!P4P8Idt3Vn*_1;$n3GeP1=RQcs^@6?@&S%pr~!q9)VL;IBPEu}5)g zAJ~hC8hGUN#QmK#MCGjxFaz*_v~RtL=xp(;{At@bjMh=P2GIkV@qQM1yzjJF9PGb@ z;laOk`+*=lNyE`n9QBc4LCW7|r>6JG;GW1j_5JL^{ps*{H z4-s}iGL&ykb2*_L%Gb|}OMC|40#Dr6avUGVuS`s{7#V00PXH%JeVyun9XeIvqe?2L zP)jWUW2)EM1VGvF0&RmkWLeQmMfy~({VtIJ-F%M36LbGPtMsOlP*0({$Zj7S$FB=p zJ!jr};+0|}tw+Ea!t`?88YFXjWpiz*ZnaQ^ct%#`LREh{+@%x+#I9>B!V#l_8pv*# zto^>`r5PU2igv`cK`>P!%~ru+9Ie0PCN>?}bVz;?Z}t**6&?jRa)Rj>W!;eenJy@8 zh~eRKyp->#$!5FU4eBhzQI%7A6Wv}Sn2EkTol20_$@@ff$GZR2gze3A7AD)rT@0D;Y^+Pxo`Zi(xld}Yf10ESZl+z`Li2c)Cq{acwxTVIj4ahAI^pfpd{LfL7C9J)Vf& zNiGf)@=uIe<@A{^(W0f?m4v)b$t3J^y~$x z`J=A?2W3>%2%+O_XnuXZ#{cBjRW3a6T7J_!fTNfd&kbI-Nb6h^>15VcRXs!0tUFtK z)$V_J`$OwLYAZQP_PzrM(uAc36YO^<3FKa0P_t}) zucp;nKJLLK1GCoBP-7EZ2+u<1${#B1IE5Vh*xG++#&7jp#+{rllccCfz}3DPy&)pl zt{4PA8-GKF{<>O6nq%97BYEnQXkWL3e^HNzIO-U?;W8u<8*y&=O_yXl#XUj0PCB|< zE=QXucv_7-W|aDL>yOuS;w$zomk{E>jj!O%CmVZ zo)w;kb0h!Iquz~t4E+fv7BXD|kNnAvu3;yg!q39GB>u)nbjNt+GEKa^ibo!FC@Jw} za-Oq>#UUcqScq%=?4Z_`SDx(Vv5EeB5 z!@~~`)qTIt|U;BMIV7Cxeviacaoy=g4t~b>5>sJ{F-kDb5vSI(xLSOT+fvM*D zquypL7`x7!dNSg~ny3hno6m+~e+iaao>TBLDBorwcYO0+s`})dVfWTQx{2wHLD)&_ z?wX3xh-yl7H_`*ie)Q={)UH$@*ZyE}Z^1s=6=$Me{+lgyQF3VL2V zS*2pwkV<+oLK6I^Fe_nb<4|j!w%c?1hVynICa@DzmpNE;!me&uEoGk#BFN>;P@2&b z5aFURo7|VNoYNXkn0kGR(mO#iQ;%zv<%VkJ&w5ZPLIt@6bbUs5C*J&^?raAh z76`T;qF}PgQl6TRwgVGf_2mXFq*!HJi<@O zX5bv72vlx6f_UWGt{pPY*k>sS0i*oTT$M-bGF~tBE|I7QGBH!f*B_?#c`-7h<@Q0J zCmZ7i59K5k6A<$A!iWUsX-x5O!$6#B-TATUleN{P6K#xZ@)3F~ zKv^RP7+tNoj*+)!>-Tqrk;fQ${@iK`H)@H1)aR>KN99nL_SBcSrl}Ls<^4zhb!xrl zxe4Y&4W;m>!)uiQPqOi(xnr6w0!DG=I!W@O01w2tpa8Y;%^A$&-DnL=*o1w-#(p6ucQc!1t1s|mp=?D52XB~h~?3|x$G>?y=8JO66HBi z$+BFS55;D4uz{BCMgsn1LlEoE9vk ziH9Gl-^^3|G|+Qdlt}hf9N}DYeC@^4VsAd(0lTE2)naqYfn6ywlj_Ci}AO@+Xg)v+%2JMxQK6}HwE9+k2vyyKO7 zRW|XbxUsGWW3Z#BbNR-bk3gVZ4FbuY%SN~4e5l6XUz*iXt}R1WkB8YU(kd)W&&vAtj=pVNR5fV~`SrEMX#3P2p}yLb@gP^wpO52@Qwp;v!E0*IdLk<%g|+ zucM}t-8`)l;az8b|9YkBJ*)$sJ-_8e;J9sN-3R5bo$;vjYbcVcOZV zMZp-}`>cd420^5|Pw5a6b8{Z&xyTD@GL!_>YVsX(hC4F&n`zY}IBuprVq!iNooM$e#JpRgy+~vJR(Rc=L zBt_uxoKc}D9CiOHCJnWB;FEL?lxRJCnMxs+Bbb7kYbUXkVz(I5W+Yo%tI)p4&~^F_T{m5 zwglX#E6)o&b|6r&b-v5a7HmEjh)J8BRNe6Kbx7NbxefBi7K#tP)dsq!)vokxn|OYD z`!H_yThCKzd!pJ<^F05!_-}Nx`2+z;RIhhp^eQ|-Tq^NB&lD!V;>FAfqVYGqnB8q5 zw3e6lPR#!F*D5a51>I-X+a=lZ6^8K*3T;AQTyVfC;R|2PYQ{o3jtX1#N4SUY8`9s7 z|I5-b?}S}qF@orXu@aw9_5%a}fdJ!K6aKGqsxC>VWvyJkQUvfy|77c83ZW2s`HihB zb!=mGZ>poOq}|D_0~#dv+k}oNM-enE28vcDS%V#}NY6+cebT2^&MGLt6W%+qO|mgD z-SXA{rpEaP&nI`r|&2IKmMK%|Eio1YjKOlFgfQH9;JGOzyog@(1PbF=~z( z&61;4jxPZRHi9Yp$|2W;R7WPgrBmK%Bf%A5(>3PswbKQ{Kb?>f2=7^Z=Z&|eb0)zP zeJazchT3QDxteIkV4(Qe2KZ#~MITh$sIx}N>dxrQ27IZvr}v-=P{*e}6Hm`RU&{NzXAME1YDK{6w&HR2aS3ymb*SDU|~d`DwJl-#tkm^B$# z9${0Bx&sP9*%%^(3l3;MLK0^Dp0a)5RlMCstp@`6HhLKdAoEf`y(d`Ky(*H6A`4sW z35M@u)KsQoA_A+A=qnTX?T!VaIO5dMlGJGDv~&OR9MB3EDAl?M=L5Shx2Yo`-~6ax zia%2GH?R@;X?>b9=KW!F5IQ??S?AS1aN{BByd6He+FZv)`@ynNUxYz z>Xad}t{iC&AecU&dnfdj>!WxIxp32AEXnWu98M#Wn1G&@hxm`b8SwTRe?Tu>K|4t$T2p zH=*)qvF4}zf3rO8E;JflBs&=QGAbh4XDna}pr8p#WnT;SV$Ei68-vufR`*pe!HC#f z!eL2k4{W6r<13wS%rQu;V$UFGcyPPo7se|=xtR9Pejl83Qdf6fx1KO@p1M~0KGs_D z9;>CTwZsETqq3q}y}i<(Bk6S=Bp#T~9`$3^eRnx02Tm6Cl+M!qL?p*%jo++@3q`rEmNc} zxn=5mq`YgrpLW{ry_TU#fJ_gmB^@$QUOR*ioXMTu{Tf@xc_3z(b%q^nPJ2QQ$Bvlp zg*w_vn5p*a(Z91Us$?cE{=iI%i7fARls*-_E1Z&|Z#qfYA|t;koGRLQnctT0l&tkv zWWd)UOSgeb-g-i$eol!);mA(>4NRpv3tu3aSk+!86=V12WfnlzaG$*m$;%f6zJg^r zw_QNQ>jWHwyPTf8rJ4I@5ewJPuL8is#VyRv&CSj&q{YQ6!Ye4kBgD?dFT%yupV^x8 fe;gc~EN!iP{(px?7y|9913*bmO}1JZ{Ox}L&-}q- literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..b66fa33 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +ENSnow

Search for subdomains

\ No newline at end of file diff --git a/migrations/1_initial_migration.js b/migrations/1_initial_migration.js deleted file mode 100644 index 4d5f3f9..0000000 --- a/migrations/1_initial_migration.js +++ /dev/null @@ -1,5 +0,0 @@ -var Migrations = artifacts.require("./Migrations.sol"); - -module.exports = function(deployer) { - deployer.deploy(Migrations); -}; diff --git a/migrations/2_deploy_contracts.js b/migrations/2_deploy_contracts.js deleted file mode 100644 index f91efff..0000000 --- a/migrations/2_deploy_contracts.js +++ /dev/null @@ -1,49 +0,0 @@ -var HashRegistrar = artifacts.require("HashRegistrar"); -var TestResolver = artifacts.require("TestResolver"); -var ENS = artifacts.require("@ensdomains/ens/contracts/ENSRegistry.sol"); -var SubdomainRegistrar = artifacts.require("SubdomainRegistrar"); - -var namehash = require('eth-ens-namehash'); -var sha3 = require('js-sha3').keccak_256; -var Promise = require('bluebird'); - -var domainnames = require('../app/js/domains.json'); - -module.exports = function (deployer, network, accounts) { - return deployer.then(async () => { - if (network == "test") { - - await deployer.deploy(ENS); - - const ens = await ENS.deployed(); - - await deployer.deploy(HashRegistrar, ens.address, namehash.hash('eth'), 1493895600); - await deployer.deploy(TestResolver); - - await ens.setSubnodeOwner('0x0', '0x' + sha3('eth'), accounts[0]); - await ens.setSubnodeOwner(namehash.hash('eth'), '0x' + sha3('resolver'), accounts[0]); - - const resolver = await TestResolver.deployed(); - await ens.setResolver(namehash.hash('resolver.eth'), resolver.address); - - const dhr = await HashRegistrar.deployed(); - await ens.setSubnodeOwner('0x0', '0x' + sha3('eth'), dhr.address); - - await deployer.deploy(SubdomainRegistrar, ens.address); - - const registrar = await SubdomainRegistrar.deployed(); - - // @todo figure out why this doesn't work - // return Promise.map(domainnames, async function(domain) { - // if(domain.registrar !== undefined) return; - // await dhr.setSubnodeOwner('0x' + sha3(domain.name), accounts[0]); - // await dhr.transfer('0x' + sha3(domain.name), registrar.address); - // await registrar.configureDomain(domain.name, '10000000000000000', 100000); - // }); - - } else { - const ens = ENS.deployed(); - await deployer.deploy(SubdomainRegistrar, ens.address); - } - }); -}; diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index bc154e6..0000000 --- a/package-lock.json +++ /dev/null @@ -1,14506 +0,0 @@ -{ - "name": "@ensdomains/subdomain-registrar", - "version": "0.2.3", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/polyfill": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.4.4.tgz", - "integrity": "sha512-WlthFLfhQQhh+A2Gn5NSFl0Huxz36x86Jn+E9OW7ibK8edKPq+KLy4apM1yDpQ8kJOVi1OVjpP4vSDLdrI04dg==", - "requires": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.2" - } - }, - "@ensdomains/buffer": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/@ensdomains/buffer/-/buffer-0.0.10.tgz", - "integrity": "sha512-EOFqiWnN36EyyBAgHFTsabFcFICUALt41SiDm/4pAw4V36R4lD4wHcnZcqCYki9m1fMaeWGHrdqxmrMa8iiSTQ==" - }, - "@ensdomains/dnsprovejs": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@ensdomains/dnsprovejs/-/dnsprovejs-0.1.8.tgz", - "integrity": "sha512-VMPVAa6kBVLdVnigfYbYhvjNTQ5rFhySIHdwn39dgEgL0p1lbcaUQIVx++zdrM4jNe5DTqDiRkNtZZJYUYgoAw==", - "requires": { - "@ensdomains/dnsregistrar": "^0.3.3", - "@ensdomains/dnssec-oracle": "0.1.2", - "dns-packet": "^5.0.4", - "es6-promise": "^4.2.4", - "eth-ens-namehash": "^2.0.8", - "ethereumjs-util": "^5.2.0", - "idempotent-babel-polyfill": "^7.4.4", - "isomorphic-fetch": "^2.2.1", - "web3": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.34.tgz", - "integrity": "sha1-NH5WG3hAmMtVYzFfSQR5odkfKrE=", - "requires": { - "web3-bzz": "1.0.0-beta.34", - "web3-core": "1.0.0-beta.34", - "web3-eth": "1.0.0-beta.34", - "web3-eth-personal": "1.0.0-beta.34", - "web3-net": "1.0.0-beta.34", - "web3-shh": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - } - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - }, - "@ensdomains/dnsregistrar": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@ensdomains/dnsregistrar/-/dnsregistrar-0.3.9.tgz", - "integrity": "sha512-o5bETbeQeYZJuW9E9StK68WeuPXUoFbciROm2STEIgE0n2nCX04sr7CKD9CAyPZUXeMUWjX6FlSq0fa3m2Vcbw==", - "requires": { - "@ensdomains/buffer": "0.0.6", - "@ensdomains/dnsprovejs": "^0.1.8", - "@ensdomains/dnssec-oracle": "0.1.0", - "@ensdomains/ens": "^0.3.0", - "dns-packet": "^5.0.4", - "eth-ens-namehash": "^2.0.8", - "js-sha3": "^0.5.7", - "web3": "1.0.0-beta.34" - }, - "dependencies": { - "@ensdomains/buffer": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@ensdomains/buffer/-/buffer-0.0.6.tgz", - "integrity": "sha512-asuIsHg1X2dGRzdFs79V79rz7AhW1+CA0oCweEohTqiqED+NNBTe5TqT962Uzt1XI4Rd+CBIzuVAGBiwPnOTGg==" - }, - "@ensdomains/dnssec-oracle": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@ensdomains/dnssec-oracle/-/dnssec-oracle-0.1.0.tgz", - "integrity": "sha512-CEJ5+yVx7241arCKxzjPX2bXXZepOSRaimogPziTXJ5EbEbtlUiW9bpzd6RX4XgFuk9Gj67jm4uXROvf8NKvqQ==", - "requires": { - "dns-packet": "^5.0.4" - } - }, - "@ensdomains/ens": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.3.11.tgz", - "integrity": "sha512-XqOWQYqdjZTZQA7vAJty9Bdw5er+K0KGLTkrMDBXuJj5yNSf2oM4cj+dW6RATA4Bwz5cBCH2mjA8EsOxa+8eDA==", - "requires": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^1.0.2", - "ethereumjs-testrpc": "^6.0.3", - "ganache-cli": "^6.1.0", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - }, - "dependencies": { - "eth-ens-namehash": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-1.0.2.tgz", - "integrity": "sha1-Bezda6wtf9e8XKhKmTxrrZ2k7bk=", - "requires": { - "idna-uts46": "^1.0.1", - "js-sha3": "^0.5.7" - } - } - } - }, - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.34.tgz", - "integrity": "sha1-NH5WG3hAmMtVYzFfSQR5odkfKrE=", - "requires": { - "web3-bzz": "1.0.0-beta.34", - "web3-core": "1.0.0-beta.34", - "web3-eth": "1.0.0-beta.34", - "web3-eth-personal": "1.0.0-beta.34", - "web3-net": "1.0.0-beta.34", - "web3-shh": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - } - } - }, - "@ensdomains/dnssec-oracle": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@ensdomains/dnssec-oracle/-/dnssec-oracle-0.1.2.tgz", - "integrity": "sha512-MzyBsplrnHJcGPZqTwO9kJh+H00+JnUFvbk/Q60ib6P8xmQSmn/BzYRFLu0BBRYA+vLhYHJXuAW9YwS+QpNycQ==", - "requires": { - "dns-packet": "^5.0.4" - } - }, - "@ensdomains/ens": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.0.tgz", - "integrity": "sha512-J6/Gc1ttVz//dW/BVl5Wz9tJ0wB2LMSzzbXTJ5rZLQvWMkpN8o3Rukw1EeDA1zmS3IOjOdsmu3wgQkGA7vtGRw==", - "requires": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "ethereumjs-testrpc": "^6.0.3", - "ganache-cli": "^6.1.0", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - } - }, - "@ensdomains/ethregistrar": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ensdomains/ethregistrar/-/ethregistrar-2.0.0.tgz", - "integrity": "sha512-qi2ENMgsMgG7ScKhOpv9pE6FmWew6uyJud+aYoFzCpENsQ6aYXZyzXWaFVS3EaWsZfERDjnMj32XO7JVZkRLMw==", - "requires": { - "@ensdomains/buffer": "0.0.10", - "@ensdomains/dnsregistrar": "^0.3.5", - "@ensdomains/dnssec-oracle": "^0.1.2", - "@ensdomains/ens": "^0.4.0", - "@ensdomains/resolver": "^0.1.13", - "@ensdomains/subdomain-registrar": "^0.2.0", - "bluebird": "^3.5.3", - "eth-ens-namehash": "^2.0.8", - "openzeppelin-solidity": "2.1.3", - "solium": "^1.2.3", - "truffle": "^5.0.5", - "web3-utils": "^1.0.0-beta.48" - } - }, - "@ensdomains/resolver": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.1.13.tgz", - "integrity": "sha512-VcMygGO/b0H4AXkN4CRAHw0CZd5XvTJW8YdIdZEmpJGs/O3eMzBzxpgJJ7UerD7U098rbBDSJmj0zjGudV0/aQ==" - }, - "@ensdomains/subdomain-registrar": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@ensdomains/subdomain-registrar/-/subdomain-registrar-0.2.0.tgz", - "integrity": "sha512-EdVKh+zEsZJrfdtuBVidyDqg6uWNt/vpuaCezy27fhca7sAsHvac/oLRAhyzZzx3GhhH+Jx5+YrVJy0aaGvJCg==", - "requires": { - "@ensdomains/ens": "^0.4.0", - "@ensdomains/ethregistrar": "^1.2.9", - "eth-ens-namehash": "^2.0.0", - "html-loader": "^0.5.1", - "idna-uts46": "1.1.0", - "js-sha3": "0.6.1", - "punycode": "2.1.0", - "truffle-default-builder": "^2.0.0", - "underscore": "^1.8.3" - }, - "dependencies": { - "@ensdomains/ethregistrar": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/@ensdomains/ethregistrar/-/ethregistrar-1.2.9.tgz", - "integrity": "sha512-0cqP/WnrQfvYVneY4fOdi9z1s+mjCegG5L91a9JWDKeTmQxvmJRjpliUhp1tqxrWKQA8g8Rlecp/8puAB5KPHA==", - "requires": { - "@ensdomains/buffer": "0.0.10", - "@ensdomains/dnsregistrar": "^0.3.5", - "@ensdomains/dnssec-oracle": "^0.1.2", - "@ensdomains/ens": "^0.3.6", - "@ensdomains/resolver": "^0.1.13", - "bluebird": "^3.5.3", - "eth-ens-namehash": "^2.0.8", - "openzeppelin-solidity": "2.1.3", - "solium": "^1.2.3", - "truffle": "^5.0.5", - "web3-utils": "^1.0.0-beta.48" - }, - "dependencies": { - "@ensdomains/ens": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.3.11.tgz", - "integrity": "sha512-XqOWQYqdjZTZQA7vAJty9Bdw5er+K0KGLTkrMDBXuJj5yNSf2oM4cj+dW6RATA4Bwz5cBCH2mjA8EsOxa+8eDA==", - "requires": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^1.0.2", - "ethereumjs-testrpc": "^6.0.3", - "ganache-cli": "^6.1.0", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - }, - "dependencies": { - "eth-ens-namehash": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-1.0.2.tgz", - "integrity": "sha1-Bezda6wtf9e8XKhKmTxrrZ2k7bk=", - "requires": { - "idna-uts46": "^1.0.1", - "js-sha3": "^0.5.7" - } - } - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - } - } - } - } - }, - "@ensdomains/test-utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ensdomains/test-utils/-/test-utils-1.2.0.tgz", - "integrity": "sha512-AbGDWaYurAYH4h2pOom1govwPsJbFSFMFbiwYcVJRdtDIUlr/se8gORc3obwRXnhl0MuylVWbCrZ4lmLCPMNGQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.2", - "dns-packet": "^5.0.4" - } - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" - }, - "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "requires": { - "acorn": "^4.0.3" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" - } - } - }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "requires": { - "acorn": "^3.0.4" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } - } - }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "acorn": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", - "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==" - } - } - }, - "acorn-walk": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", - "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==" - }, - "adjust-sourcemap-loader": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.2.0.tgz", - "integrity": "sha512-958oaHHVEXMvsY7v7cC5gEkNIcoaAVIhZ4mBReYVZJOTP9IgKmzLjIOhTtzpLMu+qriXvLsVjJ155EeInp45IQ==", - "dev": true, - "requires": { - "assert": "^1.3.0", - "camelcase": "^1.2.1", - "loader-utils": "^1.1.0", - "lodash.assign": "^4.0.1", - "lodash.defaults": "^3.1.2", - "object-path": "^0.9.2", - "regex-parser": "^2.2.9" - }, - "dependencies": { - "lodash.defaults": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", - "integrity": "sha1-xzCLGNv4vJNy1wGnNJPGEZK9Liw=", - "dev": true, - "requires": { - "lodash.assign": "^3.0.0", - "lodash.restparam": "^3.0.0" - }, - "dependencies": { - "lodash.assign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", - "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", - "dev": true, - "requires": { - "lodash._baseassign": "^3.0.0", - "lodash._createassigner": "^3.0.0", - "lodash.keys": "^3.0.0" - } - } - } - } - } - }, - "ajv": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", - "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha1-ZBqlXft9am8KgUHEucCqULbCTdU=" - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "ast-types": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=" - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - } - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" - }, - "babel-cli": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", - "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "babel-polyfill": "^6.26.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "chokidar": "^1.6.1", - "commander": "^2.11.0", - "convert-source-map": "^1.5.0", - "fs-readdir-recursive": "^1.0.0", - "glob": "^7.1.2", - "lodash": "^4.17.4", - "output-file-sync": "^1.1.2", - "path-is-absolute": "^1.0.1", - "slash": "^1.0.0", - "source-map": "^0.5.6", - "v8flags": "^2.1.1" - }, - "dependencies": { - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true, - "optional": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "optional": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "optional": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true, - "optional": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - } - }, - "babel-eslint": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-6.1.2.tgz", - "integrity": "sha1-UpNBn+NnLWZZjTJ9qWlFZ7pqXy8=", - "dev": true, - "requires": { - "babel-traverse": "^6.0.20", - "babel-types": "^6.0.19", - "babylon": "^6.0.18", - "lodash.assign": "^4.0.0", - "lodash.pickby": "^4.0.0" - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - } - }, - "babel-helper-bindify-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-builder-react-jsx": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "esutils": "^2.0.2" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-explode-class": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", - "requires": { - "babel-helper-bindify-decorators": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-loader": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.4.1.tgz", - "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=", - "dev": true, - "requires": { - "find-cache-dir": "^0.1.1", - "loader-utils": "^0.2.16", - "mkdirp": "^0.5.1", - "object-assign": "^4.0.1" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" - }, - "babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=" - }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" - }, - "babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=" - }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" - }, - "babel-plugin-syntax-flow": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" - }, - "babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-generators": "^6.5.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", - "requires": { - "babel-helper-explode-class": "^6.24.1", - "babel-plugin-syntax-decorators": "^6.13.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-flow-strip-types": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", - "requires": { - "babel-plugin-syntax-flow": "^6.18.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "babel-plugin-transform-react-display-name": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-react-jsx": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", - "requires": { - "babel-helper-builder-react-jsx": "^6.24.1", - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-react-jsx-self": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", - "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-react-jsx-source": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", - "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "requires": { - "regenerator-transform": "^0.10.0" - } - }, - "babel-plugin-transform-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true - } - } - }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - } - }, - "babel-preset-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.24.1", - "babel-plugin-transform-es2015-classes": "^6.24.1", - "babel-plugin-transform-es2015-computed-properties": "^6.24.1", - "babel-plugin-transform-es2015-destructuring": "^6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", - "babel-plugin-transform-es2015-for-of": "^6.22.0", - "babel-plugin-transform-es2015-function-name": "^6.24.1", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-transform-es2015-object-super": "^6.24.1", - "babel-plugin-transform-es2015-parameters": "^6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", - "babel-plugin-transform-regenerator": "^6.24.1" - } - }, - "babel-preset-flow": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", - "requires": { - "babel-plugin-transform-flow-strip-types": "^6.22.0" - } - }, - "babel-preset-react": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", - "requires": { - "babel-plugin-syntax-jsx": "^6.3.13", - "babel-plugin-transform-react-display-name": "^6.23.0", - "babel-plugin-transform-react-jsx": "^6.24.1", - "babel-plugin-transform-react-jsx-self": "^6.22.0", - "babel-plugin-transform-react-jsx-source": "^6.22.0", - "babel-preset-flow": "^6.23.0" - } - }, - "babel-preset-stage-2": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", - "requires": { - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-decorators": "^6.24.1", - "babel-preset-stage-3": "^6.24.1" - } - }, - "babel-preset-stage-3": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", - "requires": { - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-generator-functions": "^6.24.1", - "babel-plugin-transform-async-to-generator": "^6.24.1", - "babel-plugin-transform-exponentiation-operator": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.22.0" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "bignumber.js": { - "version": "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2", - "from": "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2" - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "requires": { - "inherits": "~2.0.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "bootstrap": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.4.1.tgz", - "integrity": "sha512-tbx5cHubwE6e2ZG7nqM3g/FZ5PQEDMWmMGNrCUBVRPHXTJaH7CBDdsLeu3eCh3B1tzAxTnAbtmrzvWEvT2NNEA==", - "dev": true - }, - "bootstrap-loader": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bootstrap-loader/-/bootstrap-loader-2.2.0.tgz", - "integrity": "sha512-LG8/klminqsCCtPDDCMSCA50LdzmoRvC7JpvJAFFeqWAbSfSY0hZkPUEk5X4wygf33JuFGyiJ7CH/KVnT65I6A==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "escape-regexp": "0.0.1", - "exports-loader": "^0.6.3", - "js-yaml": "^3.7.0", - "loader-utils": "^1.0.2", - "resolve": "^1.1.7", - "semver": "^5.3.0", - "strip-json-comments": "^2.0.1" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", - "requires": { - "JSONStream": "^1.0.3", - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" - } - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" - } - } - }, - "browser-stdout": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", - "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=" - }, - "browserify": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-13.3.0.tgz", - "integrity": "sha1-tanJAgJD8McORnW+yCI7xifkFc4=", - "requires": { - "JSONStream": "^1.0.3", - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^1.11.0", - "browserify-zlib": "~0.1.2", - "buffer": "^4.1.0", - "cached-path-relative": "^1.0.0", - "concat-stream": "~1.5.1", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "~1.1.0", - "duplexer2": "~0.1.2", - "events": "~1.1.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "~0.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "labeled-stream-splicer": "^2.0.0", - "module-deps": "^4.0.8", - "os-browserify": "~0.1.1", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", - "stream-http": "^2.0.0", - "string_decoder": "~0.10.0", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "~0.0.0", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "~0.0.1", - "xtend": "^4.0.0" - }, - "dependencies": { - "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", - "requires": { - "pako": "~0.2.0" - } - }, - "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" - }, - "os-browserify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", - "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=" - }, - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", - "requires": { - "process": "~0.11.0" - } - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "requires": { - "indexof": "0.0.1" - } - } - } - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sha3": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.4.tgz", - "integrity": "sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY=", - "requires": { - "js-sha3": "^0.6.1", - "safe-buffer": "^5.1.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - }, - "dependencies": { - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - } - } - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "requires": { - "callsites": "^0.2.0" - } - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - } - } - }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, - "requires": { - "browserslist": "^1.3.6", - "caniuse-db": "^1.0.30000529", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - } - } - }, - "caniuse-db": { - "version": "1.0.30001023", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001023.tgz", - "integrity": "sha512-EnlshvE6oAum+wWwKmJNVaoqJMjIc0bLUy4Dj77VVnz1o6bzSPr1Ze9iPy6g5ycg1xD6jGU6vBmo7pLEz2MbCQ==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001023", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001023.tgz", - "integrity": "sha512-C5TDMiYG11EOhVOA62W1p3UsJ2z4DsHtMBQtjzp3ZsUglcQn62WOUgW0y795c7A5uZ+GCEIvzkMatLIlAsbNTA==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", - "dev": true, - "requires": { - "chalk": "^1.1.3" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" - }, - "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "dev": true, - "requires": { - "q": "^1.1.2" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, - "requires": { - "clone": "^1.0.2", - "color-convert": "^1.3.0", - "color-string": "^0.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "dev": true, - "requires": { - "color-name": "^1.0.0" - } - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, - "requires": { - "color": "^0.11.0", - "css-color-names": "0.0.4", - "has": "^1.0.1" - } - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, - "combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", - "requires": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" - }, - "dependencies": { - "convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=" - } - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", - "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~2.0.0", - "typedarray": "~0.0.5" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "copy-webpack-plugin": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", - "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "globby": "^7.1.1", - "is-glob": "^4.0.0", - "loader-utils": "^1.1.0", - "minimatch": "^3.0.4", - "p-limit": "^1.0.0", - "serialize-javascript": "^1.4.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - } - } - }, - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "cpr": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cpr/-/cpr-1.1.2.tgz", - "integrity": "sha1-Oef5Y8X/TdUuIdAL/Tg3QBV5LWg=", - "requires": { - "graceful-fs": "~4.1.2", - "mkdirp": "~0.5.0", - "rimraf": "~2.4.3" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" - }, - "rimraf": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", - "requires": { - "glob": "^6.0.1" - } - } - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "crypto-js": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz", - "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU=" - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-loader": { - "version": "0.26.4", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.26.4.tgz", - "integrity": "sha1-th6eMNuUMD5v/IkvEOzQmtAlof0=", - "dev": true, - "requires": { - "babel-code-frame": "^6.11.0", - "css-selector-tokenizer": "^0.7.0", - "cssnano": ">=2.6.1 <4", - "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", - "object-assign": "^4.0.1", - "postcss": "^5.0.6", - "postcss-modules-extract-imports": "^1.0.0", - "postcss-modules-local-by-default": "^1.0.1", - "postcss-modules-scope": "^1.0.0", - "postcss-modules-values": "^1.1.0", - "source-list-map": "^0.1.7" - }, - "dependencies": { - "source-list-map": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", - "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", - "dev": true - } - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", - "dev": true, - "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" - }, - "dependencies": { - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - } - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, - "requires": { - "autoprefixer": "^6.3.1", - "decamelize": "^1.1.2", - "defined": "^1.0.0", - "has": "^1.0.1", - "object-assign": "^4.0.1", - "postcss": "^5.0.14", - "postcss-calc": "^5.2.0", - "postcss-colormin": "^2.1.8", - "postcss-convert-values": "^2.3.4", - "postcss-discard-comments": "^2.0.4", - "postcss-discard-duplicates": "^2.0.1", - "postcss-discard-empty": "^2.0.1", - "postcss-discard-overridden": "^0.1.1", - "postcss-discard-unused": "^2.2.1", - "postcss-filter-plugins": "^2.0.0", - "postcss-merge-idents": "^2.1.5", - "postcss-merge-longhand": "^2.0.1", - "postcss-merge-rules": "^2.0.3", - "postcss-minify-font-values": "^1.0.2", - "postcss-minify-gradients": "^1.0.1", - "postcss-minify-params": "^1.0.4", - "postcss-minify-selectors": "^2.0.4", - "postcss-normalize-charset": "^1.1.0", - "postcss-normalize-url": "^3.0.7", - "postcss-ordered-values": "^2.1.0", - "postcss-reduce-idents": "^2.2.2", - "postcss-reduce-initial": "^1.0.0", - "postcss-reduce-transforms": "^1.0.3", - "postcss-svgo": "^2.1.1", - "postcss-unique-selectors": "^2.0.2", - "postcss-value-parser": "^3.2.3", - "postcss-zindex": "^2.0.1" - } - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "dev": true, - "requires": { - "clap": "^1.0.9", - "source-map": "^0.5.3" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "requires": { - "array-find-index": "^1.0.1" - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==" - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", - "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", - "requires": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - } - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "requires": { - "repeating": "^2.0.0" - } - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "detective": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", - "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", - "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.2.1.tgz", - "integrity": "sha512-JHj2yJeKOqlxzeuYpN1d56GfhzivAxavNwHj9co3qptECel27B1rLY5PifJAvubsInX5pGLDjAHuCfCUc2Zv/w==", - "requires": { - "ip": "^1.1.5" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", - "dev": true - } - } - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "^2.0.2" - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.342", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.342.tgz", - "integrity": "sha512-An/MLhGLIG/g7lZ5vqs4lar96zv74agd3ZcADDHLpjAa16T7Y/pO/33Q31JOwpmHeyjithtHtUcn7XLuaz78lw==", - "dev": true - }, - "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "~0.4.13" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.7" - } - }, - "entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", - "dev": true - }, - "eol": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz", - "integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==" - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" - }, - "dependencies": { - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - } - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "es6-templates": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", - "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", - "requires": { - "recast": "~0.11.12", - "through": "~2.3.6" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-regexp": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/escape-regexp/-/escape-regexp-0.0.1.tgz", - "integrity": "sha1-9EvaEtRbvfnLf4Yu5+SCez3TIlQ=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.2.tgz", - "integrity": "sha512-qy4i3wODqKMYfz9LUI8N2qYDkHkoieTbiHpMrYUI/WbjhXJQr7lI4VngixTgaG+yHX+NBCv7nW4hA0ShbvaNKw==", - "dev": true, - "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.2", - "esquery": "^1.0.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", - "table": "4.0.2", - "text-table": "~0.2.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "eslint-config-standard": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz", - "integrity": "sha1-06aKr8cZFjnn7kQec0hzkCY1QpI=", - "dev": true - }, - "eslint-plugin-babel": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-4.1.2.tgz", - "integrity": "sha1-eSAqDjV1fdkngJGbIzbx+i/lPB4=", - "dev": true - }, - "eslint-plugin-mocha": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.12.1.tgz", - "integrity": "sha512-hxWtYHvLA0p/PKymRfDYh9Mxt5dYkg2Goy1vZDarTEEYfELP9ksga7kKG1NUKSQy27C8Qjc7YrSWTLUhOEOksA==", - "dev": true, - "requires": { - "ramda": "^0.25.0" - } - }, - "eslint-plugin-promise": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz", - "integrity": "sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ==", - "dev": true - }, - "eslint-plugin-standard": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.3.1.tgz", - "integrity": "sha1-Z2W9Km2ezce98bFFrkuzDit7hvg=", - "dev": true - }, - "eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true - }, - "espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", - "dev": true, - "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" - } - }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", - "dev": true, - "requires": { - "estraverse": "^4.0.0" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", - "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - }, - "dependencies": { - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - } - } - }, - "eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "ethereum-bloom-filters": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.6.tgz", - "integrity": "sha512-dE9CGNzgOOsdh7msZirvv8qjHtnHpvBlKe2647kM8v+yeF71IRso55jpojemvHV+jMjr48irPWxMRaHuOWzAFA==", - "requires": { - "js-sha3": "^0.8.0" - }, - "dependencies": { - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - } - } - }, - "ethereumjs-testrpc": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ethereumjs-testrpc/-/ethereumjs-testrpc-6.0.3.tgz", - "integrity": "sha512-lAxxsxDKK69Wuwqym2K49VpXtBvLEsXr1sryNG4AkvL5DomMdeCBbu3D87UEevKenLHBiT8GTjARwN6Yj039gA==", - "requires": { - "webpack": "^3.0.0" - }, - "dependencies": { - "webpack": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", - "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", - "requires": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "async": "^2.1.2", - "enhanced-resolve": "^3.4.0", - "escope": "^3.6.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^4.2.1", - "tapable": "^0.2.7", - "uglifyjs-webpack-plugin": "^0.4.6", - "watchpack": "^1.4.0", - "webpack-sources": "^1.0.1", - "yargs": "^8.0.2" - } - } - } - }, - "ethereumjs-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", - "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "^0.1.3", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - }, - "ethjs-abi": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/ethjs-abi/-/ethjs-abi-0.1.8.tgz", - "integrity": "sha1-zSiFg+1ijN+tr4re+juh28vKbBg=", - "requires": { - "bn.js": "4.11.6", - "js-sha3": "0.5.5", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "js-sha3": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.5.tgz", - "integrity": "sha1-uvDA6MVK1ZA0R9+Wreekobynmko=" - } - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "eventemitter3": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.1.1.tgz", - "integrity": "sha1-R3hr2qCHyvext15zq8XH1UAVjNA=" - }, - "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==" - }, - "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", - "dev": true, - "requires": { - "original": ">=0.0.5" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "exports-loader": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.4.tgz", - "integrity": "sha1-1w/GEhl1s1/BKDDPUnVL4nQPyIY=", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "source-map": "0.5.x" - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", - "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "extract-text-webpack-plugin": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.2.tgz", - "integrity": "sha1-dW7076gVXDaBgz+8NNpTuUF0bWw=", - "dev": true, - "requires": { - "async": "^2.1.2", - "loader-utils": "^1.0.2", - "schema-utils": "^0.3.0", - "webpack-sources": "^1.0.1" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "requires": { - "pend": "~1.2.0" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" - } - }, - "file-loader": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", - "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.4.5" - }, - "dependencies": { - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, - "find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", - "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", - "dev": true, - "requires": { - "circular-json": "^0.3.1", - "graceful-fs": "^4.1.2", - "rimraf": "~2.6.2", - "write": "^0.2.1" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "follow-redirects": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.10.0.tgz", - "integrity": "sha512-4eyLK6s6lH32nOvLLwlIOnr9zrL8Sm+OvW4pVTJNoXeGzYIkHVf+pADQi+OJ0E67hiuSLezPVPyBcIZO50TmmQ==", - "dev": true, - "requires": { - "debug": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "fs-promise": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.3.tgz", - "integrity": "sha1-9k5PhUvPaJqovdy6JokW2z20aFQ=", - "requires": { - "any-promise": "^1.3.0", - "fs-extra": "^2.0.0", - "mz": "^2.6.0", - "thenify-all": "^1.6.0" - }, - "dependencies": { - "fs-extra": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", - "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0" - } - } - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", - "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.3", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "debug": { - "version": "3.2.6", - "bundled": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "bundled": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.2", - "bundled": true, - "optional": true - }, - "needle": { - "version": "2.4.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.7", - "bundled": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "bundled": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "4.4.13", - "bundled": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "yallist": { - "version": "3.1.1", - "bundled": true, - "optional": true - } - } - }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "ganache-cli": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.8.2.tgz", - "integrity": "sha512-FgsJx/hHh7A1/fmSQpNT5jxZ3dYEal4zQMqYyA8Bm7S6MgrVO48hIjnROn2JteubHY8Rob8LzxMkhEvoQce7WA==", - "requires": { - "ethereumjs-util": "6.1.0", - "source-map-support": "0.5.12", - "yargs": "13.2.4" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "bundled": true - }, - "ansi-styles": { - "version": "3.2.1", - "bundled": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "bindings": { - "version": "1.5.0", - "bundled": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bip66": { - "version": "1.1.5", - "bundled": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "bn.js": { - "version": "4.11.8", - "bundled": true - }, - "brorand": { - "version": "1.1.0", - "bundled": true - }, - "browserify-aes": { - "version": "1.2.0", - "bundled": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "buffer-from": { - "version": "1.1.1", - "bundled": true - }, - "buffer-xor": { - "version": "1.0.3", - "bundled": true - }, - "camelcase": { - "version": "5.3.1", - "bundled": true - }, - "cipher-base": { - "version": "1.0.4", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cliui": { - "version": "5.0.0", - "bundled": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "color-convert": { - "version": "1.9.3", - "bundled": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "bundled": true - }, - "create-hash": { - "version": "1.2.0", - "bundled": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "bundled": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "bundled": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "decamelize": { - "version": "1.2.0", - "bundled": true - }, - "drbg.js": { - "version": "1.0.1", - "bundled": true, - "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - } - }, - "elliptic": { - "version": "6.5.0", - "bundled": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "emoji-regex": { - "version": "7.0.3", - "bundled": true - }, - "end-of-stream": { - "version": "1.4.1", - "bundled": true, - "requires": { - "once": "^1.4.0" - } - }, - "ethereumjs-util": { - "version": "6.1.0", - "bundled": true, - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - }, - "ethjs-util": { - "version": "0.1.6", - "bundled": true, - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "bundled": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "1.0.0", - "bundled": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "bundled": true - }, - "find-up": { - "version": "3.0.0", - "bundled": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "bundled": true - }, - "get-stream": { - "version": "4.1.0", - "bundled": true, - "requires": { - "pump": "^3.0.0" - } - }, - "hash-base": { - "version": "3.0.4", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.7", - "bundled": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "bundled": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true - }, - "invert-kv": { - "version": "2.0.0", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true - }, - "is-hex-prefixed": { - "version": "1.0.0", - "bundled": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true - }, - "isexe": { - "version": "2.0.0", - "bundled": true - }, - "keccak": { - "version": "1.4.0", - "bundled": true, - "requires": { - "bindings": "^1.2.1", - "inherits": "^2.0.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" - } - }, - "lcid": { - "version": "2.0.0", - "bundled": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "bundled": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "bundled": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "bundled": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mem": { - "version": "4.3.0", - "bundled": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "bundled": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "bundled": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "bundled": true - }, - "nan": { - "version": "2.14.0", - "bundled": true - }, - "nice-try": { - "version": "1.0.5", - "bundled": true - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1" - } - }, - "os-locale": { - "version": "3.1.0", - "bundled": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "bundled": true - }, - "p-finally": { - "version": "1.0.0", - "bundled": true - }, - "p-is-promise": { - "version": "2.1.0", - "bundled": true - }, - "p-limit": { - "version": "2.2.0", - "bundled": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "bundled": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "bundled": true - }, - "path-exists": { - "version": "3.0.0", - "bundled": true - }, - "path-key": { - "version": "2.0.1", - "bundled": true - }, - "pump": { - "version": "3.0.0", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "require-directory": { - "version": "2.1.1", - "bundled": true - }, - "require-main-filename": { - "version": "2.0.0", - "bundled": true - }, - "ripemd160": { - "version": "2.0.2", - "bundled": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.3", - "bundled": true, - "requires": { - "bn.js": "^4.11.1", - "safe-buffer": "^5.1.1" - } - }, - "safe-buffer": { - "version": "5.2.0", - "bundled": true - }, - "secp256k1": { - "version": "3.7.1", - "bundled": true, - "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.4.1", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - } - }, - "semver": { - "version": "5.7.0", - "bundled": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true - }, - "sha.js": { - "version": "2.4.11", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "bundled": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true - }, - "source-map": { - "version": "0.6.1", - "bundled": true - }, - "source-map-support": { - "version": "0.5.12", - "bundled": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "string-width": { - "version": "3.1.0", - "bundled": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "bundled": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true - }, - "strip-hex-prefix": { - "version": "1.0.0", - "bundled": true, - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "which": { - "version": "1.3.1", - "bundled": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "bundled": true - }, - "wrap-ansi": { - "version": "5.1.0", - "bundled": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "y18n": { - "version": "4.0.0", - "bundled": true - }, - "yargs": { - "version": "13.2.4", - "bundled": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" - } - }, - "yargs-parser": { - "version": "13.1.1", - "bundled": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "requires": { - "globule": "^1.0.0" - } - }, - "get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==" - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" - }, - "dependencies": { - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" - } - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "globule": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.0.tgz", - "integrity": "sha512-YlD4kdMqRCQHrhVdonet4TdRtv1/sZKepvoxNT4Nrhrp5HI8XFfc8kFlGlBn2myBo80aGp8Eft259mbcUJhgSg==", - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - } - }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "growl": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", - "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==" - }, - "handle-thing": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", - "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, - "html-loader": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.5.5.tgz", - "integrity": "sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog==", - "requires": { - "es6-templates": "^0.2.3", - "fastparse": "^1.1.1", - "html-minifier": "^3.5.8", - "loader-utils": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" - } - } - } - } - }, - "html-webpack-plugin": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz", - "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", - "dev": true, - "requires": { - "bluebird": "^3.4.7", - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "toposort": "^1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=" - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" - }, - "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", - "dev": true - }, - "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "dependencies": { - "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", - "dev": true - } - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "idempotent-babel-polyfill": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/idempotent-babel-polyfill/-/idempotent-babel-polyfill-7.4.4.tgz", - "integrity": "sha512-ULnqegUJke43XlsW5bI2zvoOCiFwn5AjRK/DJA5V6jj4yf+vKEZmiYll2x9+FQb9e6a+KQ/D+r8w7ydCYuiaRA==", - "requires": { - "@babel/polyfill": "7.4.4" - } - }, - "idna-uts46": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/idna-uts46/-/idna-uts46-1.1.0.tgz", - "integrity": "sha1-vgmLK3wcq/vvh6i4D2JvrDc2auo=", - "requires": { - "punycode": "^2.1.0" - } - }, - "idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "requires": { - "punycode": "2.1.0" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "dependencies": { - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "import-local": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", - "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", - "dev": true, - "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - } - } - }, - "imports-loader": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.7.1.tgz", - "integrity": "sha1-8gS180cCoywdt9SNidXoZ6BEElM=", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "source-map": "^0.5.6" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "in-publish": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=" - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "requires": { - "repeating": "^2.0.0" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", - "requires": { - "source-map": "~0.5.3" - } - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "insert-module-globals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", - "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", - "requires": { - "JSONStream": "^1.0.3", - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - } - } - }, - "internal-ip": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", - "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", - "dev": true, - "requires": { - "meow": "^3.3.0" - } - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "requires": { - "is-primitive": "^2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true - }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "jquery": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", - "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==", - "dev": true - }, - "js-base64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", - "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==" - }, - "js-sha3": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.6.1.tgz", - "integrity": "sha1-W4n3enR3Z5h39YxKB1JAk0sflcA=" - }, - "js-string-escape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", - "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=" - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - } - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" - }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "keccak": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", - "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", - "requires": { - "bindings": "^1.2.1", - "inherits": "^2.0.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" - } - }, - "keccakjs": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.3.tgz", - "integrity": "sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg==", - "requires": { - "browserify-sha3": "^0.0.4", - "sha3": "^1.2.2" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "labeled-stream-splicer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", - "requires": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "^1.0.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" - }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "dev": true, - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash.keys": "^3.0.0" - } - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true - }, - "lodash._bindcallback": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", - "dev": true - }, - "lodash._createassigner": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", - "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", - "dev": true, - "requires": { - "lodash._bindcallback": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash.restparam": "^3.0.0" - } - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", - "dev": true - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, - "lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" - }, - "lodash.pickby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", - "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=", - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", - "dev": true - }, - "lodash.tail": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "loglevel": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", - "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "math-expression-evaluator": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.22.tgz", - "integrity": "sha512-L0j0tFVZBQQLeEjmWOvDLoRciIY8gQGWahvkztXUal8jH8R5Rlqo9GCvgqvXcy9LQhEWdQCVvzqAbxgYNt4blQ==", - "dev": true - }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" - }, - "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "requires": { - "mime-db": "1.43.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "^0.1.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dev": true, - "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, - "dependencies": { - "for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "dev": true - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } - } - }, - "mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", - "requires": { - "mkdirp": "*" - } - }, - "mocha": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", - "integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==", - "requires": { - "browser-stdout": "1.3.0", - "commander": "2.11.0", - "debug": "3.1.0", - "diff": "3.3.1", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.3", - "he": "1.1.1", - "mkdirp": "0.5.1", - "supports-color": "4.4.0" - }, - "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "diff": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", - "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "requires": { - "has-flag": "^2.0.0" - } - } - } - }, - "mock-fs": { - "version": "4.10.4", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.10.4.tgz", - "integrity": "sha512-gDfZDLaPIvtOusbusLinfx6YSe2YpQsDT8qdP41P47dQ/NQggtkHukz7hwqgt8QvMBmAv+Z6DGmXPyb5BWX2nQ==" - }, - "module-deps": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz", - "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=", - "requires": { - "JSONStream": "^1.0.3", - "browser-resolve": "^1.7.0", - "cached-path-relative": "^1.0.0", - "concat-stream": "~1.5.0", - "defined": "^1.0.0", - "detective": "^4.0.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.3", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "mout": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/mout/-/mout-0.11.1.tgz", - "integrity": "sha1-ujYR318OWx/7/QEWa48C0fX6K5k=" - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "dependencies": { - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - } - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" - }, - "nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "dev": true - }, - "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" - } - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - } - } - }, - "node-sass": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", - "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", - "dev": true, - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^3.8.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "^2.2.4", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "dependencies": { - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - } - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - }, - "dependencies": { - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - } - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true - }, - "object-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", - "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-path": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", - "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "oboe": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.3.tgz", - "integrity": "sha1-K0hl29Rr6BIlcT9Om/5Lz09oCk8=", - "requires": { - "http-https": "^1.0.0" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "openzeppelin-solidity": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.1.3.tgz", - "integrity": "sha512-Zz595xw6w4ZrNU3JJJTlPd8bHFbHv5OkJlkqsM2i+NBs6CzImoHI3dZ+nmhkfR+p52cGXKmayAGbnfdCum1SMg==" - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "original-require": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/original-require/-/original-require-1.0.1.tgz", - "integrity": "sha1-DxMEcVhM0zURxew4yNWSE/msXiA=" - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "output-file-sync": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", - "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.4", - "mkdirp": "^0.5.1", - "object-assign": "^4.1.0" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "requires": { - "no-case": "^2.2.0" - } - }, - "parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", - "requires": { - "path-platform": "~0.11.15" - } - }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "parse-headers": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", - "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "requires": { - "pify": "^2.0.0" - } - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pegjs": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz", - "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=" - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true - }, - "popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", - "dev": true - }, - "portfinder": { - "version": "1.0.25", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", - "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, - "requires": { - "postcss": "^5.0.2", - "postcss-message-helpers": "^2.0.0", - "reduce-css-calc": "^1.2.6" - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, - "requires": { - "colormin": "^1.0.5", - "postcss": "^5.0.13", - "postcss-value-parser": "^3.2.3" - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, - "requires": { - "postcss": "^5.0.11", - "postcss-value-parser": "^3.1.2" - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, - "requires": { - "postcss": "^5.0.16" - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, - "requires": { - "postcss": "^5.0.14", - "uniqs": "^2.0.0" - } - }, - "postcss-filter-plugins": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", - "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "postcss-loader": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz", - "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^6.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^0.4.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.10", - "postcss-value-parser": "^3.1.1" - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, - "requires": { - "browserslist": "^1.5.2", - "caniuse-api": "^1.5.2", - "postcss": "^5.0.4", - "postcss-selector-parser": "^2.2.2", - "vendors": "^1.0.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - } - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "^5.0.12", - "postcss-value-parser": "^3.3.0" - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.2", - "postcss-value-parser": "^3.0.2", - "uniqs": "^2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "has": "^1.0.1", - "postcss": "^5.0.14", - "postcss-selector-parser": "^2.0.0" - } - }, - "postcss-modules-extract-imports": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", - "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", - "dev": true, - "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "^5.0.5" - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^1.4.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3" - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.1" - } - }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - } - }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.8", - "postcss-value-parser": "^3.0.1" - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "dev": true, - "requires": { - "is-svg": "^2.0.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3", - "svgo": "^0.7.0" - } - }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.0" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "psl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", - "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==" - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", - "dev": true - }, - "ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==", - "dev": true - }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "randomhex": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", - "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", - "requires": { - "readable-stream": "^2.0.2" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "recast": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", - "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", - "requires": { - "ast-types": "0.9.6", - "esprima": "~3.1.0", - "private": "~0.1.5", - "source-map": "~0.5.0" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "dev": true, - "requires": { - "balanced-match": "^0.4.2", - "math-expression-evaluator": "^1.2.14", - "reduce-function-call": "^1.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - } - } - }, - "reduce-function-call": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", - "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" - }, - "regenerator-runtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" - }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regex-parser": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz", - "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "renderkid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", - "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", - "dev": true, - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" - } - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz", - "integrity": "sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==", - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "resolve-url-loader": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-2.3.2.tgz", - "integrity": "sha512-sc/UVgiADdoTc+4cGPB7cUCnlEkzlxD1NXHw4oa9qA0fp30H8mAQ2ePJBP9MQ029DUuhEPouhNdvzT37pBCV0g==", - "dev": true, - "requires": { - "adjust-sourcemap-loader": "^1.1.0", - "camelcase": "^4.1.0", - "convert-source-map": "^1.5.1", - "loader-utils": "^1.1.0", - "lodash.defaults": "^4.0.0", - "rework": "^1.0.1", - "rework-visit": "^1.0.0", - "source-map": "^0.5.7", - "urix": "^0.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", - "dev": true, - "requires": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - }, - "dependencies": { - "convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", - "dev": true - } - } - }, - "rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "requires": { - "align-text": "^0.1.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.4.tgz", - "integrity": "sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw==", - "requires": { - "bn.js": "^4.11.1" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", - "dev": true, - "requires": { - "rx-lite": "*" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sass-graph": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", - "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "^1.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "sass-loader": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.7.tgz", - "integrity": "sha512-JoiyD00Yo1o61OJsoP2s2kb19L1/Y2p3QFcCdWdF6oomBGKVYuZyqHWemRBfQ2uGYsk+CH3eCguXNfpjzlcpaA==", - "dev": true, - "requires": { - "clone-deep": "^2.0.1", - "loader-utils": "^1.0.1", - "lodash.tail": "^4.1.1", - "neo-async": "^2.5.0", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "dev": true, - "requires": { - "ajv": "^5.0.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - } - } - }, - "scrypt": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", - "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", - "requires": { - "nan": "^2.0.8" - } - }, - "scrypt.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz", - "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=", - "requires": { - "scrypt": "^6.0.2", - "scryptsy": "^1.2.1" - } - }, - "scryptsy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", - "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", - "requires": { - "pbkdf2": "^3.0.3" - } - }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - } - }, - "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "requires": { - "commander": "~2.8.1" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", - "dev": true, - "requires": { - "node-forge": "0.9.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", - "dev": true - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "requires": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "sha3": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.6.tgz", - "integrity": "sha512-KgLGmJGrmNB4JWVsAV11Yk6KbvsAiygWJc7t5IebWva/0NukNrjJqhtKhzy3Eiv2AKuGvhZZt7dt1mDo7HkoiQ==", - "requires": { - "nan": "2.13.2" - }, - "dependencies": { - "nan": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" - } - } - }, - "shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", - "dev": true, - "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "shasum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", - "requires": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" - } - }, - "shasum-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", - "requires": { - "fast-safe-stringify": "^2.0.7" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "simple-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", - "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" - }, - "simple-get": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", - "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", - "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - } - }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - } - }, - "sockjs-client": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", - "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", - "dev": true, - "requires": { - "debug": "^2.6.6", - "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", - "json3": "^3.3.2", - "url-parse": "^1.1.8" - }, - "dependencies": { - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - } - } - }, - "sol-digger": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/sol-digger/-/sol-digger-0.0.2.tgz", - "integrity": "sha1-QGxKnTHiaef4jrHC6hATGOXgkCU=" - }, - "sol-explore": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sol-explore/-/sol-explore-1.6.1.tgz", - "integrity": "sha1-tZ8HPGn+MyVg1aEMMrqMp/KYbPs=" - }, - "solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "requires": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "^1.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" - }, - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "requires": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - } - } - }, - "solium": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/solium/-/solium-1.2.5.tgz", - "integrity": "sha512-NuNrm7fp8JcDN/P+SAdM5TVa4wYDtwVtLY/rG4eBOZrC5qItsUhmQKR/YhjszaEW4c8tNUYhkhQcwOsS25znpw==", - "requires": { - "ajv": "^5.2.2", - "chokidar": "^1.6.0", - "colors": "^1.1.2", - "commander": "^2.9.0", - "diff": "^3.5.0", - "eol": "^0.9.1", - "js-string-escape": "^1.0.1", - "lodash": "^4.14.2", - "sol-digger": "0.0.2", - "sol-explore": "1.6.1", - "solium-plugin-security": "0.1.1", - "solparse": "2.2.8", - "text-table": "^0.2.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "requires": { - "is-extglob": "^1.0.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "^1.0.0" - } - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "solium-plugin-security": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/solium-plugin-security/-/solium-plugin-security-0.1.1.tgz", - "integrity": "sha512-kpLirBwIq4mhxk0Y/nn5cQ6qdJTI+U1LO3gpoNIcqNaW+sI058moXBe2UiHs+9wvF9IzYD49jcKhFTxcR9u9SQ==" - }, - "solparse": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/solparse/-/solparse-2.2.8.tgz", - "integrity": "sha512-Tm6hdfG72DOxD40SD+T5ddbekWglNWjzDRSNq7ZDIOHVsyaJSeeunUuWNj4DE7uDrJK3tGQuX0ZTDZWNYsGPMA==", - "requires": { - "mocha": "^4.0.1", - "pegjs": "^0.10.0", - "yargs": "^10.0.3" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "yargs": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", - "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^8.1.0" - } - }, - "yargs-parser": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "requires": { - "source-map": "^0.5.6" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" - }, - "spdy": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", - "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "requires": { - "is-natural-number": "^4.0.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "requires": { - "get-stdin": "^4.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "style-loader": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.13.2.tgz", - "integrity": "sha1-dFMzhM9pjHEEx5URULSXF63C87s=", - "dev": true, - "requires": { - "loader-utils": "^1.0.2" - } - }, - "subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", - "requires": { - "minimist": "^1.1.0" - } - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "requires": { - "has-flag": "^2.0.0" - } - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "~1.0.1", - "colors": "~1.1.2", - "csso": "~2.3.1", - "js-yaml": "~3.7.0", - "mkdirp": "~0.5.1", - "sax": "~1.2.1", - "whet.extend": "~0.9.9" - }, - "dependencies": { - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^2.6.0" - } - } - } - }, - "swarm-js": { - "version": "0.1.37", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.37.tgz", - "integrity": "sha512-G8gi5fcXP/2upwiuOShJ258sIufBVztekgobr3cVgYXObZwJ5AXLqZn52AI+/ffft29pJexF9WNdUxjlkVehoQ==", - "requires": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "decompress": "^4.0.0", - "eth-lib": "^0.1.26", - "fs-extra": "^2.1.2", - "fs-promise": "^2.0.0", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar.gz": "^1.0.5", - "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "buffer": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", - "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "fs-extra": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", - "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0" - } - } - } - }, - "syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "requires": { - "acorn-node": "^1.2.0" - } - }, - "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", - "dev": true, - "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", - "slice-ansi": "1.0.0", - "string-width": "^2.1.1" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "tapable": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", - "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==" - }, - "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "tar.gz": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/tar.gz/-/tar.gz-1.0.7.tgz", - "integrity": "sha512-uhGatJvds/3diZrETqMj4RxBR779LKlIE74SsMcn5JProZsfs9j0QBwWO1RW+IWNJxS2x8Zzra1+AW6OQHWphg==", - "requires": { - "bluebird": "^2.9.34", - "commander": "^2.8.1", - "fstream": "^1.0.8", - "mout": "^0.11.0", - "tar": "^2.1.1" - }, - "dependencies": { - "bluebird": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" - } - } - }, - "temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "requires": { - "rimraf": "~2.6.2" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==" - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "thenify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", - "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "time-stamp": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz", - "integrity": "sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==", - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "requires": { - "setimmediate": "^1.0.4" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - } - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" - }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "requires": { - "glob": "^7.1.2" - } - }, - "truffle": { - "version": "5.1.10", - "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.1.10.tgz", - "integrity": "sha512-7dkBjNwabpNUp2LTSsXWUk5TMOfomX9F0mPLDEZgAgmfH3qWG5rBEUn/jw5t0LQfVx8NCG+GIN9FxqiUIEWrYQ==", - "requires": { - "app-module-path": "^2.2.0", - "mocha": "5.2.0", - "original-require": "1.0.1" - }, - "dependencies": { - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "truffle-blockchain-utils": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/truffle-blockchain-utils/-/truffle-blockchain-utils-0.0.1.tgz", - "integrity": "sha1-B6WOVbsFVaZCCMkRnAsE/+FGSqQ=", - "requires": { - "web3": "^0.18.0" - } - }, - "truffle-contract": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/truffle-contract/-/truffle-contract-1.1.11.tgz", - "integrity": "sha1-zh+nh/eXdYr/Vy9F6LEXRSf27ao=", - "requires": { - "ethjs-abi": "0.1.8", - "truffle-blockchain-utils": "0.0.1", - "truffle-contract-schema": "0.0.5", - "web3": "^0.16.0" - }, - "dependencies": { - "bignumber.js": { - "version": "git+https://github.com/debris/bignumber.js.git#c7a38de919ed75e6fb6ba38051986e294b328df9", - "from": "git+https://github.com/debris/bignumber.js.git#master" - }, - "utf8": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", - "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" - }, - "web3": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/web3/-/web3-0.16.0.tgz", - "integrity": "sha1-pFVBdc1GKUMDWx8dOUMvdBxrYBk=", - "requires": { - "bignumber.js": "git+https://github.com/debris/bignumber.js.git#master", - "crypto-js": "^3.1.4", - "utf8": "^2.1.1", - "xmlhttprequest": "*" - } - } - } - }, - "truffle-contract-schema": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/truffle-contract-schema/-/truffle-contract-schema-0.0.5.tgz", - "integrity": "sha1-Xp0gvQvyon/pQxB0gknUhO7kmWE=", - "requires": { - "crypto-js": "^3.1.9-1" - }, - "dependencies": { - "crypto-js": { - "version": "3.1.9-1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.9-1.tgz", - "integrity": "sha1-/aGedh/Ad+Af+/3G6f38WeiAbNg=" - } - } - }, - "truffle-default-builder": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/truffle-default-builder/-/truffle-default-builder-2.0.0.tgz", - "integrity": "sha1-FAkNdFiPWYKDurkG0F0rbvXXIRw=", - "requires": { - "async": "^1.5.2", - "babel-core": "^6.4.0", - "babel-plugin-syntax-jsx": "^6.3.13", - "babel-plugin-transform-react-jsx": "^6.4.0", - "babel-preset-es2015": "^6.3.13", - "babel-preset-react": "^6.3.13", - "babel-preset-stage-2": "^6.3.13", - "bluebird": "^3.1.1", - "browserify": "^13.0.1", - "coffee-script": "^1.10.0", - "colors": "^1.1.2", - "cpr": "^1.0.0", - "lodash": "^4.0.0", - "mkdirp": "^0.5.1", - "node-sass": "^3.4.2", - "temp": "^0.8.3", - "truffle-contract": "^1.1.6", - "uglify-js": "^2.6.1", - "web3": "^0.16.0" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "bignumber.js": { - "version": "git+https://github.com/debris/bignumber.js.git#c7a38de919ed75e6fb6ba38051986e294b328df9", - "from": "git+https://github.com/debris/bignumber.js.git#master" - }, - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "node-sass": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.13.1.tgz", - "integrity": "sha1-ckD7v/I5YwS0IjUn7TAgWJwAT8I=", - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash.assign": "^4.2.0", - "lodash.clonedeep": "^4.3.2", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.3.2", - "node-gyp": "^3.3.1", - "npmlog": "^4.0.0", - "request": "^2.61.0", - "sass-graph": "^2.1.1" - } - }, - "utf8": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", - "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" - }, - "web3": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/web3/-/web3-0.16.0.tgz", - "integrity": "sha1-pFVBdc1GKUMDWx8dOUMvdBxrYBk=", - "requires": { - "bignumber.js": "git+https://github.com/debris/bignumber.js.git#master", - "crypto-js": "^3.1.4", - "utf8": "^2.1.1", - "xmlhttprequest": "*" - } - } - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "optional": true - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "requires": { - "source-map": "^0.5.6", - "uglify-js": "^2.8.29", - "webpack-sources": "^1.0.1" - } - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" - }, - "umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==" - }, - "unbzip2-stream": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", - "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - }, - "dependencies": { - "buffer": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", - "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - } - } - }, - "undeclared-identifiers": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", - "requires": { - "acorn-node": "^1.3.0", - "dash-ast": "^1.0.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "underscore": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz", - "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==" - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } - } - }, - "url-loader": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", - "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "mime": "^1.4.1", - "schema-utils": "^0.3.0" - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } - }, - "url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "dev": true, - "requires": { - "user-home": "^1.1.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web3": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/web3/-/web3-0.18.4.tgz", - "integrity": "sha1-gewXhBRUkfLqqJVbMcBgSeB8Xn0=", - "requires": { - "bignumber.js": "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2", - "crypto-js": "^3.1.4", - "utf8": "^2.1.1", - "xhr2": "*", - "xmlhttprequest": "*" - }, - "dependencies": { - "utf8": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", - "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" - } - } - }, - "web3-bzz": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.34.tgz", - "integrity": "sha1-Bo03d3q2Xlxg+OyLmlDP5FJ3kpw=", - "requires": { - "got": "7.1.0", - "swarm-js": "0.1.37", - "underscore": "1.8.3" - }, - "dependencies": { - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - } - } - }, - "web3-core": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.34.tgz", - "integrity": "sha1-EhvoVV6fsA0sXQXd0zgdDJ5GmH4=", - "requires": { - "web3-core-helpers": "1.0.0-beta.34", - "web3-core-method": "1.0.0-beta.34", - "web3-core-requestmanager": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - }, - "web3-core-helpers": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.34.tgz", - "integrity": "sha1-sWjaANPhnhVrwVriAyA91N/uLQM=", - "requires": { - "underscore": "1.8.3", - "web3-eth-iban": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - }, - "web3-core-method": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.34.tgz", - "integrity": "sha1-7BY8iixJD6AqfsFVWfpzB/x8xt0=", - "requires": { - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.34", - "web3-core-promievent": "1.0.0-beta.34", - "web3-core-subscriptions": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - }, - "web3-core-promievent": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.34.tgz", - "integrity": "sha1-pPT6Z4S7KT6CxglgrltWqUzQPtw=", - "requires": { - "any-promise": "1.3.0", - "eventemitter3": "1.1.1" - } - }, - "web3-core-requestmanager": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.34.tgz", - "integrity": "sha1-Afj2zyrmtvC3DDi64e90G1urIVw=", - "requires": { - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.34", - "web3-providers-http": "1.0.0-beta.34", - "web3-providers-ipc": "1.0.0-beta.34", - "web3-providers-ws": "1.0.0-beta.34" - }, - "dependencies": { - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - } - } - }, - "web3-core-subscriptions": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.34.tgz", - "integrity": "sha1-n+0UQDPyIcPPIQYDAv/a9e8t4t4=", - "requires": { - "eventemitter3": "1.1.1", - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.34" - }, - "dependencies": { - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - } - } - }, - "web3-eth": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.34.tgz", - "integrity": "sha1-dAhgAIUMb+b1Ne9Jg31tS7YRMmg=", - "requires": { - "underscore": "1.8.3", - "web3-core": "1.0.0-beta.34", - "web3-core-helpers": "1.0.0-beta.34", - "web3-core-method": "1.0.0-beta.34", - "web3-core-subscriptions": "1.0.0-beta.34", - "web3-eth-abi": "1.0.0-beta.34", - "web3-eth-accounts": "1.0.0-beta.34", - "web3-eth-contract": "1.0.0-beta.34", - "web3-eth-iban": "1.0.0-beta.34", - "web3-eth-personal": "1.0.0-beta.34", - "web3-net": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - }, - "web3-eth-abi": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.34.tgz", - "integrity": "sha1-A0Uz46ovfln/MXk+rqaFwO1a9no=", - "requires": { - "bn.js": "4.11.6", - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - }, - "web3-eth-accounts": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.34.tgz", - "integrity": "sha1-4JFC7uzHl6w0WbdemyOUbTaV8zM=", - "requires": { - "any-promise": "1.3.0", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.7", - "scrypt.js": "0.2.0", - "underscore": "1.8.3", - "uuid": "2.0.1", - "web3-core": "1.0.0-beta.34", - "web3-core-helpers": "1.0.0-beta.34", - "web3-core-method": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - }, - "dependencies": { - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - } - } - } - } - }, - "web3-eth-contract": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.34.tgz", - "integrity": "sha1-nbs4+udkOoCEJ6IBgEcOx0FckeY=", - "requires": { - "underscore": "1.8.3", - "web3-core": "1.0.0-beta.34", - "web3-core-helpers": "1.0.0-beta.34", - "web3-core-method": "1.0.0-beta.34", - "web3-core-promievent": "1.0.0-beta.34", - "web3-core-subscriptions": "1.0.0-beta.34", - "web3-eth-abi": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - }, - "web3-eth-iban": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.34.tgz", - "integrity": "sha1-mvRYYFhnzPdOqXmq8yazi6alugw=", - "requires": { - "bn.js": "4.11.6", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - }, - "web3-eth-personal": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.34.tgz", - "integrity": "sha1-mvuhZzQuveVCC81YlcP2w0OI8gU=", - "requires": { - "web3-core": "1.0.0-beta.34", - "web3-core-helpers": "1.0.0-beta.34", - "web3-core-method": "1.0.0-beta.34", - "web3-net": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - }, - "web3-net": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.34.tgz", - "integrity": "sha1-QnzqL0MYgUScjjjVIykPFz+f9j0=", - "requires": { - "web3-core": "1.0.0-beta.34", - "web3-core-method": "1.0.0-beta.34", - "web3-utils": "1.0.0-beta.34" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "keccakjs": "^0.2.1", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - } - } - } - }, - "web3-providers-http": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.34.tgz", - "integrity": "sha1-5WG1K7tDdmKCAH1AKFv+NVDCfno=", - "requires": { - "web3-core-helpers": "1.0.0-beta.34", - "xhr2": "0.1.4" - } - }, - "web3-providers-ipc": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.34.tgz", - "integrity": "sha1-obd/GjBtc2SanAOQUuQMtxMo0Ao=", - "requires": { - "oboe": "2.1.3", - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.34" - }, - "dependencies": { - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - } - } - }, - "web3-providers-ws": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.34.tgz", - "integrity": "sha1-fecPG4Py3jZHZ3IVa+z+9uNRbrM=", - "requires": { - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.34", - "websocket": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible" - }, - "dependencies": { - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - } - } - }, - "web3-shh": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.34.tgz", - "integrity": "sha1-l1Bh1x6uxCzO5Xb3vY9w8DhEr+A=", - "requires": { - "web3-core": "1.0.0-beta.34", - "web3-core-method": "1.0.0-beta.34", - "web3-core-subscriptions": "1.0.0-beta.34", - "web3-net": "1.0.0-beta.34" - } - }, - "web3-utils": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.5.tgz", - "integrity": "sha512-U0tNfB4Hep5ouzvNZ+Hr8I8kIftiHiDhwg+Eoh2Nvr5lLOPEH14B2exkRSARLXGY9xl2p3ykJWBCKoG1oCadug==", - "requires": { - "bn.js": "4.11.8", - "eth-lib": "0.2.7", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "dependencies": { - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" - } - } - }, - "webpack": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.7.0.tgz", - "integrity": "sha512-MjAA0ZqO1ba7ZQJRnoCdbM56mmFpipOPUv/vQpwwfSI42p5PVDdoiuK2AL2FwFUVgT859Jr43bFZXRg/LNsqvg==", - "dev": true, - "requires": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^4.7.0", - "ajv-keywords": "^1.1.1", - "async": "^2.1.2", - "enhanced-resolve": "^3.3.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^0.2.16", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^3.1.0", - "tapable": "~0.2.5", - "uglify-js": "^2.8.27", - "watchpack": "^1.3.1", - "webpack-sources": "^1.0.1", - "yargs": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true - }, - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "webpack-dev-middleware": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", - "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", - "dev": true, - "requires": { - "memory-fs": "~0.4.1", - "mime": "^1.5.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "time-stamp": "^2.0.0" - } - }, - "webpack-dev-server": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.5.tgz", - "integrity": "sha512-7TdOKKt7G3sWEhPKV0zP+nD0c4V9YKUJ3wDdBwQsZNo58oZIRoVIu66pg7PYkBW8A74msP9C2kLwmxGHndz/pw==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "array-includes": "^3.0.3", - "bonjour": "^3.5.0", - "chokidar": "^2.1.2", - "compression": "^1.7.3", - "connect-history-api-fallback": "^1.3.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "^0.19.1", - "import-local": "^1.0.0", - "internal-ip": "1.2.0", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "selfsigned": "^1.9.1", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.1.5", - "spdy": "^4.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^5.1.0", - "webpack-dev-middleware": "1.12.2", - "yargs": "6.6.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "websocket": { - "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2", - "from": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible", - "requires": { - "debug": "^2.2.0", - "nan": "^2.3.3", - "typedarray-to-buffer": "^3.1.2", - "yaeti": "^0.0.6" - } - }, - "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", - "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.4.0 <0.4.11", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true - }, - "whatwg-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", - "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "xhr": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", - "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", - "requires": { - "global": "~4.3.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "requires": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "xhr-request-promise": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", - "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", - "requires": { - "xhr-request": "^1.0.1" - } - }, - "xhr2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz", - "integrity": "sha1-f4dliEdxbbUCYyOBL4GMras4el8=" - }, - "xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" - }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - } - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "requires": { - "camelcase": "^4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - } - } - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 9f6bcbc..0000000 --- a/package.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "name": "@ensdomains/subdomain-registrar", - "version": "0.2.3", - "requires": true, - "license": "BSD-2-Clause", - "repository": { - "type": "git", - "url": "https://github.com/ensdomains/subdomain-registrar.git" - }, - "lockfileVersion": 1, - "devDependencies": { - "@ensdomains/test-utils": "^1.2.0", - "babel-cli": "^6.22.2", - "babel-core": "^6.22.1", - "babel-eslint": "^6.1.2", - "babel-loader": "^6.2.10", - "babel-plugin-transform-runtime": "^6.22.0", - "babel-preset-env": "^1.1.8", - "babel-preset-es2015": "^6.22.0", - "babel-register": "^6.22.0", - "bluebird": "^3.5.3", - "bootstrap": "^4.0.0-beta.2", - "bootstrap-loader": "^2.2.0", - "copy-webpack-plugin": "^4.0.1", - "css-loader": "^0.26.4", - "eslint": "^4.18.2", - "eslint-config-standard": "^6.0.0", - "eslint-plugin-babel": "^4.0.0", - "eslint-plugin-mocha": "^4.8.0", - "eslint-plugin-promise": "^3.0.0", - "eslint-plugin-standard": "^2.0.0", - "exports-loader": "^0.6.4", - "extract-text-webpack-plugin": "^2.1.0", - "file-loader": "^1.1.5", - "html-webpack-plugin": "^2.28.0", - "imports-loader": "^0.7.1", - "jquery": "^3.2.1", - "json-loader": "^0.5.4", - "node-sass": "^4.5.3", - "popper.js": "^1.12.6", - "postcss-loader": "^2.0.8", - "resolve-url-loader": "^2.2.0", - "sass-loader": "^6.0.6", - "solium": "^1.0.4", - "style-loader": "^0.13.2", - "truffle": "^5.0.13", - "truffle-contract": "^1.1.11", - "url-loader": "^0.6.2", - "web3": "^0.18.2", - "web3-utils": "^1.0.0-beta.48", - "webpack": "^2.2.1", - "webpack-dev-server": "^2.9.3" - }, - "scripts": { - "test": "truffle test", - "watch": "npm-watch", - "build": "webpack", - "dev": "webpack-dev-server", - "prepublishOnly": "truffle compile && truffle networks --clean", - "lint": "solium --dir ./contracts" - }, - "watch": { - "test": { - "patterns": [ - "contracts", - "migrations", - "test" - ], - "extensions": "js,json,sol" - } - }, - "dependencies": { - "@ensdomains/ens": "^0.4.0", - "@ensdomains/ethregistrar": "^2.0.0", - "eth-ens-namehash": "^2.0.0", - "html-loader": "^0.5.1", - "idna-uts46": "1.1.0", - "js-sha3": "0.6.1", - "punycode": "2.1.0", - "truffle-default-builder": "^2.0.0", - "underscore": "^1.8.3" - } -} diff --git a/public/fonts/ens.svg b/public/fonts/ens.svg new file mode 100644 index 0000000..0075028 --- /dev/null +++ b/public/fonts/ens.svg @@ -0,0 +1,128 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/open-iconic/font/fonts/open-iconic.eot b/public/fonts/open-iconic.eot old mode 100755 new mode 100644 similarity index 100% rename from app/open-iconic/font/fonts/open-iconic.eot rename to public/fonts/open-iconic.eot diff --git a/app/open-iconic/font/fonts/open-iconic.otf b/public/fonts/open-iconic.otf old mode 100755 new mode 100644 similarity index 100% rename from app/open-iconic/font/fonts/open-iconic.otf rename to public/fonts/open-iconic.otf diff --git a/app/open-iconic/font/fonts/open-iconic.svg b/public/fonts/open-iconic.svg old mode 100755 new mode 100644 similarity index 100% rename from app/open-iconic/font/fonts/open-iconic.svg rename to public/fonts/open-iconic.svg diff --git a/app/open-iconic/font/fonts/open-iconic.ttf b/public/fonts/open-iconic.ttf old mode 100755 new mode 100644 similarity index 100% rename from app/open-iconic/font/fonts/open-iconic.ttf rename to public/fonts/open-iconic.ttf diff --git a/app/open-iconic/font/fonts/open-iconic.woff b/public/fonts/open-iconic.woff old mode 100755 new mode 100644 similarity index 100% rename from app/open-iconic/font/fonts/open-iconic.woff rename to public/fonts/open-iconic.woff diff --git a/test/Dependencies.sol b/test/Dependencies.sol deleted file mode 100644 index 12d49df..0000000 --- a/test/Dependencies.sol +++ /dev/null @@ -1,9 +0,0 @@ -pragma solidity ^0.5.0; - -import "@ensdomains/ens/contracts/ENSRegistry.sol"; -import "@ensdomains/ens/contracts/HashRegistrar.sol"; -import "@ensdomains/ethregistrar/contracts/BaseRegistrarImplementation.sol"; - -contract Dependencies { - constructor() public { } -} diff --git a/test/ENSMigrationSubdomainRegistrar.js b/test/ENSMigrationSubdomainRegistrar.js deleted file mode 100644 index 2a0794d..0000000 --- a/test/ENSMigrationSubdomainRegistrar.js +++ /dev/null @@ -1,158 +0,0 @@ -const ENS = artifacts.require("ENSRegistry"); -const ENSMigrationSubdomainRegistrar = artifacts.require("ENSMigrationSubdomainRegistrar"); -const EthRegistrar = artifacts.require("BaseRegistrarImplementation"); -const TestResolver = artifacts.require("TestResolver"); - -const utils = require('./helpers/Utils'); - -var namehash = require('eth-ens-namehash'); -const sha3 = require('web3-utils').sha3; - -const DAYS = 24 * 60 * 60; - -contract('ENSMigrationSubdomainRegistrar', function (accounts) { - var ens = null; - var ethregistrar = null; - var registrar = null; - var resolver = null; - - before(async function () { - ens = await ENS.deployed(); - resolver = await TestResolver.deployed(); - - ethregistrar = await EthRegistrar.new( - ens.address, - namehash.hash('eth'), - ); - await ethregistrar.addController(accounts[0]); - await ens.setSubnodeOwner('0x0', sha3('eth'), ethregistrar.address); - - resolver = await TestResolver.deployed(); - - registrar = await ENSMigrationSubdomainRegistrar.new(ens.address); - }); - - it('should set up a domain', async function () { - await ethregistrar.register(sha3('test'), accounts[0], 86400); - await ethregistrar.approve(registrar.address, sha3('test')); - - tx = await registrar.configureDomain('test', '10000000000000000', 100000, {from: accounts[0]}); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'DomainConfigured'); - assert.equal(tx.logs[0].args.label, sha3('test')); - - var domainInfo = await registrar.query(sha3('test'), ''); - assert.equal(domainInfo[0], 'test'); - assert.equal(domainInfo[1], '10000000000000000'); - assert.equal(domainInfo[2].toNumber(), 0); - assert.equal(domainInfo[3].toNumber(), 100000); - - assert.equal(await ens.owner(namehash.hash('test.eth')), registrar.address); - }); - - it("should fail to register a subdomain if it hasn't been transferred", async function () { - try { - await registrar.register(sha3('foo'), 'test', accounts[0], accounts[0], resolver.address, {value: '10000000000000000'}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should register subdomains", async function () { - var ownerBalanceBefore = (await web3.eth.getBalance(accounts[0])); - var referrerBalanceBefore = (await web3.eth.getBalance(accounts[2])); - - var tx = await registrar.register(sha3('test'), 'foo', accounts[1], accounts[2], resolver.address, { - from: accounts[1], - value: '10000000000000000' - }); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'NewRegistration'); - assert.equal(tx.logs[0].args.label, sha3('test')); - assert.equal(tx.logs[0].args.subdomain, 'foo'); - assert.equal(tx.logs[0].args.owner, accounts[1]); - assert.equal(tx.logs[0].args.price, '10000000000000000'); - assert.equal(tx.logs[0].args.referrer, accounts[2]); - - // Check owner and referrer get their fees - assert.equal((await web3.eth.getBalance(accounts[0])) - ownerBalanceBefore, 9e15); - assert.equal((await web3.eth.getBalance(accounts[2])) - referrerBalanceBefore, 1e15); - - // Check the new owner gets their domain - assert.equal(await ens.owner(namehash.hash('foo.test.eth')), accounts[1]); - assert.equal(await ens.resolver(namehash.hash('foo.test.eth')), resolver.address); - assert.equal(await resolver.addr(namehash.hash('foo.test.eth')), accounts[1]); - }); - - it("should not permit duplicate registrations", async function () { - try { - await registrar.register(sha3('test'), 'foo', accounts[0], accounts[0], resolver.address, {value: '10000000000000000'}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should not allow non-owners to configure domains", async function () { - try { - await registrar.configureDomain("toast", '1000000000000000000', 0); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should not allow a non-owner to unlist a valid domain", async function () { - try { - await registrar.unlistDomain('test', {from: accounts[1]}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should allow an owner to unlist a domain", async function () { - var tx = await registrar.unlistDomain('test'); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].args.label, sha3('test')); - }); - - it("should not allow subdomain registrations for an unlisted domain", async function () { - try { - await registrar.register(sha3('test'), 'bar', accounts[0], accounts[0], resolver.address, {value: '10000000000000000'}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should allow an owner to relist a domain", async function () { - tx = await registrar.configureDomain('test', '10000000000000000', 100000); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'DomainConfigured'); - assert.equal(tx.logs[0].args.label, sha3('test')); - - var domainInfo = await registrar.query(sha3('test'), ''); - assert.equal(domainInfo[0], 'test'); - assert.equal(domainInfo[1], '10000000000000000'); - assert.equal(domainInfo[2].toNumber(), 0); - assert.equal(domainInfo[3].toNumber(), 100000); - }); - - it("should allow migration if emergency stopped", async function () { - await ethregistrar.register(sha3('migration'), accounts[1], 86400); - await ethregistrar.approve(registrar.address, sha3('migration'), {from: accounts[1]}); - await registrar.configureDomain("migration", '1000000000000000000', 0, {from: accounts[1]}); - - let newRegistrar = await ENSMigrationSubdomainRegistrar.new(ens.address); - - await registrar.stop(); - await registrar.setMigrationAddress(newRegistrar.address); - - try { - // Don't allow anyone else to migrate the name. - await registrar.migrate("migration"); - assert.fail('Expected error not encountered'); - } catch (error) { - } - - await registrar.migrate("migration", {from: accounts[1]}); - assert.equal(await ens.owner(namehash.hash('migration.eth')), newRegistrar.address); - }); -}); diff --git a/test/TestEthRegistrarSubdomainRegistrar.js b/test/TestEthRegistrarSubdomainRegistrar.js deleted file mode 100644 index 8f2f69f..0000000 --- a/test/TestEthRegistrarSubdomainRegistrar.js +++ /dev/null @@ -1,162 +0,0 @@ -const ENS = artifacts.require("ENSRegistry"); -const EthRegistrarSubdomainRegistrar = artifacts.require("EthRegistrarSubdomainRegistrar"); -const HashRegistrar = artifacts.require("HashRegistrar"); -const EthRegistrar = artifacts.require("OldBaseRegistrarImplementation"); -const TestResolver = artifacts.require("TestResolver"); - -const utils = require('./helpers/Utils'); - -var namehash = require('eth-ens-namehash'); -const sha3 = require('web3-utils').sha3; - -const DAYS = 24 * 60 * 60; - -contract('EthRegistrarSubdomainRegistrar', function (accounts) { - var ens = null; - var ethregistrar = null; - var registrar = null; - var resolver = null; - - before(async function () { - ens = await ENS.deployed(); - dhr = await HashRegistrar.deployed(); - resolver = await TestResolver.deployed(); - - ethregistrar = await EthRegistrar.new( - ens.address, - dhr.address, - namehash.hash('eth'), - Math.floor(Date.now() / 1000) * 2 - ); - await ethregistrar.addController(accounts[0]); - await ens.setSubnodeOwner('0x0', sha3('eth'), ethregistrar.address); - - resolver = await TestResolver.deployed(); - - registrar = await EthRegistrarSubdomainRegistrar.new(ens.address); - }); - - it('should set up a domain', async function () { - await ethregistrar.register(sha3('test'), accounts[0], 86400); - await ethregistrar.approve(registrar.address, sha3('test')); - - tx = await registrar.configureDomain('test', '10000000000000000', 100000, {from: accounts[0]}); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'DomainConfigured'); - assert.equal(tx.logs[0].args.label, sha3('test')); - - var domainInfo = await registrar.query(sha3('test'), ''); - assert.equal(domainInfo[0], 'test'); - assert.equal(domainInfo[1], '10000000000000000'); - assert.equal(domainInfo[2].toNumber(), 0); - assert.equal(domainInfo[3].toNumber(), 100000); - - assert.equal(await ens.owner(namehash.hash('test.eth')), registrar.address); - }); - - it("should fail to register a subdomain if it hasn't been transferred", async function () { - try { - await registrar.register(sha3('foo'), 'test', accounts[0], accounts[0], resolver.address, {value: '10000000000000000'}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should register subdomains", async function () { - var ownerBalanceBefore = (await web3.eth.getBalance(accounts[0])); - var referrerBalanceBefore = (await web3.eth.getBalance(accounts[2])); - - var tx = await registrar.register(sha3('test'), 'foo', accounts[1], accounts[2], resolver.address, { - from: accounts[1], - value: '10000000000000000' - }); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'NewRegistration'); - assert.equal(tx.logs[0].args.label, sha3('test')); - assert.equal(tx.logs[0].args.subdomain, 'foo'); - assert.equal(tx.logs[0].args.owner, accounts[1]); - assert.equal(tx.logs[0].args.price, '10000000000000000'); - assert.equal(tx.logs[0].args.referrer, accounts[2]); - - // Check owner and referrer get their fees - assert.equal((await web3.eth.getBalance(accounts[0])) - ownerBalanceBefore, 9e15); - assert.equal((await web3.eth.getBalance(accounts[2])) - referrerBalanceBefore, 1e15); - - // Check the new owner gets their domain - assert.equal(await ens.owner(namehash.hash('foo.test.eth')), accounts[1]); - assert.equal(await ens.resolver(namehash.hash('foo.test.eth')), resolver.address); - assert.equal(await resolver.addr(namehash.hash('foo.test.eth')), accounts[1]); - }); - - it("should not permit duplicate registrations", async function () { - try { - await registrar.register(sha3('test'), 'foo', accounts[0], accounts[0], resolver.address, {value: '10000000000000000'}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should not allow non-owners to configure domains", async function () { - try { - await registrar.configureDomain("toast", '1000000000000000000', 0); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should not allow a non-owner to unlist a valid domain", async function () { - try { - await registrar.unlistDomain('test', {from: accounts[1]}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should allow an owner to unlist a domain", async function () { - var tx = await registrar.unlistDomain('test'); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].args.label, sha3('test')); - }); - - it("should not allow subdomain registrations for an unlisted domain", async function () { - try { - await registrar.register(sha3('test'), 'bar', accounts[0], accounts[0], resolver.address, {value: '10000000000000000'}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should allow an owner to relist a domain", async function () { - tx = await registrar.configureDomain('test', '10000000000000000', 100000); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'DomainConfigured'); - assert.equal(tx.logs[0].args.label, sha3('test')); - - var domainInfo = await registrar.query(sha3('test'), ''); - assert.equal(domainInfo[0], 'test'); - assert.equal(domainInfo[1], '10000000000000000'); - assert.equal(domainInfo[2].toNumber(), 0); - assert.equal(domainInfo[3].toNumber(), 100000); - }); - - it("should allow migration if emergency stopped", async function () { - await ethregistrar.register(sha3('migration'), accounts[1], 86400); - await ethregistrar.approve(registrar.address, sha3('migration'), {from: accounts[1]}); - await registrar.configureDomain("migration", '1000000000000000000', 0, {from: accounts[1]}); - - let newRegistrar = await EthRegistrarSubdomainRegistrar.new(ens.address); - - await registrar.stop(); - await registrar.setMigrationAddress(newRegistrar.address); - - try { - // Don't allow anyone else to migrate the name. - await registrar.migrate("migration"); - assert.fail('Expected error not encountered'); - } catch (error) { - } - - await registrar.migrate("migration", {from: accounts[1]}); - assert.equal(await ens.owner(namehash.hash('migration.eth')), newRegistrar.address); - }); -}); diff --git a/test/TestSubdomainMigrationRegistrar.js b/test/TestSubdomainMigrationRegistrar.js deleted file mode 100644 index a29eaf1..0000000 --- a/test/TestSubdomainMigrationRegistrar.js +++ /dev/null @@ -1,96 +0,0 @@ -const ENS = artifacts.require("ENSRegistry"); -const SubdomainRegistrar = artifacts.require("SubdomainRegistrar"); -const EthRegistrarSubdomainRegistrar = artifacts.require("EthRegistrarSubdomainRegistrar"); -const SubdomainMigrationRegistrar = artifacts.require("SubdomainMigrationRegistrar"); -const EthRegistrar = artifacts.require("OldBaseRegistrarImplementation"); -const HashRegistrar = artifacts.require("HashRegistrar"); -const TestResolver = artifacts.require("TestResolver"); - -const utils = require('./helpers/Utils'); - -var namehash = require('eth-ens-namehash'); -const sha3 = require('web3-utils').sha3; -const { evm } = require('@ensdomains/test-utils'); - -const DAYS = 24 * 60 * 60; - -contract('SubdomainMigrationRegistrar', function (accounts) { - var ens = null; - var dhr = null; - var oldRegistrar = null; - var resolver = null; - var ethregistrar = null; - var finalRegistrar = null; - - before(async function () { - oldRegistrar = await SubdomainRegistrar.deployed(); - ens = await ENS.deployed(); - dhr = await HashRegistrar.deployed(); - resolver = await TestResolver.deployed(); - - ethregistrar = await EthRegistrar.new( - ens.address, - dhr.address, - namehash.hash('eth'), - Math.floor(Date.now() / 1000) * 2 - ); - }); - - it('should migrate domain', async function () { - await utils.registerOldNames(["yolo"], accounts[0], dhr, ens); - - await evm.advanceTime(28 * DAYS + 1); - - await dhr.transfer(sha3('yolo'), oldRegistrar.address); - - tx = await oldRegistrar.configureDomain("yolo", '10000000000000000', 100000, {from: accounts[0]}); - let domainInfo = await oldRegistrar.query(sha3('yolo'), ''); - assert.equal(domainInfo[0], 'yolo'); - assert.equal(domainInfo[1], '10000000000000000'); - assert.equal(domainInfo[2].toNumber(), 0); - assert.equal(domainInfo[3].toNumber(), 100000); - - await ens.setSubnodeOwner('0x0', sha3('eth'), ethregistrar.address); - - finalRegistrar = await EthRegistrarSubdomainRegistrar.new(ens.address); - - let migration = await SubdomainMigrationRegistrar.new( - oldRegistrar.address, - finalRegistrar.address, - dhr.address, - ethregistrar.address - ); - - await oldRegistrar.stop(); - await oldRegistrar.setMigrationAddress(migration.address); - - await oldRegistrar.migrate("yolo"); - - domainInfo = await finalRegistrar.query(sha3('yolo'), ''); - assert.equal(domainInfo[0], 'yolo'); - assert.equal(domainInfo[1], '10000000000000000'); - assert.equal(domainInfo[2].toNumber(), 0); - assert.equal(domainInfo[3].toNumber(), 100000); - - assert.equal(await ens.owner(namehash.hash('yolo.eth')), finalRegistrar.address); - }); - - it("should register subdomains after migration", async function () { - var tx = await finalRegistrar.register(sha3('yolo'), 'foo', accounts[1], accounts[2], resolver.address, { - from: accounts[1], - value: '10000000000000000' - }); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'NewRegistration'); - assert.equal(tx.logs[0].args.label, sha3('yolo')); - assert.equal(tx.logs[0].args.subdomain, 'foo'); - assert.equal(tx.logs[0].args.owner, accounts[1]); - assert.equal(tx.logs[0].args.price, '10000000000000000'); - assert.equal(tx.logs[0].args.referrer, accounts[2]); - - // Check the new owner gets their domain - assert.equal(await ens.owner(namehash.hash('foo.yolo.eth')), accounts[1]); - assert.equal(await ens.resolver(namehash.hash('foo.yolo.eth')), resolver.address); - assert.equal(await resolver.addr(namehash.hash('foo.yolo.eth')), accounts[1]); - }); -}); diff --git a/test/TestSubdomainRegistrar.js b/test/TestSubdomainRegistrar.js deleted file mode 100644 index a079db6..0000000 --- a/test/TestSubdomainRegistrar.js +++ /dev/null @@ -1,164 +0,0 @@ -const ENS = artifacts.require("ENSRegistry"); -const SubdomainRegistrar = artifacts.require("SubdomainRegistrar"); -const HashRegistrar = artifacts.require("HashRegistrar"); -const TestResolver = artifacts.require("TestResolver"); - -const utils = require('./helpers/Utils'); - -var namehash = require('eth-ens-namehash'); -const sha3 = require('web3-utils').sha3; - -contract('SubdomainRegistrar', function (accounts) { - var ens = null; - var dhr = null; - var registrar = null; - var resolver = null; - - before(async function () { - registrar = await SubdomainRegistrar.deployed(); - ens = await ENS.deployed(); - dhr = await HashRegistrar.deployed(); - resolver = await TestResolver.deployed(); - await ens.setSubnodeOwner('0x0', sha3('eth'), dhr.address); - }); - - it('should set up a domain', async function () { - await utils.registerOldNames(['test'], accounts[0], dhr, ens); - - await dhr.transfer(sha3('test'), registrar.address); - - tx = await registrar.configureDomain('test', '10000000000000000', 100000, {from: accounts[0]}); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'DomainConfigured'); - assert.equal(tx.logs[0].args.label, sha3('test')); - - var domainInfo = await registrar.query(sha3('test'), ''); - assert.equal(domainInfo[0], 'test'); - assert.equal(domainInfo[1], '10000000000000000'); - assert.equal(domainInfo[2].toNumber(), 0); - assert.equal(domainInfo[3].toNumber(), 100000); - }); - - it("should fail to register a subdomain if it hasn't been transferred", async function () { - try { - await registrar.register(sha3('foo'), 'test', accounts[0], accounts[0], resolver.address, {value: '10000000000000000'}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should register subdomains", async function () { - var ownerBalanceBefore = (await web3.eth.getBalance(accounts[0])); - var referrerBalanceBefore = (await web3.eth.getBalance(accounts[2])); - - var tx = await registrar.register(sha3('test'), 'foo', accounts[1], accounts[2], resolver.address, { - from: accounts[1], - value: '10000000000000000' - }); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'NewRegistration'); - assert.equal(tx.logs[0].args.label, sha3('test')); - assert.equal(tx.logs[0].args.subdomain, 'foo'); - assert.equal(tx.logs[0].args.owner, accounts[1]); - assert.equal(tx.logs[0].args.price, '10000000000000000'); - assert.equal(tx.logs[0].args.referrer, accounts[2]); - - // Check owner and referrer get their fees - assert.equal((await web3.eth.getBalance(accounts[0])) - ownerBalanceBefore, 9e15); - assert.equal((await web3.eth.getBalance(accounts[2])) - referrerBalanceBefore, 1e15); - - // Check the new owner gets their domain - assert.equal(await ens.owner(namehash.hash('foo.test.eth')), accounts[1]); - assert.equal(await ens.resolver(namehash.hash('foo.test.eth')), resolver.address); - assert.equal(await resolver.addr(namehash.hash('foo.test.eth')), accounts[1]); - }); - - it("should not permit duplicate registrations", async function () { - try { - await registrar.register(sha3('test'), 'foo', accounts[0], accounts[0], resolver.address, {value: '10000000000000000'}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should not allow non-owners to configure domains", async function () { - try { - await registrar.configureDomain("toast", '1000000000000000000', 0); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should not allow a non-owner to unlist a valid domain", async function () { - try { - await registrar.unlistDomain('test', {from: accounts[1]}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should allow an owner to unlist a domain", async function () { - var tx = await registrar.unlistDomain('test'); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].args.label, sha3('test')); - }); - - it("should not allow subdomain registrations for an unlisted domain", async function () { - try { - await registrar.register(sha3('test'), 'bar', accounts[0], accounts[0], resolver.address, {value: '10000000000000000'}); - assert.fail('Expected error not encountered'); - } catch (error) { - } - }); - - it("should allow an owner to relist a domain", async function () { - tx = await registrar.configureDomain('test', '10000000000000000', 100000); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'DomainConfigured'); - assert.equal(tx.logs[0].args.label, sha3('test')); - - var domainInfo = await registrar.query(sha3('test'), ''); - assert.equal(domainInfo[0], 'test'); - assert.equal(domainInfo[1], '10000000000000000'); - assert.equal(domainInfo[2].toNumber(), 0); - assert.equal(domainInfo[3].toNumber(), 100000); - }); - - it("should allow an owner to set a transfer address", async function () { - tx = await registrar.setTransferAddress('test', accounts[2], {from: accounts[0]}); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'TransferAddressSet'); - assert.equal(tx.logs[0].args.addr, accounts[2]); - }); - - it("should allow an owner to upgrade domain", async function () { - await ens.setSubnodeOwner('0x0', sha3('eth'), accounts[1]); - let tx = await registrar.upgrade('test', {from: accounts[0]}); - assert.equal(tx.logs.length, 1); - assert.equal(tx.logs[0].event, 'DomainTransferred'); - assert.equal(tx.logs[0].args.name, 'test'); - await ens.setSubnodeOwner('0x0', sha3('eth'), dhr.address); - }); - - it("should allow migration if emergency stopped", async function () { - await utils.registerOldNames(['migration'], accounts[1], dhr, ens); - - await dhr.transfer(sha3('migration'), registrar.address, {from: accounts[1]}); - await registrar.configureDomain("migration", '1000000000000000000', 0, {from: accounts[1]}); - - let newRegistrar = await SubdomainRegistrar.new(ens.address); - - await registrar.stop(); - await registrar.setMigrationAddress(newRegistrar.address); - - try { - // Don't allow anyone else to migrate the name. - await registrar.migrate("migration"); - assert.fail('Expected error not encountered'); - } catch (error) { - } - - await registrar.migrate("migration", {from: accounts[1]}); - assert.equal(await ens.owner(namehash.hash('migration.eth')), newRegistrar.address); - }); -}); diff --git a/test/helpers/Utils.js b/test/helpers/Utils.js deleted file mode 100644 index 85b0245..0000000 --- a/test/helpers/Utils.js +++ /dev/null @@ -1,28 +0,0 @@ -var namehash = require('eth-ens-namehash'); -const sha3 = require('web3-utils').sha3; -var Promise = require('bluebird'); -const { evm } = require('@ensdomains/test-utils'); - -const toBN = require('web3-utils').toBN; - -const DAYS = 24 * 60 * 60; -const SALT = sha3('foo'); - -async function registerOldNames(names, account, dhr, ens) { - var hashes = names.map(sha3); - var value = toBN(10000000000000000); - var bidHashes = await Promise.map(hashes, (hash) => dhr.shaBid(hash, account, value, SALT)); - await dhr.startAuctions(hashes); - await Promise.map(bidHashes, (h) => dhr.newBid(h, {value: value, from: account})); - await evm.advanceTime(3 * DAYS + 1); - await Promise.map(hashes, (hash) => dhr.unsealBid(hash, value, SALT, {from: account})); - await evm.advanceTime(2 * DAYS + 1); - await Promise.map(hashes, (hash) => dhr.finalizeAuction(hash, {from: account})); - for(var name of names) { - assert.equal(await ens.owner(namehash.hash(name + '.eth')), account); - } -} - -module.exports = { - registerOldNames: registerOldNames -}; \ No newline at end of file diff --git a/truffle.js b/truffle.js deleted file mode 100644 index 10aca88..0000000 --- a/truffle.js +++ /dev/null @@ -1,11 +0,0 @@ -require('babel-register'); - -module.exports = { -/* networks: { - test: { - host: "127.0.0.1", - port: 9545, - network_id: "*" - } - }*/ -}; diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 9bc9ed7..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,72 +0,0 @@ -const path = require('path'); -const webpack = require('webpack'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); -const HtmlPlugin = require('html-webpack-plugin'); - -module.exports = { - entry: ['bootstrap-loader', './app/js/app.js'], - output: { - path: path.resolve(__dirname, 'build'), - filename: 'app.js' - }, - plugins: [ - new HtmlPlugin({ - template: 'app/index.html', - filename: 'index.html', - minify: { - collapseWhitespace: true - }, - hash: true, - inject: 'head' - }), - // Copy our app's index.html to the build folder. - new CopyWebpackPlugin([ - { from: './app/index.html', to: "index.html" }, - { from: './app/img', to: 'img'}, - ]), - new webpack.ProvidePlugin({ - $: "jquery", - jQuery: "jquery", - "window.jQuery": "jquery", - Popper: "popper.js", - Tether: "tether", - "window.Tether": "tether", - Alert: "exports-loader?Alert!bootstrap/js/dist/alert", - Button: "exports-loader?Button!bootstrap/js/dist/button", - Carousel: "exports-loader?Carousel!bootstrap/js/dist/carousel", - Collapse: "exports-loader?Collapse!bootstrap/js/dist/collapse", - Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown", - Modal: "exports-loader?Modal!bootstrap/js/dist/modal", - Popover: "exports-loader?Popover!bootstrap/js/dist/popover", - Scrollspy: "exports-loader?Scrollspy!bootstrap/js/dist/scrollspy", - Tab: "exports-loader?Tab!bootstrap/js/dist/tab", - Tooltip: "exports-loader?Tooltip!bootstrap/js/dist/tooltip", - Util: "exports-loader?Util!bootstrap/js/dist/util", - }) - ], - module: { - rules: [ - { - test: /\.css$/, - use: [ 'style-loader', 'css-loader' ] - }, - { - test: /\.(eot|svg|ttf|woff|woff2|otf)$/, - use: 'file-loader?name=public/fonts/[name].[ext]' - }, - { test: /\.png$/, use: 'file-loader' } - ], - loaders: [ - { test: /\.json$/, use: 'json-loader' }, - { - test: /\.js$/, - exclude: /(node_modules|bower_components)/, - loader: 'babel-loader', - query: { - presets: ['es2015'], - plugins: ['transform-runtime'] - } - } - ] - } -}